티스토리 뷰

study

[방송대] 운영체제

HwansChoi 2014. 6. 29. 00:20

1.1 운영체제의 구성요소

1) 프로세서 관리자

- CPU를 프로세스에게 어떻게 할당할 것인가를 결정한다. 프로세서 관리자의 주요 기능은 각 프로세스의 상태를 모니터링하는 것이다

2) 주기억장치 관리자

- 주기억장치를 책임진다. 주기억장치 공간에 대한 각각의 요구가 유효한지 체크하고, 적법한 요구라면 주기억장치 관리자가 아직 사용 중이지 않은 부분을 할당한다. 반환할 시간이 되면 회수한다.

3) 장치 관리자

- 모든 장치, 채널과 제어장치를 모니터링한다. 스케줄링 기법을 기반으로 비디오 디스플레이, 키보드, 프린터, 디스크 드라이브, 모뎀과 같은 시스템의 모든 장치를 가장 효율적으로 할당 하고, 작동을 시작하며, 마지막으로 장치를 반환한다.

4) 파일 관리자

- 컴파일러, 인터프리터, 어셈블러, 유틸리티 프로그램, 데이터 파일과 응용 프로그램을 포한하는 시스템의 모든 파일을 모니터링한다. 또한 파일의 접근 제한을 관리하거나 파일을 열어 자원을 할당하거나 파일을 닫아 자원을 회수하는 일 등을 수행한다.



1.2 운영체제의 종류

1) 일괄처리 시스템

- 초창기는 데크에 카드를 조합하여 넣으면 작업이 시작, 그룹으로 카드 리더를 지나가면서 카드의 데크가 실행. 오늘날에는 주로 OMR 카드나 OCR 카드를 이용하여 입력되며 사용자와의 상호작용 없이 순차적으로 실행된다. 평가 : 처리능력(주어진 전체 시간 안에  몇 개의 작업이 처리 되는가)과 수 시간이나 수일 동안 측정된 반환시간에 의해 평가된다.

2) 대화형 시스템

- 반환시간 측면에서는 일괄처리 시스템보다 빠르지만, 실시간 시스템보다는 느리다.

3) 실시간 시스템

- 모든 시스템 중 가장 빠르고, 결과값이 현재의 결정에 영향을 주기 때문에 데이터의 처리가 극도로 빨라야 하며 반환시간이 매우 중요한 환경에서 사용된다. (우주선 비행 시스템, 미사일 제어, 증권거래 관리 시스템, 은행 입출금 시스템 등)

4) 하이브리드 시스템

- 일괄처리와 대화형 시스템의 결합. 현재 사용되고 있는 대부분의 대형 컴퓨터 시스템이다.



2.1 하드웨어

- 컴퓨터 시스템의 여러 장치, 즉 처리장치, 기억장치, 입출력 장치, 그리고 통신장치 등으로 구성된다. 또한 소프트웨어는 하드웨어에 의하여 번역되는 명령문으로 이루어져 있고, 펌웨어는 속도가 빠른 제어 기억장치에 있는 마이크로 코드로 이루어져 있다.

2.4 운영체제 커널의 유형

1) 마이크로 커널

- 운영체제 커널 중에서 가장 기본적이고 핵심적인 기능만을 수행하는 부분만을 따로 구성한 모듈로, 프로세스 간의 통신과 동기화, 주기억장치 관리의 하위 부분, 최소 장치 관리, 시스템 운영 중에 발생하는 인터럽트 처리 등을 담당하게 된다.



3.2 단일 사용자 연속 기억장치 할당

- 1개의 사용자 프로그램만이 적재되는 단일 사용자 연속 할당 방법은 수행될 프로그램이 연속된 기억장치 공간에 모두 적재되는 방식으로서, 주기억장치의 용량을 초과하는 프로그램은 실행할 수 없다.

3.4 동적 분할 다중 프로그래밍

- 고정 분할 다중 프로그래밍에서 사용자 프로그램이 저정된 분할보다 훨씬 작은 경우 상당한 양의 주기억장치가 낭비된다. 동적 분할 다중 프로그래밍에서 사용자 프로그램은 정확히 필요한 만큼의 기억장소를 할당받는다. 그러나 이 방법에서는 여러 사용자 프로그램이 완료되면서부터 많은 공백이 주기억장치 내에 흩어져 남게 된다. 그래서 통합과 집약을 통해 여러개의 작은 공백을 하나의 커다란 저장공간으로 만든다. 통합은 인접한 공백을 하나로 합치는 것을 말하고, 집약은 산재되어 있는 공백을 어느 한쪽으로 몰아 큰 공백을 만드는 것을 말한다.



4.1 가상 기억장치의 개념

- 실행 중인 프로세스에 의해 참조되는 주소를 주기억장치에서 사용하는 주소와 분리하는 것이다. 실행 프로세스가 참조하는 주소, 즉 보조 기억장치의 주소를 가상주소라고 부르며, 주기억장치에서 사용하는 주소를 실주소 또는 물리적 주소라고 부른다.

4.3 세그먼테이션 기법

- 프로그래머가 프로그램을 모듈 단위로 작성하는 습관에 기반을 두고 있기 때문에 사용자가 작성한 프로그램이나 데이터의 모듈을 하나의 세그먼트로 간주하여 가변크기의 블록을 사용한다. 세그먼트별로 주기억장치에 위치시키므로 서로 다른 모듈이 인접하여 배치될 필요가 없는 기법이다.



4.6 페이지 교체 기법

- 페이지 교체기법은 주기억장치가 완전히 사용되고 있을 때 새로이 적재되어야 할 페이지나 세그먼트를 위하여 어느 페이지나 세그먼터가 교체되어야 하는지에 관계된다. 이런 교체기법으로는 최적화 원칙, 무작위 교체기법, FIFO(시간을 체크 하여 오래 있었던 페이지를 교체), LRU(오랫동안 사용되지 않은 페이지 교체), LFU(얼마나 많이 사용되었는지 착안), NUR(근래에 쓰이지 않은 페이지는 가까운 미래에도 쓰이지 않기 쉽다), 클록, 2차 기회, 워킹세트, PFF 등이 있다.

4.7 국부성과 워킹세트

1) 국부성

- 기억장치 관리기법에 중요한 역할을 하며, 그 의미는 "프로세스는 기억장치 내의 정보를 균일하게 액세스하는 것이 아니라 어느 한순간에 특정 부분을 집중적으로 참조한다"는 것이다. 시간 국부성과 공간 국부성이 있다.

2) 워킹세트

- 가상 기억장치 관리기법에서 페이지 부재율을 감소시키기 위한 것으로, 하나의 프로세스가 자주 참조하는 페이지의 집합이다. 프로세스의 워킹세트내의 페이지, 즉 최근에 참조된 페이지는 주기억장치 내에 유지하도록 하여 프로세스가 빠르게 실행할 수 있도록 한다.



5.1 프로세스의 개념

- 프로세스는 실행상태에 있는 프로그램이며 하나의 일괄처리 작업도 하나의 프로세스이다. 하나의 시분할 사용자 프로그램도 한 프로세스이고 스풀링과 같은 시스템 태스크도 하나의 프로세스이다. 많은 운영체제에서 프로세스는 작업, 사용자 프로그램, 태스크, 또는 활동이라고 불린다.

5.4 프로세스 스케줄링 알고리즘

1) 기한부 스케줄링 알고리즘

- 프로세스가 주어진 시간 내에 작업을 끝내도록 계획된다.

2) 우선순위 스케줄링 알고리즘

- 비선점 알고리즘이고, 일괄처리 시스템에서 가장 많이 이용되는 것 중 하나이다. 각 프로세스에게 우선순위를 부여하여 순위가 높은 순서대로 처리하는 방법을 말한다.

3) FCFS 스케줄링 알고리즘

- 각 프로세스의 도착시간에 따라 대기 리스트에서 디스패칭되는 비선점 기법이다. 이 기법은 일괄처리 시스템에서는 많이 사용되지만 대화식 사용자에게는 적당하지 못하다.

4) SJF 스케줄링 알고리즘

- 주로 일괄처리 작업의 계획에 사용되는 비선점 기법이다. 이 기법은 평균 대기시간은 최소화하지만 긴 작업이 너무 오래 대기상태에 있을 가능성이 있다.

5) SRT 스케줄링 알고리즘

- SJF 기법의 선점 변형이라 할 수 있다. SRT 기법에서는 실행 중인 프로세스도 남은 실행시간의 추정치가 더 작은 다른 프로세스에 의해 선점될 수 있다.

6) RR 스케줄링 알고리즘

- 본질적으로 FCFS 기법의 선점 변형이다. 프로세스는 FCFS 형식으로 디스패칭 되지만 시간 할당량이라고 불리는 제한된 시간만큼만 중앙처리장치를 사용할 수 있다.

7) HRN 스케줄링 알고리즘

- SJF 기법의 약점을 보완하는 비선점 기법이며, 특히 긴 작업과 짧은 작업 간의 편향성을 어느 정도 완화시킨다.

8) FSS 스케줄링 알고리즘

- UNIX 환경에서 서로 관계있는 사용자에게 한정된 비용으로 시스템 자원을 사용할 수 있게 하기 위해 개발 되었다.

9) 다단계 피드백 큐 스케줄링 알고리즘

- 선점 스케줄링 기법이며, 특히 다양한 특성의 작업이 혼합된 경우에 유용하다.

신규 프로세스는 매우 높은 우선순위로 이 네트워크에 들어오며, 각 단계에서 정해진 시간에 끝나지 못한 프로세스는 다음 단계로 넘어가게 된다. 그리고 마지막 가장 낮은 우선순위의 큐에 도달하면 작업이 끝날 때가지 RR 방식으로 순환하게 된다.



6.4 동기화와 임계영역

1) 동기화

- 프로세스 동기화는 CPU가 2개 이상의 프로세스를 동시에 처리할 수 없기 떄문에 이들 프로세스에 대한 처리순서를 결정하는 것을 말한다.

2)임계영역

- 하나의 프로세스가 임계영역에서 수행 중일 때 다른 어떠한 프로세스도 이 임계영역에서 수행될 수 없다.

임계영역 문제를 해결하기 위하여 상호배제, 진행, 제한된 대기가 만족되어야 한다.

6.6 프로세스 간의 통신

- 프로세스 간 통신은 메시지 시스템에 의해 제공되는데, 크게 나누어 직접 통신, 간접 통신으로 정의될 수 있다.



7.2 교착상태의 특성

- 교착상태는 2개 이상의 프로세스가 대기 중인 프로세스들 중의 하나에 의해서만 발생할 수 있는 사건을 무작정 기다리는 상태이다.

교착상태는 시스템에서 다음 네 가지 필요충분존건이 동시에 발생하여야 가능하다. 상호배제, 대기, 비중단, 환형 대기 등이다. 교착상태를 방지하기 위해 적어도 이 네 가지 조건 중에서 하나는 발생하지 않도록 해야 한다.

7.4 교착상태의 회피

- 교착상태를 회피하기 위한 다른 방법은 각 프로세스가 자원을 어떻게 사용할 것 인가 하는 사전정보가 필요하다. 사전정보를 통해 교착상태를 피해가는 알고리즘을 사용 하는 것을 교착상태의 회피라 한다.



8.4 디스크 스케줄링

1) FCFS 스케줄링

- 디스크 스케줄링 중 가장 간단한 형태로서 먼저 도착한 요구가 먼저 서비스를 받는 방법이다.

2) SSTF 스케줄링

- 마지막으로 서비스 받은 요구에 가장 인접한 요구를 서비스하는 방법이다. 다음으로 서비스 받을 요구는 고정축(boom)이 움직이는 방향에는 관계없이 마지막 요구에 가장 가까운 것이 된다.

3) SCAN 스케줄링

- 현재의 진행방향에 있는 모든 요구가 서비스를 받은 다음 방향을 바꾸어 이동을 계속한다는 것만 제외하면 SSTF와 같이 작동한다.

4) N-Step SCAN 스케줄링

- 새로이 도착하는 요구들은 다음 번 되돌아올 때 서비스를 받도록 함으로써 발생할 수 있는 지연과 무한 연기 상태를 방지한다.

5) C-SCAN 스케줄링

- 한 방향으로만 서비스를 해 줌으로써 SCAN에서와 같이 중간 범위의 트랙에만 치우치는 단점을 제거한다. 정해진 방향으로의 진행이 완료되면 고정축은 디스크의 반대편 끝으로 점프하여 다시 같은 방향으로 진행을 재개한다.

6) C-LOOK 스케줄링

- 진행방향에서 앞을 보고 서비스 요구가 없을 경우 더 이상 마지막 트랙까지 이동하지 않도록 하는 알고리즘 이다.

7) SLTF 스케줄링

- 회전시간 최적화를 위한 알고리즘으로, 일단 디스크 암이 특정 실린더에 도착하면 그 실린더의 여러 트랙에 대하여 많은 요구들이 있을 수 있다. SLTF 방법은 이런 모든 요구들을 검사한 후 가장 짧은 회전지연을 갖는 요구를 우선적으로 서비스한다.

8.7 파일 관리 시스템

1) 액세스 방식

- 파일에 저장되어 있는 데이터에 접근하는 방식에 관련된다.

2) 파일 관리

- 파일을 저장, 참조, 공유할 수 있도록 하며 안전하게 보호될 수 있도록 하는 기법을 제공

3) 보조 기억장치 관리

- 보조 기억장치에 파일을 저장하는 데 필요한 공간을 할당하는 일과 관계된다.

4) 파일의 무결성 유지

- 파일의 정보가 소실되지 않도록 보장하는 일에 관계된다.


9.1 임베디드 시스템

- 미리 정해진 특정한 기능들을 수행하기 위하여 컴퓨터의 하드웨어와 소프트웨어가 서로 조합된 전자제어 시스템으로, 마이크로프로세서 기반 디지털 시스템을 의미한다.

9.2 임베디드 운영체제

- windows NT, windosx 95/98/2000/XP 등과 같이 일반적인 응용 소프트웨어를 운영하기 위하여 설계된 GPOS(General Purpose OS)와 특정 시스텐에 특정의 목적을 위해 설계된 임베디드 운영체제로 구분될 수 있다.

9.3 리눅스

- 초기의 리눅스는 네델란드 브리제 대학의 앤드류 타넨바움 교수에 의해 개발된 유닉스 기반의 마이크로 커널 구조를 가지는 인텔 프로세스에서 동작한 운영체제인 미닉스를 이 대학 학생인 리누스 토발즈가 수정하여 인터넷에 공개한 것에서부터 출발한다.



10.2 운영체제 보호 및 보안 위협

1) 무결성

- 비인가된 주체에 의한 자원의 생성, 변경, 삭제 등으로부터 자원을 보호하고 자원의 안전성이 확보되어야 한다는 원칙이다. 즉, 모든 주체는 합법적인 경우에만 객체를 수정할 수 있어야 한다.

2) 비밀성

- 운영체제 자원의 부적절한 노출을 예방하고 감지하는 특성을 가진다. 즉, 모든 주체는 합법적인 경우에만 객체에 접근되어야 한다.

3) 가용성

- 운영체제 자원들에 대한 부적절한 서비스를 예방하고 감지하는 특성을 가진다. 즉, 모든 주체는 합법적인 경우에는 항상 객체에 접근이 가능해야 함이 보장되어야 한다.

10.3 운영체제 보호 기법

1) 인증 및 식별

2) 접근 제어

3) 능동적 침입 방지

4) 시스템 관리



11.1 분산 시스템의 구조

- 분산 시스템이란 공유 메모리나 공유 클록을 가지고 있지 않은 프로세서들의 집합을 말하며, 각 프로세서들은 자신의 로컬 메모리를 가지고 있고 고솟버스나 전화선과 같은 여러 형태의 통신 프로세서들끼리 통신을 행한다.

장점 : 자원 공유, 연산속도 향상, 신뢰성 향상, 그리고 통신의 용이성 등이 있다.

11.1.6 분산 주 메모리

- 분산 주 메모리 시스템의 목표는 주 메모리 인터페이스가 원격 컴퓨터의 주 메모리를 참조하도록 하는 것이다. 가장 널리 사용된 방법은 원격 메모리와 분산 공유 메모리이다.



12.1 Microsoft Windows 개요

- Windows는 IBM-PC상에서 GUI를 실현하기 위해 마이크로소프트 사에서 개발한 프로그램이다. 1985년에 Windows 최초의 버전인 1.0이 발표되었다.



이 정리는 개인을 위한 것이고 자세한 정리 보다는 기본적인 것을 주로 하고 추후 검색할 수 있도록 정리한 것이다.


참고서적 : OPERATING SYSTEM 운영체제        - 곽덕훈 백두권 공저

'study' 카테고리의 다른 글

[사당역 스터디 카페] 이제마(eJema) 스터디 카페  (2) 2016.08.24
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함