본문 바로가기

반응형

CS

(22)
운영체제(6) - CPU 스케줄링 CPU bound job CPU를 길게 쓰는 프로그램들 I / O bound job 입출력이 많은 작업들, 키보드 입력같은거 여러 종류의 JOB( = process)이 섞여 있기 때문에 CPU 스케줄링이 필요하다 CPU Scheduler Ready 상태의 프로세스 중에서 이번에 CPU를 줄 프로세스를 고른다. Dispactcher CPU의 제어권을 CPU Scheduler에 의해 선택된 프로세스에게 넘긴다 이 과정을 context switch(문맥교환)라고 한다 CPU스케줄링이 필요할 때 Running - > Blocked ( 예 : I / O 요청을 위한 시스템 콜) - > 자진 반납 Running - > Ready ( 예 : 할당시간만료로 timer interrupt) - > 강제 Blocked - ..
운영체제(5) - 프로세스의 생성과 관련 시스템콜 프로세스 생성 부모 프로세스가 자식프로세스를 생성, fork() 시스템콜을 통하여.. 프로세스의 트리 ( 계층 구조 ) 형성 프로세스는 자원을 필요로 함 운영체제로부터 받는다 부모와 공유 자원의 공유 부모와 자식이 모든 자원을 공유하는 모델 일부를 공유하는 모델 전혀 공유하지 않는 모델 새로운 프로세스 생성시 수행 ( Execution) 상황 2가지 부모와 자식은 공존하며 수행되는 모델 자식이 종료( terminate)될 때까지 부모가 기다리는( wait ) 모델 새로운 프로세스 생성시 주소 공간( Address space) 상황 2가지 자식은 부모의공간을 복사함 자식은 그 공간에 새로운 프로그램을 올림 프로세스 종료 프로세스가 마지막 명령을 수행한 후 운영체제에게 이를 알려준다( exit ) - > 자..
운영체제(4) - 스케줄러와 Thread 스케줄러 어떤 프로세스에게 자원을 할당할지를 결정하는 운영체제의 모듈을 지칭한다. Long - term Scheduler ( Job Scheduler) 시작 프로세스 중 어떤 것들을 ready queue로 보낼지 결정 프로세스에 memory를 주는 문제 Short - term Scheduler ( CPU Scheduler) 어떤 프로세스를 다음번에 running 시킬지 결정 프로세스에 CPU를 주는 문제 충분히 빨라야 함( millisecond 단위) Medium - term Scheduler ( Swapper) 여유공간 마련을 위해 프로세스를 통째로 메모리에서 디스크로 쫓아냄 프로세스에게서 Memory를 뺏는 문제, Suspended( Stopped) 라는 프로세스의 상태를 일으킬 수 있다. 외부적인 ..
운영체제(3) - 프로세스 프로그램의 실행 커널 주소 공간의 내용 함수(function) 사용자 정의 함수 : 자신의 프로그램에서 정의한 함수 라이브러리 함수 : 자신의 프로그램에서 정의하지 않고 갖다 쓴 함수, 자신의 프로그램의 실행 파일에 포함되어 있다 커널 함수 : 운영체제 프로그램의 함수, 커널 함수의 호출 = 시스템 콜 Process is a program in execution 프로세스는 실행중인 프로그램 프로세스 문맥이란? 프로세스가 현재 어떤 상태에서 수행되고 있는지 정확히 규명하기 위해 필요한 정보 CPU 수행상태를 나타내는 하드웨어 문맥 Program counter 각종 register 프로세스의 주소 공간 code stack data 프로세스 관련 커널 자료 구조 PCB (Process Control Block..
운영체제(2)- 시스템 구조 Mode bit mode bit을 통해 하드웨어적으로 두 가지 모드의 operation 지원 0(모니터 모드) : OS 코드 수행 1(사용자 모드) : 사용자 프로그램 수행 ※ 보안을 해칠 수 있는 중요한 명령어는 모니터 모드에서만 수행 가능한 특권명령으로 규정 ※ 모니터모드= 커널 모드, 시스템 모드 TIMER 정해진 시간이 흐른 뒤 운영체제에게 제어권이 넘어가도록 인터럽트를 발생시킴 CPU를 특정 프로그램이 독점하는 것으로부터 보호 타이머 값이 0이 되면 타이머 인터럽트 발생 ※ 현대의 운영체제는 인터럽트에 의해 구동됨 시스템 콜 사용자 프로그램이 운영체제의 서비스를 받기 위해 커널 함수를 호출 하는 것 Interrupt Interrupt(하드웨어 인터럽트) : 하드웨어가 발생시킨 인터럽트 Trap(..
운영체제(1)- 운영체제란 무엇인가? 작은의미의 운영체제(커널) 운영체제의 핵심 부분으로 메모리에 상주하는 부분 넓은의미의 운영체제 커널뿐 아니라 각종 주변 시스템 유틸리티를 포함한 개념 운영체제의 목적 자원을 효율적으로 관리 프로세서, 기억장치, 입출력 장치 등의 효율적 관리 사용자간의 형평성 있는 자원 분배 주어진 자원으로 최대한의 성능을 내도록 사용자 및 운영체제 자신의 보호 프로세스, 파일, 메시지 등을 관리 운영체제의 분류 동시 작업 가능 여부 단일 작업(single tasking) 한 번에 하나의 작업만 처리 옛날 것들... 예) MS-DOS 다중 작업(multi tasking) 동시에 두 개 이상의 작업 처리 예시) UNIX, MS Windows 사용자의 수 단일 사용자(single user) 예시) MS-DOS, MS Wind..

반응형