본문 바로가기

CS59

[Chapter 3. 프로세스] 프로세스의 생성과 종료 본 정리는 운영체제(Operating System: Concepts) 9th edition과 22학년도 1학기 건국대학교 운영체제 수업을 바탕으로 하고 있습니다. 프로세스는 한 프로세스에 의해 새로 생성될 수 있으며, 생성된 프로세스는 자신에 의해서(수행을 마쳤을 경우) 또는 외부의 요청에 의해서 종료한다. 프로세스의 생성 프로세스는 다른 프로세스를 생성할 수 있고, 이렇게 생성하는 프로세스를 부모 프로세스, 생성된 새로운 프로세스를 자식 프로세스라고 한다. 부모 프로세스와 자식 프로세스는 1:N 관계를 가지기 때문에 위 그림과 같은 트리 구조를 형성한다. 각 프로세스는 프로세스 식별자로 보통 정수의 PID가 할당된다. * 원래 부팅 시작 시 가장 먼저 시작되는 프로세스인 init 프로세스가 PID 1을.. 2022. 8. 18.
[Chapter 3. 프로세스] 프로세스 상태와 Context Switching, PCB(Process Control Block) 본 정리는 운영체제(Operating System: Concepts) 9th edition과 22학년도 1학기 건국대학교 운영체제 수업을 바탕으로 하고 있습니다. 프로세스의 상태 1. 준비(ready) 준비 상태는 스케줄링에 의하여 언제든지 실행이 될 수 있는 상태이다. 준비 리스트 (ready list) 또는 준비 큐(ready queue)에서 CPU 스케줄러에 의해 스케줄링 되기를 기다린다. 준비 상태로 천이되어 오는 경우 (1) 프로세스 생성 후, 선정되어 CPU 할당을 대기 (2) 실행되던 프로세스에서 비자발적인 문맥교환이 일어났을 때. → CPU 의 독점 방지를 위해서 타임 슬라이스 소진 시 혹은 인터럽트 발생으로 커널이 CPU 를 회수하고 프로세스를 일시 중지시킨 상태 (3) 대기하고 있던 입.. 2022. 8. 17.
[OS] Call Stack Frame Call Stack Frame Call Stack Frame개념에서 우리가 함수가 return 된 후에 지역변수를 사용할 수 없는 이유를 어느 정도 알 수 있다. 메모리의 스택을 좀더 자세히 알아보자. Call Stack Stack의 구성 (1) 파라메터: 호출되는 함수의 인자에 assign 되는 값 (2) 지역변수: 호출되는 함수 내에서만 생성되는 변수 (3) return address: 호출되는 함수 종료 시 되돌아가 수행을 계 속해 가기 위하여 jump 해 가야 할 주소 (4) frame point(stack frame pointer): 스택 상의 프레임 시작 주소. 보통 EBP 레지스터에 저장된다. (5) Stack Pointer: 콜 스택의 최상위 메모리 주소. 보통 ESP 레지스터에 저장된다... 2022. 8. 16.
[Chapter 3. 프로세스] 프로세스와 문맥 본 정리는 운영체제(Operating System: Concepts) 9th edition과 22학년도 1학기 건국대학교 운영체제 수업을 바탕으로 하고 있습니다. 프로세스 (Process) 실행 중인 프로그램 시스템 콜을 통해 자원을 요구하는 주체 * 운영체제(시스템) 프로세스 : 운영체제가 필요에 의해 생성, 시스템 코드를 실행한다. * 사용자 프로세스 : 사용자 코드(응용 프로그램)를 실행한다. → 자원 경쟁 측면에서 둘은 동일하다. *프로그램 vs 프로세스 프로그램과 프로세스는 명백히 다른 개념이다. 프로그램은 명령어의 리스트를 내용으로 가진 저장장치에 저장된 단순 실행파일일 뿐이고, 프로세스는 해당 프로그램이 메인 메모리에 올라와서, 다음에 실행할 명령어를 지정하는 프로그램 카운터와 관련된 자원의.. 2022. 8. 16.