운영체제 기말고사 대비

댓글수2 다음블로그 이동

Study/S-E

운영체제 기말고사 대비

악마의유혹
댓글수2

★ 운영체제의 정의

사용자 대신에 컴퓨터 시스템의 각종 자원을 효율적으로 관리하고 운영하게 하여 사용자에게 최대의 편리성을 제공해 주며, 컴퓨터 하드웨어와 사용자간의 인터페이스를 담당하는 시스템 프로그램

 

 

★ 프로세스 스케줄링(p.124)

비선점 - 우선순위, 기한부(데드라인), FCFS(FIFO), SJF, HRN 기법

선점 - 라운드 로빈, SRT, MLQ, MFQ

 

 

5장 주기억장치

★ 기억장치 계층 구조 : 기억장치를 효율적으로 사용하기 위해서

1차

기억장치

CPU 레지스터

고속

고가

저용량

캐쉬메모리

주기억장치(RAM)

2차

기억장치

직접 접근 기업장치

저속

저가

대용량

광학기억장치

순차접근 기억장치

 

 

■ 기억장치 관리 기법

1) 반입 정책(fetch strategic) - when

: CPU로 실행되거나 참조되려고 주기억 장치로 적재할 다음 프로그램이나 자료를 언제 가져 올 것인가를 결정하는 문제

2) 배치 정책(placement strategic) - where

: CPU가 요구하는 페이지나 세그먼트를 주기억 장치의 어디에 위치시킬 것인가를 결정하는 정책

- 최초 적합(first fit), 최적 적합, 최악 적합

3) 재배치 정책(replacement strategy) 또는 교체 정책 - who

: 새로 들어온 프로그램이나 들어갈 장소를 마련하려고 어떤 프로그램이나 자료를 주기억 장치로부터 제거할 것인가를 결정하는 정책

가) 최적 교체

- 최적의 성과를 얻으려고 현 페이제가 참조된 시점에서 그 이후로도 가장 오랫동안 사용되지 않을 페이지를 교체하는 기법, Belady가 제안

* 장점 : FIFO의 모순을 피할 수 있는 알고리즘, 최소의 페이지 부재율을 갖는 알고리즘

* 단점 : 미래를 예측하기 어렵기 때문에 실현 불가능

나) 무작위 페이지 교체

- 특별한 사용자들에게 차이를 두지 않고 페이지를 교체하는 기법

* 장점 : 신속한 교체 결정이 가능

* 단점 : 조만간 참조될 페이지도 교체될 수 있음

다) FIFO

- 각 페이지가 주기억 장치로 들어올 때마다 타임-스탬프(time-stamp)를 찍어 그 시간을 기억하고 있다가 페이지가 교체될 필요가 있을 때 가장 먼저 주기억 장치에 들어와 있는 페이지와 교체 시키는 방법

* 장점 : 단순하며 이해하기 쉬움

* 단점 : 중요한 페이지가 오래 있었다는 이유로 교체되는 것은 불합리

라) LRU(Least Recently Used)

- 한 프로세스에서 사용되는 각 페이지 마다 카운터를 두어 현 시점에서 가장 오랫동안 사용되지 않는 페이지를 제거하는 방법, 가장 널리 사용되고 있음

* 구현방식  테이블 형태  리스트 형태

* 단점 : 알고리즘은 단순하지만 구현이 어려움(메모리 참조마다 리스트를 갱신하려면 많은 시간이 소요됨)

마) LFU(Least Frequence Used)

- 컴퓨터 주기억 장치에 설치되어 있는 페이지가 각각 얼마나 집중적으로 사용되었는가에 관심을 갖고, 가장 적게 사용되거나 집중적으로 사용되지 않은 페이지로 대체하는 방법.

* 단점 : 과거의 사용기록을 보유하고 있기 때문에 가장 최근에 메모리에 적재된 페이지도 교체될수 도 있음

바) 2차기회(Second Chage Replacement)

- FIFO 방식의 단점인 가장 오랫동안 주기억 장치에 있었던 가장 자주 쓰이던 페이지가 대체될 수도 있다는 것을 막으려는 방법으로, 모든 페이지들의 참조 비트를 두어 참조 비트가 1이면 피드백시켜 유지하고 0인 페이지만 교체하는 방법

사) NUR(Not Used Recently)

- LRU 교체의 단점인 시간 오베헤드를 적게 하는 방법, 최근에 사용되지 않은 페에지를 교체

* 단점 : 리스트의 페이지들이 계속해서 움직이므로 비효율적

 

fetch - when, placement - where, replacement - who

최적, 무작위, FIFO, LRU, LFU, SCR, NUR

 

 

■ 오버레이 - 프로그램을 몇 개의 조각으로 분할하여 프로그램이 시작되면 각 단계별로 차례Fh 적재하여 실행함으로써, 프로그램을 실행하는 방법

 

■ 스와핑 - 단일을 다중처럼

 

■ 고정 분할 기억 장치 - 기억장치 단편화

- 발생원인 : 고정 분할 기억장치 할당에서의 단편화는 사용자 작업의 크기가 정확하게 분할에 맞지 않거나, 작업보다 분할이 너무 작아서 이 분할에 대기중인 어떤 작업도 적재될 수 없을 때에 발생한다

★내부단편화 Internal Fragmentation : 하나의 분할에 작업을 할당하고 남은 공간

★외부단편화 External Fragmentation : 대기 중인 작업에게는 분할이 너무 적어 분할 전체가 공간으로 있을때의 상태

 

 

■ 가변 분할 기억 장치 할당

1) 최초 적합 전략(first fit strategy) - 첫 번째 분할에 할당

         빠르다, but 사용되지 않은 작은 크기의 가용 공간이 누적되는 때 할당 결정이 늦을 수 있다.

2) 최적 적합 전략(best) - 적재할 수 있는 가장 작은 공백이 남는 분할에 할당 : 가장 효율적

         장점 : 가용공간을 반만 탐색해도 필요한 공간을 찾을 수 있다.

         단점 : 가용공간 리스트가 크기 순으로 되어 있지 않으면 전리스트를 검색해야만 한다. 많은 시간 요구

3) 최악 적합 전략(worst) - 가장 큰 큰 가용 공간에 적재

         장점 : 큰 가용 공간에 프로그램을 할당해서 남은 공간도 여전히 크므로 큰 다른 프로그램을 실행 가능

         단점 : 가용공간리스트가 크기순으로 되어 있지 않으면 전 리스트를 검색해야됨

 

 

■ 단편화 발생원인

- 고정 분할 기억 장치 할당에서의 단편화하는 사용자 작업의 크기가 정확하게 분할에 맞지 않거나, 작업보다 분할이 너무 작아서 이 분할에 대기 중인 어떤 작업도 적재될 수 없을 때에 발생함

 

단편화 해결방법(p.195)

■ 통합(Coalescing)

- 쓰레기 수집(garbage collection) : 여러 개의 작은 단편화 공간, 즉 가용 공간을 모아서 하나의 큰 가용 공간을 만드는 것

- 기억장치 통합(memory coalescing) : 이웃되는 가용 공간을 하나의 커다란 가용 공간을 만드는 것

■ 집약 또는 압축(Compaction)

- 기억장치의 여러곳에 분산된 공백 영역을 합쳐 하나의 유용한 공간으로 만드는 작업

 

 

6장 가상기억 장치의 구성과 관리

 

 

□ 가상기억장치를 구현(가상주소 → 실주소 : 사상처리)

직접사상 : 주기억

연관사상 : 연관메모리 ! 쵝오빠름

직접연관혼용

a. 가상 주소 공간

- 수행 중인 프로세스가 참조하는 페이지 주소 즉, 보조기억 장치 번지를 가상 주소라고 하며, 이들 번지의 집합을 뜻함

c. 주소 사상(address mapping)

- 가상주소를 주기억장치의 실제주소로 변환하는 절차

- 수행중인 프로세스가 참조하는

e. 페이징

- 고정된 크기의 블록 단위로 기억장치를 관리 : 페이지

- <페이지 번호, 변위> 하나의 순서쌍으로 된 가상 주소를 통해 참조

· 페이지 번호 : 가상기억 장치의 논리적인 블록을 의미

· 변위 : 대상 페이지 내의 시작위치부터의 거리

- 페이징에서는 각 페이지의 크기가 같으므로 외부 단편화가 없고, 마지막 페이지에 대하여 내부 단편화가 발생할 수 있음

f. 세그먼테이션

- 논리적 의미에 부합하는 크기의 블록 : 세그먼트

- <세그먼트 번호, 변위> 하나의 순서쌍으로 된 가상 주소를 통해 참조

· 세그먼트 번호 : 가상기억 장치의 논리적인 블록을 의미

· 변위 : 대상 세그먼트 내의 시작위치부터의 거리

- 세그먼트들의 크기는 서로 다르므로 가변 크기(동적분할) 기억장치 할당에서처럼 외부 단편화가 발생됨

- 각각의 세그먼트는 연속적인 공간에 저장되어야 함

 

▶ 가상 주소 변환이란 무엇을 의미하는지를 설명하고 가상 주소 변환을 하는 이유를 설명하시오

의미 : 가상 주소 변환(virtual address translation)은 바인딩 기법이라고도 하며, 프로세스가 수행될 때 가상 주소를 실제 주소로 변환하는 기법

이유 : 사용자는 프로그램과 데이터가 주기억 장치의 어느 곳에 위치 하는가를 걱정하지 않아도 되며, 사용자는 알고리즘의 효율과 프로그램 구조의 세부 사항만을 생각하고 하드웨어 세부 사항은 신경쓰지 않고 편안하게 프로그램을 작성할 수 있음

또한 주소변환이 가상 주소 내의 각 항목 즉 바이트나 워드 단위로 이루어진다면 변환에 필요한 정보량이 너무 많아져 프로세스가 요구 하는 양 이상의 주기억장치를 요구 하므로, 가상기억 장소를 효율적으로 구현하려면 이러한 정보량을 줄여야할 필요성이 있음

 

 

 

7장 보조기억 장치 관리와 디스크 스케줄링

 

 

★ 자기 디스크 접근시간

- 탐색시간(seek time)

         현위치에서 특정실린더(트랙)으로 디스크 헤드 이동 시간

- 회전 지연 시간(rotational delay time)

         목적하는 섹터가 디스크 헤드 밑에 도달하는데 소요 되는 시간

- 전송시간(transfer time)

         데이터 전송에 소요되는 시간

- 임의 위치의 데이터를 읽거나 쓰는데 걸리는 시간

         디스크 접근시간 = 탐색시간 + 회전 지연 시간+ 전송 시간

         δrq = δseek + δrot + δtrans

 

 

★ 디스크 스케줄링 기법(FIFO 시험 나옴)

1) FCFS 기법 : 가장 간단한 형태로 먼저 도착한 요청이 선적으로 서비스 받게 되는 기법

▶ 근본적인 공평성 보장, 효율이 낮음

 

2) SSTF 기법 : 탐색 거리가 가장 짧은 요청이 먼저 서비스를 받는 기법

▶ 응답시간 편차 및 기아 상태 발생 우려, 일괄처리 시스템에 유용

 

3) SCAN 기법 : SSTF가 갖는 응답시간의 편차에 있어서의 차별 대우와 큰 편차를 극복하기 위해 개발(엘리베이터 알고리즘)한 것으로, SSTF와 같이 동작을 하지만, 헤드진행 방향상의 가장 짧은 거리에 있는 요청을 먼저 서비스 하는 기법

▶ 기아 상태 발생되지 않음, 그러나 현 헤드 진행 방향의 반대에 있는 트랙은 오랜 시간 대기

 

4) C-SCAN 기법 : SCAN에서의 불공평한 대기 시간을 좀 더 균등하게 하려고 변형을 가한 것으로, 헤드는 항상 바깥쪽 실린더에서 안쪽 실린더로 이동하면서 가장 짧은 탐색 시간을 갖는 요청을 서비스하는 기법

▶ SCAN 방식 개선으로 대기시간 균등화, 회전수 최적화로 오버헤드가 많이 걸리는 때에 효과적

 

5) LOOK 기법

▶ SCAN 기법에서 헤드가 트랙 끝까지 이동하지 않고 마지막 요청 트랙까지 이동 하는 기법

 

6) C-LOOK 기법

▶ C-SCAN 기법에서 헤드가 트랙 끝까지 이동하지 않고 마지막 요청 트랙까지 이동 하는 기법

 

7) N-step SCAN 기법 : 헤드가 한쪽 방향으로 이동해 나가면서 요청으로 들어온 것만 서비스하다가 다시 반대쪽으로 오면서 이전에 도착했던 요청들을 서비스하는 기법

▶ SCAN 스케줄링과의 차이점은 현재 큐에 대기 중인 요청만 처리

 

 

 

8장 파일시스템

 

 

★ 파일관리자의 기능

운영체제 중에서 기억 장치 관리 시스템의 한 부분으로서 주로 보조기억 장치 상의 파일을 총괄하여 관리

- 사용자가 이용하기에 편리하도록 편리한 사용자 인터페이스(user friendly interface)를 제공

- 사용자가 파일을 생성, 수정, 제거

- 적절한 제어 방식을 통해 타인의 파일을 공동으로 사용

- 파일 공유 기법은 여러 종류의 접근 기법을 제공(판독, 기록, 수행).

- 사용자가 적합한 구조로 파일을 구성

- 사용자가 파일 간에 정보 전송 명령

- 파일의 예비 및 복구 등의 기능을 제공

- 사용자가 물리적 장치 이름 대신 기호화된 이름을 사용(장치 독립성 유지).

- 정보를 암호화하고 해독할 수 있는 능력

- 디렉토리를 생성하고 제공하여 사용자가 편리하게 사용하도록 논리적 파일 상태를 보여줌.

 

 

연속할당의 정의

파일들이 보조 기억장치 내(디스크)의 연속적으로 인접된 공간에 할당 되는것

 

※ 외부 단편화가 심해서 주기적으로 압축이 필요 / 미리 파일 크기를 알아야 한다 등 장단점 파악 요망

1) 장점

- 연속하는 논리적 블록들이 물리적으로 서로 인접하여 있어, 이는 연속하는 논리적 블록들이 디스크상의 전체에 분산되어 있는 시스템과 비교할 때 훨씬 빠른 엑세스가 가능

2) 단점

- 사용자가 새로운 파일을 생성하기 위해서는 필요한 공간의 크기를 미리 명시

- 원하는 만큼의 기억 공간이 확보되지 않으면 그 파일은 생성되지 못함

- 파일의 생성과 삭제가 반복되면서 가용공간 단편화가 발생

- 주기적인 압축이 필요

 

 

★ 파일의 보호

1) 접근 제어 행렬

- 각 파일이나 디렉터리 마다 접근 목록을 두어 접근 가능 사용자와 가능한 동작을 기록하여 접근 요구가 올 때, 운영체제가 접근 목록을 참조해 서 접근 여부를 결정

2) 파일의 이름 명명

- 파일의 이름 부착(naming)은 어떤 사용자가 자신이 부여한 파일이 아니거나, 공유가 허용되었다 할 지라도, 다른 사용자 파일의 이름을 알지 못하는 경우에는 접근 대상을 제외

3) 암호

- 각 사용자마다 서로 다른 암호(password)를 제공하여 그 암호를 알아야 만 파일을 이용할 수 있게 하는 방법

4) 해독화

- 모든 파일에 모든 사용자가 접근 가능, 그러나 그 파일 자체는 암호화되어 있으므로 이를 해독하는 방법을 아는 인가된 자만이 사용.

 

 

9장 보호와 보안

★ 공개키 암호화 방식

비밀키 암호화(대칭형), 공개키 암호화(비대칭형)

 

 

 

공개키 ex) 디지털서명, 전자메일, 금융거래, 전자상거래, 인터넷 뱅킹

맨위로

http://blog.daum.net/ggmgsm/72

신고하기