Computers/(한빛) 컴퓨터개론

ch5. 운영체제

emzei 2010. 12. 28. 11:17

1. 부팅절차를 기술하여라.

- 컴퓨터에 전원이 들어오면 중앙처리장치가 초기화되고 ROM(Read Only Memory)에 저장된 바이오스(BIOS)라는 프로그램이 실행된다.

- 바이오스는 중앙처리장치, 주기억장치, 캐시, 키보드, 디스크 드라이브 등 하드웨어 장치의 상태를 검사한다. 만약 이상이 있으면 오류 메시지를 출력하고 동작을 멈춘다. 아무런 이상이 없으면 바이오스는 보조기억장치의 부트 섹터에 저장된 부팅 프로그램을 주기억장치로 이동시킨다.

- 부팅 프로그램은 보조기억장치의 운영체제를 주기억장치로 이동시키고, 운영체제의 첫번째 명령어가 실행되도록 분기한다.

- 그 이후로는 운영체제가 컴퓨터의 동작을 담당하게 된다.

->이러한 절차를 부팅(booting)이라고 한다.

 


2. 운영체제의 두 가지 기능은 무엇인가?

- 운영체제는 크게 두가지 기능을 수행하는데, 가상적 컴퓨터의 제공과 컴퓨터 시스템 자원의 관리다.

◆ 가상적 컴퓨터의 제공 : 사용자에게 복잡한 하드웨어가 아닌, 쉡게 이용할 수 있는 컴퓨터 환경 제공

◆ 컴퓨터 시스템 자원 관리 : 중앙처리장치, 주기억장치, 보조기억장치, 프로그램, 파일 등 다양한 자원 관리

 


3. 프로세스에 대해 설명하여라.

- 보조기억장치의 프로그램을 주기억장치의 적절한 위치로 올리는 일을 운영체제가 담당하는데, 이때 실행되기 위해 주기억장치에 들어간 프로그램을 프로세스(process)라 한다. 프로세스는 실행중인 프로그램이라고 정의할 수 있는데, 프로그램 코드 뿐만 아니라 실행에 필요한 다양한 정보도 포함된다.

-프로그램은 보조기억장치에 저장되어 아무런 일도 못하는 수동적인 존재인 반면, 프로세스는 주기억장치에 있으며 하드웨어를 동작시키는 능동적인 존재다. 이런 프로세스를 운영체제가 관리하는데, 프로세스에 대한 다양한 정보도 포함된다.

 


4. 프로세스 제어 블록에 대해 설명하여라.

- 운영체제는 프로세스 각각에 대한 정보 관리를 통해 프로세스를 관리한다 이런 프로세스에 대한 정보는 프로세스 제어 블록(PCB : Process Control Block)이라는 테이블에 저장된다. 임의의 프로세스가 생성되면 이 프로세스의 정보를 저장하는 새로운 프로세스 제어 블록이 생성되고, 이 프로세스가 종료될 때 같이 사라진다.

- 프로세스 제어 블록은 크게 다음과 같은 정보를 담고 있으며, 그 외에도 다양한 정보를 저장하고 있다.

◆ 프로세스의 상태 : 실행 상태인지 또는 실행을 위해 준비 상태인지 등에 대한 정보

◆ 프로그램 카운터 값 : 중앙처리장치의 프로그램 카운터라는 레지스터에 저장된 값으로, 다음에 실행될 명령어의 주기억장치 주소를 의미

◆ 스케줄링 정보 : 다음에 실행될 프로세스를 결정하는 데 필요한 정보로, 프로세스 스케줄링 정책, 우선 순위 등을 의미

◆ 주기억장치 정보 : 해당 프로세스가 주기억장치의 어느 영역에 위치해 있는지를 저장  


 

5. 프로세스 상태에 대해 설명하여라.

 - 책 설명이 빠를듯..

 


6. 대표적인 프로세서 스케줄링 정책 3가지에 대해 설명하여라.

 ◆ FCFS 스케줄링(First-Come First-Served) : 먼저 도착한 프로세스를 먼저 서비스(실행)하는 방법.

 - EX) 프로세스가  A, B, C 순으로 생성되면 운영체제는 가장 먼저 생성된 프로세스 A에게 중앙처리장치를 배정하여 실행되도록 한다. 그리고 프로세스 B와 C는 프로세스 A가 종료될 때까지 준비 큐에서 기다린다. 프로세스 A의 실행이 종료되면 다음 프로세스인 B가 실행된다.

 

◆ 라운드 로빈 스케줄링 : 하나의 중앙처리장치를 임의의 프로세스가 종료될 때까지 차지하는 것이 아니라, 여러 프로세스들이 중앙처리장치를 조금씩 돌아가며 할당받아 실행되는 방식으로, 리눅스를 포함한 대부분의 시스템에서 사용하는 방식이다. 프로세스들은 시간 할당량(time quantum) 동안 중앙처리장치를 할당받아 실행되는데, 이 시간 동안 실행을 종료하지 못하면 운영체제에 의해 준비 상태로 쫓겨나고, 준비 큐의 다음 프로세스가 중앙처리장치를 할당받아 실행된다.

 

◆ 우선순위 스케줄링 : 가장 높은 우선순위의 프로세스에게 먼저 중앙처리장치를 할당하는 방법. 우선순위가 같은 프로세스들의 경우에는 FCFS 방법을 적용한다. 우선순위는 프로세스 실행자의 직위 또는 프로세스의 중요성등에 의해 결정되는데, 프로세스 제어 블록에 저장된다.

- EX)

① 우선순위를 2, 1, 3으로 하는 프로세스 A, B, C가 있다면 운영체제는 우선순위가 가장 높은 프로세스 B에게 중앙처리장치를 배정한다. 

② 프로세스 B의 실행이 종료되면 다음으로 우선순위가 높은 프로세스 A를 실행한다.

③ 이때 우선순위 2의 프로세스 D가 생성되면 프로세스 D의 프로세서 제어 블록이 준비 큐에 연결되는데, 우선순위가 2이므로 프로세스 C의 프로세스 제어 블록 앞에 위치한다.

④ 프로세스 A의 실행이 종료되면 프로세스 D가 실행된다.

⑤ 프로세스 D의 실행이 종료되면 프로세스 C가 실행된다.

 

 


7. 단일 연속 주기억장치 관리와 분할 주기억장치 관리를 비교해서 설명하여라.

단일 연속 주기억장치 관리

주기억장치에 운영체제 외에 한 개의 사용자 프로그램만 저장하는 관리기법

분할 주기억장치 관리

주기억장치를 n개의 영역으로 분할하여 각 영역에 사로 다른 프로세스를 동시에 저장하는 관리기법

 

 


8. 분할 주기억장치에서 3가지 할당 방식에 대해 설명하여라.

할당방식

설명

최초 적합 (First fit)

프로세스의 크기보다 큰 최초의 영역에 할당한다.

최적 적합 (Best fit)

프로세스의 크기보다 큰 영역 중 가장 작은 영역에 할당한다.

최악 적합 (Worst fit)

프로세스의 크기보다 큰 영역 중 가장 큰 영역에 할당한다.

 


9. 가상 메모리에 대해 설명하여라.

- 프로그램이 실행되기 위해서는 주기억장치로 들어가야 하는데, 실행될 프로그램이 주기억 장치보다 크거나 여러 개인 경우에는 주기억장치 공간의 부족으로 인해 프로그램이 제대로 실행되지 못할 수 있다. 그래서 당장 실행에 필요한 부분만 주기억장치에 저장하고, 나머지는 보조기억장치에 두고 동작하도록 하여 이런 문제를 해결할 수 있는데, 이런 개념을 가상 메모리라 하며 운영체제에서 지원한다. 

 


10. 페이징에 대해 설명하여라.

- 페이징(Paging)은 가상메모리를 구현하는 한 방법으로, 가상 메모리 공간을 일정한 크기의 페이지(page)로 나누어 관리하는 방법이다. 이때 실제 주기억장치의 페이지에 해당하는 부분을 페이지 프레임(page frame)이라 한다.

 

(* 참고해둘만한 것

- 페이지 테이블(page table) : 운영체제 관리 하에 프로세스 마다 각 페이지가 주기억장치의 어느 프레임에 저장되는지를 나타내는 테이블.

- 페이지 교체 알고리즘 : FIFO[First-In First-Out], LRU[Least Recently Used], LFU[Least Frequently Used]

)

 


11. 대표적인 페이지 교체 알고리즘 3가지에 대해 설명하여라.

- 새로운 페이지를 주기억장치에 저장할 때 비어있는 프레임이 없으면 새로운 페이지를 저장하기 위해 주기억장치에서 제거할 페이지를 결정해야 한다. 이렇게 제거할 페이지를 결정하는 동작을 페이지 교체(page replacement)라 하는데, 여기에는 여러가지 알고리즘이 있다.


페이지 교체 알고리즘

설명

FIFO (First-In First-Out)

페이지를 교체해야 할 때, 주기억장치에 가장 먼저 올라온 페이지를 선택해서 제거하는 기법.

LRU (Least Recently Used)

페이지를 교체해야 할 때, 주기억장치에 올라온 페이지들 중에서 가장 오랫동안 사용되지 않았던 페이지를 선택해서 제거하는 기법.

LFU (Least Frequently Used)

페이지를 교체해야 할 때, 페이지들 중에서 사용 빈도가 가장 낮은 페이지를 선택해서 제거하는 방법.

 

12. 파일 시스템에 대해 설명하여라.

- 파일 저장을 포함해서 파일을 관리하는 운영체제 부분을 파일 시스템이라 하는데, FAT, NTFS, UFS, ext2 등 다양한 종류의 파일시스템이 있다.

 

13. 윈도우 시스템에 다음 동작 과정을 나타내어라. 단, 클러스터의 크기는 1000바이트라 가정한다.

- FAT(File Allocation Table)와 NTFS(New Technology File System)가 있음. 


14. 리눅스 시스템에 다음 동작 과정을 나타내어라. 단, 클러스터의 크기는 1000바이트라 가정한다.

- 책 참고가 빠를듯함...

 



'Computers > (한빛) 컴퓨터개론' 카테고리의 다른 글

ch7. 자료구조  (0) 2011.07.02
ch6. 프로그래밍 언어  (0) 2010.12.28
ch4. 컴퓨터 구조  (0) 2010.09.26
ch3. 부울대수와 논리회로  (0) 2010.08.08
ch2. 수 체계와 데이터 표현  (0) 2010.08.08