Legacy
-
SegmentationsLegacy/OS 2014. 12. 15. 01:20
Segmentation fault 메모리 관리 1) 세그멘테이션 : 메모리를 가변길이로 나누어 관리 2) 페이징 : 메모리를 고정크기로 나누어 관리 이렇게 2가지로 크게 나누어 볼수 있습니다. 둘다에 대한 상세한 설명은 피하기로 하고 주관심사인 segmentation fault에 대해서만 언급하겠습니다. 운영체제가 메모리를 관리할때 여러가지 작업을 수행해야 하며 특히, 메모리 보호를 하게 되어 있습니다. 메모리 보호란, 각각의 프로세스가 자신이 소유한 메모리에 대해서만 액세스하도록 하는것입니다. 즉, 다른 프로세스(심지어는 운영체제영역)의 영역에는 침범할 수 없다는 것이지요. 마치 파일시스템에서 자기 소유가 아닌 디렉터리나 파일에는 쓰기, 읽기등이 안되거나 하는 것같은 메커니즘이지요. A라는 프로그램이 ..
-
Fragmentation, Paging, SegmentationLegacy/OS 2014. 12. 15. 01:15
1. Fragmentation(단편화) - 주기억장치 상에서 사용되지 않고 낭비되는 부분적인 기억공간 기억장치 관리 기법은 단일분할기법,다중연속고정분할기법,다중연속가변분할기법이 있는데,다중연속고정분할기법은 기억장치를 서로 다른 고정 크기로 분할하여 다수의 프로그램이 처리되도록 이용하는 방법이다. 그래서 단편화가 발생하며, 단편화는 내부 단편화와 외부 단편화가 있다. 만약 크기가 25K인 공간에 크기가 20K인 작업을 할당하면 5K가 남는데, 이 때 남겨진 5K를 내부 단편화라고 한다. 또한 25K인 공간에 크기가 29K인 작업을 할당을 하게 되면 4K가 모자라게 되는데, 외부 단편화는 내부단편화와는 다르게 작업의 크기(29K)를 외부 단편화라고 한다. 그래서 외부 단편화는 어떤 프로그램을 할당할 수 있을..
-
0x03 입력과 출력 - 출력Legacy/C 2014. 12. 14. 04:27
오늘은 키보드를 통한 입력과 모니터를 통한 출력에 대해 배워보겠습니다. 데이터의 입력과 출력은 C 언어에서 제공한느 표준 라이브러리 함수의 일부인 입출력 함수를 이용해 코딩할 수 있습니다. 입력할 때는scanf 함수를, 출력할 때는 printf 함수를 많이 사용합니다. 여기서 라이브러리 함수란, 프로그램을 만들기위해 미리 정의되어있는 함수를 의미합니다. 만약 라이브러리 함수에 미리 정의되어있지 않다면 그 함수를 매번 작성해주어야 할 것입니다. 오늘 배울 입력과 출력에 사용되는 함수를 포함하고 있는 라이브러리 함수는 stdio.h 헤더파일에 포함되어 있습니다. 코딩시 입력했던 #include 가 바로 입출력을 위한 표준 라이브러리 함수를 불러오는 명령입니다. 여기서 stdio란 standard input/..
-
0x02 변수와 자료형Legacy/C 2014. 12. 14. 04:25
지난 시간에 배운 상수에 이어서 오늘은 변수에대해 배워보겠습니다. 변수(Variable)는 말 그대로 변할 수 있는 수를 의미합니다. 변하지 않는 일정한 수인 상수와 대비되는 수로서 주로 프로그램에서 처리한 자료나 처리한 결과를 기억하기 위해 사용됩니다. 변수는 기억 공간을 차지하며 그 기억 공간을 확보하는 행위(메모리 할당)를 변수 선언이라고 합니다. 변수를 읽어오는 방법에는 2가지가 있는데 하나는 주기억장치의 주소를 사용해 읽어들이는 방법과 다른 하나는 변수명(식별자)를 이용해 그것을 주소대신 사용해 읽어들이는 방법입니다. 주기억장치의 주소에 관한 내용은 뒤에 배울 포인터에서 설명하겠습니다. 변수명을 짓는데에는 몇가지 규칙이 있습니다.1. 영어 소문자와 대문자, 숫자 그리고 밑줄 문자(_)만 사용해 ..
-
-
0x01 상수Legacy/C 2014. 12. 14. 04:20
이 장부터가 직접적인 C에대한 설명입니다. C를 처음 접해보시는 분들은 아직 배우지 않았는데 나오는 것에 대해선 그냥 넘어가세요. 뒤에 천천히 설명해 드릴겁니다. 다음은 아주 기본적인 C 프로그램입니다.Colored By Color Scripter™123456789101112131415#include int main(){ int area, width, height; width = 3; height = 4; area = width * height; printf("면적 = %d \n", area); return 0;} Line 1. 전처리기 지시 영역으로 헤더파일을 추가하고 있습니다. 헤더파일이란 프로그램에 필요한 함수들을 미리 정의해둔 것인데, 위 프로그램에선 printf함수가 stdio.h 헤더파일에 미..
-
0x00 C강의시작&C언어란?Legacy/C 2014. 12. 14. 04:17
한빛미디어 『C프로그래밍 - 새내기를 위한 첫 C 언어 책』을 가지고 포스팅을 하겠음.공부하실분은 이 책을 사서 같이 보면서 하시면 좋을 것 같습니다.내용 정리는 제가 중요하다고 생각했던 것에 더 중점을 둬서 정리할 것입니다.책 쓰는 것처럼 완벽하게 쓰는게 아니므로 오타가 있을 수 있고 반말 존댓말 섞어씁니다.(심각한 오타는 댓글 달아주세요.)===================================================================이 장에는 C언어 프로그래밍에관한 직접적인 설명은 없지만 한 번쯤 읽어두는 것도 나쁘지 않을겁니다. C 언어는 1972년 벨 연구소의 데니스 리치(Dennis Ritchie)가 DEC사의 PDP-11 미니컴퓨터에서 작동하는 유닉스(UNIX) 운영체..
-
트로이 포트Legacy/Network2 2014. 12. 9. 03:37
port 2 - Death port 21 - Back Construction, Blade Runner, Doly Trojan, Fore, FTP trojan, Invisible FTP, Larva, MBT, Motiv, Net Administrator, Senna Spy FTP Server, WebEx, WinCrash port 23 - Tiny Telnet Server, Truva Atl port 25 - Aji, Antigen, Email Password Sender, Gip, Happy 99, I Love You, Kuang 2, Magic Horse, Moscow Email Trojan, Naebi, NewApt, ProMail trojan, Shtrilitz, Stealth, Tapiras, T..