CS/OS
자식 프로세스를 생성하고자 할 때 fork 함수를 사용하면 된다. 복사에 의한 생성 원본 프로세스(부모 프로세스)에서 fork()를 호출하면 복사본 프로세스(자식 프로세스)가 생긴다. fork함수에 의해 생성된 자식 프로세스는 부모 프로세스의 메모리를 그대로 복사해 가지게 된다. fork 함수 호출 이후 코드부터 각자의 메모리를 사용하여 실행된다. fork 함수가 실행 된 직후 자식 프로세스와 부모 프로세스와 동일한 주소 공간의 복사 부모 PID는 43889이고 자식 PID는 43895이다. 부모와 자식의 분리 #include #include #include int main() { pid_t pid; int x; x = 0; pid = fork(); if(pid > 0) { // 부모 코드 x = 1; ..
프로그램이란 (실행되기 전)명령어, 코드 및 정적인 데이터의 묶음 프로세스란 실행 중인 프로그램 하드 디스크에 있는 프로그램이 프로세스가 되면서 메모리에 적재 된다. 운영체제로부터 시스템 자원을 할당 받는 작업의 단위 스레드 단위 작업을 지원하기 위한 자원 할당의 단위 → 프로세스가 동작 중이라는 것은 한 프로세스에 있는 스레드가 실행 중이라는 것 프로세스 생성 시 PCB블록이 생성되어 프로세스가 관리된다. 프로세스 메모리 영역 Stack - 매개변수, 지역 변수 등 임시적인 자료 Heap - 동적으로 할당되는 메모리 Data - 전역 변수 code - 프로그램의 코드 PCB 각 프로세스는 운영체제에서 PCB(Process Control Block)으로 표현됨 프로세스를 제어하기 위한 정보를 모아둠. 포..