본문 바로가기

CS/운영체제5

CPU 스케줄링 CPU and I/O Bursts in Program Execution 시스템은 I/O Burst, CPU Burst가 빈번하게 일어난다. 이는 프로그램의 종류에 따라서 상이하다. 특히 사람이 관여하는 프로그램일수록 번갈아 가면서 계속해서 일어난다. CPU-burst Time 분포 여러 종류의 job(=process)이 섞여 있기 때문에 CPU 스케줄링이 필요하다 Interactive job에게 적절한 response 제공 요망 CPU와 I/O 장치 등 시스템 자원을 골고루 효율적으로 사용 프로세스의 특성 분류 I/O-bound Process CPU를 잡고 계산하는 시간보다 I/O에 많은 시간이 필요한 job many short CPU bursts CPU-bound Process 계산 위주의 job fe.. 2022. 12. 4.
프로세스 매니저 프로세스 생성(Process Creation) Copy-on-write(COW) 부모프로세스(Parent process)가 자식 프로세스(children Process)생성 프로세스의 트리(계층구조)형성 프로세스는 자원을 필요로 함 운영체제로부터 받는다 부모와 공유한다 자원의 공유 부모와 자식이 모든 자원을 공유하는 모델 일부를 공유하는 모델 전혀 공유하지 않는 모델 수행(execution) 부모와 자식은 공존하며 수행되는 모델 자식이 종료될때까지 부모가 기다리는 모델 주소 공간(Address space) 자식은 부모의 공간을 복사함(binary and OS data) 자식은 그 공간에 새로운 프로그램을 올림 유닉스의 예 fork() 시스템 콜이 새로운 프로세스를 생성 부모를 그대로 복사(OS data .. 2022. 12. 4.
프로세스 프로세스란? 프로세스의 문맥(context) CPU 수행 상태를 나타내는 하드웨어 문맥 Program Counter 각종 register 프로세스의 주소 공간 code, date, stack 프로세스 관련 커널 자료 구조 PCB(Process Control Block) Kernel stack 프로세스의 상태(Process state) 프로세스는 상태가 변경되며 수행된다 Running CPU를 잡고 instruction을 수행중인 상태 Ready CPU를 기다리는 상태(메모리 등 다른 조건을 모두 만족하고) Blocked(wait, sleep) CPU를 주어도 당장 instruction을 수행할 수 없는 상태 Process 자신이 요천한 event가 즉시 만족되지 않아 이를 기다리는 상태 예) 디스크에서 .. 2022. 12. 2.
시스템 구조 & 프로그램 실행 Mode bit 사용자 프로그램의 잘못된 수행으로 다른 프로그램 및 운영체제에 피해가 가지 않도록 하기 위한 보호 장치 1: 사용자모드 : 사용자 프로그램 수행 0: 모니터 모드(커널 모드, 시스템 모드): OS 코드 수행 보안을 해칠 수 있는 중요한 명령어는 모니터 모드에서만 수행가능한 특권명령으로 규정 interrupt나 exception 발생 시 하드웨어가 mode bit을 0으로 바꿈 사용자 프로그램에게 CPU를 넘기기 전에 mode bit을 1로 세팅 Timer 정해진 시간이 흐른 뒤 운영체제에게 제어권이 넘어가도록 인터럽트를 발생시킴 매 클럭 틱 때마다 1씩 감소 타이머가 0이되면 타이머인터럽트 발생 CPU를 특정프로그램이 독점하는것을 방지 time sharing을 구현하기 위해 널리 이용됨 .. 2022. 11. 29.