[방통대] 운영체제 요점정리
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
1.병행 프로세스
-
< style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;" >임계영역 : 2개 이상의 프로세스가 동시에 액세스하면 안 되는 공유 자
-
상호배제 : 2개 이상의 프로세스가 동시에 임계영역에 진입하지 못하게 하는 것
-
세마포어 : 상호 배제나 동기화 문제 등을 해결하기 위한 정수형 공용 변수 (P감소 V증가)
-
프로세스간 통신
-
공유기억장치 기법 : 공유변수, 프로그래머
-
메세지 시스템 기법 : send/receive, 운영체제
-
직접통신
-
간접통신 : 우편함
2. 교착상태
2개 이상의 작업이 서로 상대방의 작업이 끝나기만을 기다 리고 있기 때문에 결과적으로 아무것도 완료되지 못하는 상태
-
교착상태의 필요조건
-
상호배제
-
점유 대기
-
비선점
-
환형 대기
3. 메모리 관리
-
단일 프로그래밍 환경 : 메모리 낭비
-
다중 프로그래밍 환경 : 메모리 분할
-
고정분할 : 고정된 크기로 분할, 내부단편화
-
동적분할 : 외부단편화
-
외부단편화 해결 : 통합(인접공백), 집약(모든공백)
4. 가상 메모리
-
가상주소 ≠ 실주소
-
가상주소를 실주소로 변환 : 사상 mapping
-
블록단위 주소변환: 블록 단위로 분류하여 각 블록이 메모리의 어디에 위치하는지를 관리
-
블록 구성 방식에 따른 분류
-
페이징 기법 : 블록의 크기가 동일
-
가상메모리를 고정된 크기 페이지로 나눔
-
메모리도 페이지와 동일크기 페이지 프레임으로 나눔
-
논리적 의미와 무관
-
내부단편화
-
페이지 사상표 : 가상주소를 실주소로 동적 변환 위해 필요
-
직접사상 : 페이지 사상표를 직접 이용
-
연관사상 : 연관기억장치에 저장한 연관 사상표를 이용
-
연관사상표에는 가장 최근 참조된 페이지만 보관
-
연관사상표에서 빠르게 먼저 찾고 없으면 페이지 사상표에서 찾아
-
세그먼테이션 기법
-
논리적 의미에 맞는 크기의 세그먼트 단위
-
외부 단편화
-
하나의 세그먼트는 연속된 기억공간에 할당
-
가상주소 v=(s세그먼트 시작위치, d만큼 떨어진곳)
-
세그먼트 사상표
-
존재비트, 보조기억장치주소, 세그먼트길이, 세그먼트 시작주소
-
페이징 기법 > 페이지 호출 기법
-
요구 페이지 호출 기법
-
오버헤드 최소화
-
페이지 부재 발생(성능저하)
-
예상 페이지 호출 기법
-
메모리 공간 낭비
-
프로세스 시작 시점에 적용하면 성능 개선됨
-
페이징 기법 > 페이지 교체 기법
-
실메모리의 모든 페이지 프레임이 사용중일 때 어느 페이지를 교체할지 결정
-
교체대상 선택
-
최적화 원칙(실현불가능)
-
시간, 공간의 오버헤드 적은 방법 선택
-
교체 제외 페이지 : 슈퍼바이저 코드영역, 보조 기억장치 드라이버 영역, 입출력장치를 위한 데이터 버퍼 영역 등
-
페이지 교체 알고리즘
-
FIFO : First In First Out
-
Belady 발생
-
LRU : Least Recently Used
-
참조시간 가장 오래된것 교체
-
Belady 발생 X
-
참조시간 이용, 리스트 이용
-
국부성(locality)에 기반
-
막대한 오버헤드
-
LFU : Least Frequently Used
-
참조 횟수 가장 적은것 교체
-
참조 횟수 이용 +1
-
가장 최근 메모리에 올라온게 교체될 가능성 높아
-
막대한 오버헤드
-
NUR : Not Used Recently
-
최근사용 적은것 교체
-
참조비트 r
-
수정비트 m
-
적은 오버헤드
-
LRU 비슷함, 실제로 자주쓰임
-
동일그룹 내에선 무작위
-
참조비트 r 주기적으로 0 변경
-
2차 기회
-
FIFO + 참조비트
-
클럭
-
2차기회(FIFO+참조비트) -> 원형 큐
-
프로세스별 페이지 집합 관리
-
프로세스별 페이지 프레임에 적재된 페이지들의 집합
-
워킹세트 알고리즘
-
어떠한 시점을 기준으로 정해진 크기의 과거 시간 구간 동안 참조된 페이지의 집합
-
Denning 데닝이 제안
-
페이지 부재 비율 감소
-
W(t 현재시간, w 윈도크기)
-
현재시점 에서 w 만큼 돌아가
-
PFF 알고리즘 : Page Fault Frequency
-
페이지 부재 비율이 높으면 페이지 프레임을 더 배정하고, 낮으면 회수
5. 장치
-
CPU
-
메모리
-
입출력장치
-
전용장치 : 한 번에 하나의 프로세스 할당
-
테이프 드라이브, 프린트
-
공용장치 : 여러 프로세스 동시 할당
-
직접접근 저장장치 (디스크)
-
스케줄링 기법 필요
-
가상장치 : 전용장치를 공용장치 처럼 보이게함
-
공용장치 이용, 스풀링
6-1. 입출력 처리 유형
-
프로그램 방법
-
CPU만을 이용
-
Polling 폴링
-
CPU 낭비 심함
-
인터럽트 방법
-
인터럽트 : 다른장치의 작업을 잠시 중단시키고 자신의 상태를 알리는 기능
-
인터럽트 처리과정
-
IO장치가 인터럽트 제어기에 신호 보냄
-
인터럽트 제어기는 CPU에 인터럽트 신호 보냄
-
CPU는 현재 실행 중이던 명령 마친 후 인터럽트에 응답
-
인터럽트 제어기는 이벤트 대상에 대한 정보를 CPU에게 보냄
-
CPU는 현재상태 보관하고 입출력처리 한 후 원래 상태로 복귀
-
DMA 방법 : Direct Memory Access
-
DMA 제어기 이용
-
CPU 통하지 않고 직접 메모리 접근
-
입출력 양이 많아도 한번의 인터럽트만 발생
-
CPU 효율 증대
-
DMA 처리과정
-
CPU는 입출력에 필요한 정보 DMA제어기에 넘김
-
DMA제러기는 소스에서 목적지로 제이터를 보내도록 장치제어기에 요청
-
원하는 양의 입출력이 끝나면 DMA 제어기는 인터럽트 제어기에 신호 보내 인터럽트 발생시킴
-
CPU에게 입출력 작업 완료 알림
-
사이클 스틸링
-
CPU와 DMA 제어기가 동시에 메모리 액세스 시도하면 충돌 발생
-
DMA 제어기에 우선권 부여
6-2. 입출력 관리
-
버퍼링 : CPU의 데이터 처리 속도와 데이터 전송 속도의 차이로 인한 문제를 메모리의 일부를 일시적 데이터 저장 장소로 사용하는 버퍼를 이용하여 해결하는 방법
-
스풀링 : 입출력 프로세스와 저속 입출력 장치 사이의 데이터 전송 을 자기 디스크와 같은 고속 장치를 통하도록 하여 입출력 작업이 빨리 끝나 도록 한다
7-1. 저장장치
-
저장장치 종류
-
순차접근 저장장치
-
ex) 테이프 장치
-
대량 데이터 백업용
-
직접접근 저장장치
-
위치를 지정하여 데이터를 직접 읽고씀
-
자기 디스크 : 자성 디스크 표면
-
플래터, 헤드, 암, 트랙, 섹터
-
광 디스크 : 표면에 레이저 쏘아 반사 빛 차이 이용
-
나선형 트랙
-
CD, DVD, 블루레이
-
SSD
-
비싸, 수명짧아, 빨라, 전력소모 적어
-
디스크 스케줄링 알고리즘
최소화에 가장 중점을 두는 요소는? - 탐구시간
-
FCFS
-
SSTF : Shortest Seek Time First
-
탐구시간 가장 짧은것 먼저
-
응답시간 큰 편차
-
SCAN
-
가장 안쪽과 바깥쪽 왕복. 진행방향 가장 가까운것 먼저
-
앞에 요구 없어도 끝까지감
-
새로운 요구 위치따라 응답시간 편차 발생
-
N-Step SCAN
-
SCAN -> 새로운 요구는 반대방향 할때 처리
-
C-SCAN : Circular SCAN
-
한쪽 방향으로만 가까운 것 처리
-
LOOK
-
SCAN -> 앞에 요구 없으면 방향바꿔
-
C-LOOK
-
C-SCAN -> 앞에 요구 없으면 방향바꿔
-
SLTF : Shortest Latency Time First
-
회전지연시간 가장 짧은거
7-2. 파일구조와 접근방식
-
파일 구조 : 파일을 구성하는 레코드들이 보조기억장치에 매치되는 방식
-
순차파일
-
레코드가 물리적 순서에 따라 저장되어 있는 파일
-
순차적으로 기록, 판독
-
자기테이프
-
인덱스된 순차파일
-
레코드가 키를 기준으로 한 논리적 순서로 저장되어 있는 파일
-
순차접근(키순서), 직접접근(인덱스 검색)
-
디스크
-
직접 파일
-
레코드의 주소를 이용하여 직접 액세스 되는 파일
-
논리적인 키와 물리적 주소의 매핑은 프로그래머가 정의
8. 분산 시스템
-
분산 시스템 목적
-
자원공유
-
연산속도 향상
-
신뢰성 향상
-
통신의 용이성
-
분산 운영체제가 제공하는 기능
-
데이터 이주
-
계산 이주
-
프로세스 이주
-
분산시스템 네트워크
-
트리구조 : 비교적 저렴, 가용성 낮음
-
스타형 : 저렴, 가용성 높음(중앙사이트 제외)
-
링형 : 비쌈, 가용성 비교적 높음
-
버스형 : 저렴, 가용성 높음(버스 제외)
9. 운영체제 보안
-
운영체제 보안의 기본 목표
-
기밀성 : 노출 예방
-
가용성 : 접근 가능
-
무결성 : 자원 보호
-
암호 알고리즘
-
비밀키 = 대칭키 (암호화key = 복호화key)
-
공개키 = 비대칭키 (전자서명)
-
운영체제 보안 모델
-
참조 모니터 모델
-
데이터 베이스를 참조하여 보안 정책을 수행
-
정보의 안전한 흐름 보장X
-
정보 흐름 모델
-
벨라파듈라 BLP : 상위에서 하위로 정보 흐름 방지
-
비바 : BLP에 불법수정 방지 추가. 무결성 중시.