반응형

 

1강. 운영체제 소개

 

- 운영체제: 컴퓨터 시스템의 자원을 관리하고 컴퓨터 프로그램이 동작하기 위한 서비스를 제공하는 프로그램들의 모습으로 대표적인 시스템 소프트웨어

 

- 커널 모드: 하드웨어를 직접 제어할 수 있는 CPU의 명령어를 사용할 수 있는 모드

- 사용자 모드: 하드웨어를 직접 제어할 수 있는 CPU의 명령어를 사용할 수 없는 모드

 

응용 프로그램은 사용자 모드에서 동작함.

-> 하드웨어에 대한 제어가 필요한 경우 시스템 호출(시스템 콜)을 통해 필요한 서비스를 운영체제에 요청해야 함

 

운영체제의 주요 구성요소: 프로세스 관리자, 메모리 관리자, 장치관리자, 파일 관리자

 

운영체제의 대표적인 유형: 일괄처리 운영체제, 시분할 운영체제, 실시간 운영체제, 분산 운영체제

 

 


 

2강. 프로세스와 쓰레드

 

- 프로세스: 실행 중인 프로그램을 의미. CPU, 메모리, 파일, 입출력장치 등 실행에 필요한 자원이 할당됨.

- 프로세스 제어 블록(PCB): 프로세스를 명시해 주는 다양한 내용을 포함하고 있음

=> PCB는 프로세스 메타 정보를 갖고 있다고 볼 수 있는데.. 프로세스마다 PCB가 생성됨

 

프로세스는 생성, 준비, 실행, 대기, 종료의 다섯 상태 중 하나로 존재하며, CPU의 스케줄링, 입출력 대기 등에 따라 준비, 실행, 대기 등으로 상태가 변화되며 동작한다

 

쓰레드는 프로세스에서 실행의 개념만 분리한 것으로 디스패칭의 단위이다.

 

하나의 프로세스 내에는 하나 이상의 쓰레드가 있을 수 있어, 다중 쓰레드를 생성하여 프로세스 내에서의 다중처리를 할 수 있다.

 

 

 


 

3강. 프로세스 스케줄링

 

프로세스의 스케줄링을 위해 상위단계, 하위단계중간단계 스케줄링이 사용됨.

 

- 선점 스케줄링 정책: 실행 중인 프로세스에 인터럽트를 걸고 다른 프로세스에 CPU를 할당할 수 있는 스케줄링 방식

- 비선점 스케줄링 정책: 실행 중인 프로세스를 바로 준비상태로 바꿀  수 없는 스케줄링 방식이다.

(I/O로 인하여 실행 -> 대기  는 가능.)

 

 

- FCFS 스케줄링: 준비 큐에 도착한 순서에 따라 디스패치하는 비선점 방식의 스케줄링 알고리즘.

- SJF 스케줄링: 준비 큐에서 기다리는 프로세스 중 실행시간이 가장 짧다고 예상되는 것을 먼저 디스패치하는 비선점 방식의 스케줄링 알고리즘

- SRT 스케줄링: 준비 큐에서 기다리는 프로세스 중 남은 실행시간이 가장 짧다고 예상되는 것을 먼저 디스패치하는 선점 방식의 알고리즘

- RR 스케줄링: 프로세스가 도착한 순서대로 프로세스를 디스패치하지만 정해진 시간 할당량에 의해 실행을 제한하는 선점 방식의 스케줄링 알고리즘.

- HRN 스케줄링: 준비 큐에서 기다리는 프로세스 중 응답비율이 가장 큰 것을 먼저 디스패치하여 실행하는 비선점 방식의 스케줄링 알고리즘

- HRN 스케줄링의 응답비율: 예상실행시간이 짧을수록, 그리고 대기시간이 길수록 커짐

(응답비율은 예상 실행 시간 뿐만 아니라, 준비 큐에서 오래 기다린 프로세스를 우대해줌)

- 다단계 피드백 큐 스케줄링: 입출력 위주의 프로세스가 연산 위주의 프로세스보다 우선권을 갖도록 하는 선점 방식의 알고리즘

 

스케줄링 알고리즘에 실행시간이 짧다고 예상될 때 먼저 디스패치하는 알고리즘이 있는데, 현실적으로는 실행시간을 알기가 어렵다

 


 

4강. 병행 프로세스 I

 

- 병행성: 여러 개의 프로세스 또는 쓰레드가 동시에 수행되는 시스템의 특성을 의미

- 병행 프로세스 : 동시에 수행되는 여러 개의 프로세스 또는 쓰레드

 

- 병행 프로세스는 프로세스 간의 관계에 따라 독립 프로세스 또는 협력 프로세스로 구분됨.

 

- 독립 프로세스: 수행 중인 다른 프로세스에 영향을 주지도 받지도 않음. 데이터 및 상태를 다른 프로세스와 공유하지 않음

- 협력 프로세스: 수행 중인 다른 프로세스와 영향을 주고받음. 데이터 및 상태를 다른 프로세스와 공유

- 협력 프로세스는 병행성과 관련하여 상호배제, 동기화, 통신과 관련한 다양한 문제가 발생할 수 있음.

 

 

- 임계영역: 2개 이상의 프로세스가 동시에 사용하면 안 되는 공유자원을 액세스하는 프로그램 코드 영역을 의미

- 상호배제: 2개 이상의 프로세스가 동시에 임계영역을 수행하지 못하도록 하는 것

- 동기화: 2개 이상의 프로세스에 대한 처리순서를 결정하는 것

- 세마포어: 상호배제와 동기화 문제를 해결하기 위한 정수형 공용변수로, 2개의 기본연산 P와 V에 의해서만 사용될 수 있음

 

 

 


 

강의: https://ucampus.knou.ac.kr/ekp/user/course/initUCRCourse.sdo?pageIndex=1&recordCountPerPage=12&searchKeyWord=%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C&searchOrderCd=A&sbjtId=KNOU1978001&cntsId=KNOU1978&epTicket=LOG

 

U-KNOU캠퍼스

Open campus Along with advanced technology U-KNOU Campus provides same learning environment no matter what kinds of gadget students use for example PC, tablet PC and smart phone. Without restrictions on equipments students are able to solve exercise questi

ucampus.knou.ac.kr

 

반응형
복사했습니다!