Thread [ Thread ] : Process 내에서 실행되는 작은 실행 단위. : 공유할 수 있는 메모리와 자원을 공유. → Heap, Data, Code는 공유하며, Stack과 Register는 별도. : 자원을 공유하므로 IPC가 매우 간단해짐. : fork 대신 pthread_create를 이용. → pthread_create(&tid, &attr, argv[i]) : 각 Thread는 Concurrent하게 수행됨. : Process 간 Context Switch에 비해 Context Switch에 대한 Overhead가 매우 적음. : 다른 작업을 처리하는 중에도 작업 실행이 가능하므로 응답성(Responsiveness)이 향상된다. : Multi-Processor Architecture..
Process [ Process Elements ] · Process Address Space : 프로세스는 실행되고 있는 프로그램이므로, Stack과 Heap 등의 공간이 필요. · PCB (Process Control Block) : 프로세스의 Context를 저장하기 위한 자료 구조. · Process State : 프로세스의 상태. Scheduler에 의해 관리됨. - new : 프로세스 초기 생성 상태. - running : 실행 중인 Process. 각 코어에 최대 하나일 수 밖에 없음. - waiting : running state로 갈 수 없는, 모종의 이유로 인해 중단된 상태. ex) I/O, Sleep System Call, Event Wait (Signal) 등 - ready : 실행..
System Structure [ Kernel Mode and System Call ] · Kernel Mode : 운영 체제 커널이 실행되는 모드로, 모든 시스템 리소스와 접근에 대한 권한을 갖게 된다. : Kernel Mode는 Hardware Interrupt와 System Call을 통해 접근할 수 있다. · System Call : OS의 Kernel이 제공하는 서비스에 대해 User Mode에서 Kernel에 접근하기 위한 인터페이스. : 일반적으로 라이브러리로 호출 가능하다. : 보통 POSIX(Portable Operating System Interface) API를 이용한다. → 이는 운영 체제마다 다른 Kernel의 명령어를 일괄되도록 하여 이식성을 향상시킨다. → Table 형태로 되..