navis
운영체제 (기말 준비) 본문
728x90
1강: 운영체제 개요
운영체제
- 정의: 컴퓨터 시스템 자원을 관리하고 서비스 제공하는 시스템 소프트웨어.
- 모드
- 커널 모드: 하드웨어 직접 제어 가능.
- 사용자 모드: 하드웨어 직접 제어 불가, 시스템 호출 필요.
운영체제 구성요소
- 프로세스 관리자: 프로세스 생성, 스케줄링, 종료.
- 메모리 관리자: 메모리 할당, 해제, 가상 메모리 관리.
- 장치 관리자: 입출력 장치 제어, 드라이버 관리.
- 파일 관리자: 파일 생성, 수정, 삭제, 접근 제어.
운영체제 유형
- 일괄처리: 작업을 모아서 처리.
- 시분할: 여러 사용자가 동시에 시스템 사용.
- 실시간: 즉각적인 응답 요구.
- 분산 운영체제: 여러 컴퓨터가 협력하여 작업 수행.
2강: 프로세스와 쓰레드
프로세스
- 정의: 실행 중인 프로그램, 자원 할당됨 (CPU, 메모리 등).
- 프로세스 제어 블록 (PCB): 프로세스 상태, 프로그램 카운터, CPU 레지스터 등 포함.
- 프로세스 상태: 생성, 준비, 실행, 대기, 종료.
쓰레드
- 정의: 프로세스 내에서 실행 단위, 다중 쓰레드로 병행 처리 가능.
- 유형: 사용자 수준 쓰레드, 커널 수준 쓰레드.
3강: 스케줄링
스케줄링 단계
- 상위단계: 작업 스케줄링.
- 중간단계: 메모리 스케줄링.
- 하위단계: CPU 스케줄링.
스케줄링 정책
- 선점 스케줄링: 인터럽트 가능, CPU 강제로 빼앗음.
- 비선점 스케줄링: 인터럽트 불가, 프로세스가 자발적으로 CPU 반납.
알고리즘
- FCFS (First-Come, First-Served): 도착 순서대로 처리.
- SJF (Shortest Job First): 가장 짧은 작업 먼저 처리.
- SRT (Shortest Remaining Time): 남은 시간이 가장 적은 작업 먼저 처리.
- RR (Round Robin): 시간 할당량을 이용한 순환 방식.
- HRN (Highest Response Ratio Next): 응답 비율이 높은 작업 우선.
- 다단계 피드백 큐: 여러 큐를 사용하여 프로세스 우선순위 조정.
4강: 병행성
병행성
- 정의: 여러 프로세스/쓰레드가 동시에 수행됨.
임계영역
- 정의: 공유 자원에 접근하는 코드 영역.
상호배제
- 정의: 여러 프로세스가 동시에 임계영역에 접근하지 않도록 함.
동기화
- 정의: 프로세스 간 처리 순서를 결정.
세마포어
- 정의: P와 V 연산을 통해 상호배제 및 동기화 문제 해결.
5강: 상호배제 문제
생산자-소비자 문제
- 해결: 세마포어를 이용해 생산자와 소비자 간의 상호배제 및 동기화 문제 해결.
판독기-기록기 문제
- 해결: 판독기와 기록기 간의 상호배제 필요, 세마포어 이용.
프로세스 간 통신
- 방법: 공유 메모리, 메시지 전달 (직접, 간접).
6강: 교착상태
교착상태
- 정의: 프로세스들이 서로 대기 상태로 진행 불가.
필요조건
- 상호배제: 자원이 한 번에 한 프로세스만 사용할 수 있음.
- 점유대기: 자원을 점유한 상태에서 다른 자원을 기다림.
- 비선점: 자원을 강제로 빼앗을 수 없음.
- 환형대기: 프로세스 간 순환 대기 상태.
자원할당 그래프
- 사용: 교착상태 발생 가능성 확인.
처리 기법
- 예방: 교착상태 발생 조건을 사전에 차단.
- 회피: 자원 사용 정보를 사전에 활용.
- 탐지 및 복구: 교착상태 발생 시 희생자 선택 후 중지 또는 자원 선점.
7강: 교착상태 회피 및 탐지
회피 기법
- 은행원 알고리즘: 안전 상태 확인 후 자원 할당.
탐지 및 복구
- 탐지: 교착상태 발생 여부 탐지.
- 복구: 교착상태 발생 시 프로세스 중지 또는 자원 선점.
8강: 메모리 관리
기억장치 구성
- 계층적 구조: 레지스터, 캐시, 메인 메모리, 보조 기억장치.
연속 메모리 할당
- 단일 프로그래밍: 하나의 프로세스가 전체 메모리 사용.
- 다중 프로그래밍: 여러 프로세스가 메모리 공유.
고정 분할 방식
- 문제: 내부 단편화 발생.
동적 분할 방식
- 문제: 외부 단편화 발생.
- 해결: 통합과 집약 기법.
메모리 배치기법
- 최초 적합: 첫 번째로 맞는 빈 공간에 배치.
- 후속 적합: 이전 검색 위치 이후의 첫 번째 빈 공간에 배치.
- 최적 적합: 가장 작은 빈 공간에 배치.
- 최악 적합: 가장 큰 빈 공간에 배치.
9강: 가상 메모리
가상 메모리
- 정의: 물리적 메모리보다 큰 기억 공간 사용 가능.
주소 변환
- 정의: 가상 주소를 실주소로 변환.
기법
- 페이징: 고정 크기 페이지 단위 관리.
- 세그먼테이션: 다양한 크기의 세그먼트 단위 관리.
페이지 호출 기법
- 요구 페이지 호출: 필요한 페이지만 호출.
- 예상 페이지 호출: 필요한 페이지를 미리 예상하여 호출.
10강: 페이지 교체
페이지 교체 알고리즘
- FIFO: 가장 먼저 들어온 페이지를 교체.
- LRU: 가장 오랫동안 사용하지 않은 페이지를 교체.
- LFU: 가장 적게 사용된 페이지를 교체.
- 2차 기회: FIFO에 참조 비트를 추가하여 교체 결정.
국부성
- 정의: 특정 부분을 집중적으로 참조하는 특성.
워킹 세트
- 정의: 최근 참조한 페이지 집합 유지.
11강: 장치 관리
장치 관리
- 유형: 전용 장치, 공유 장치, 가상 장치.
입출력 처리 방법
- 프로그램 입출력: CPU가 직접 입출력 처리.
- 인터럽트 입출력: 입출력 완료 시 인터럽트 발생.
- DMA (Direct Memory Access): CPU 개입 없이 직접 메모리 접근.
버퍼링
- 단일 버퍼링: 하나의 버퍼 사용.
- 이중 버퍼링: 두 개의 버퍼 사용.
- 순환 버퍼링: 여러 개의 버퍼를 순환하며 사용.
스풀링
- 정의: 입출력 속도 향상을 위해 디스크에 임시 저장.
12강: 디스크 관리
디스크 스케줄링
- 목표: 탐구 시간을 최소화.
알고리즘
- SSTF (Shortest Seek Time First): 가장 가까운 트랙부터 탐구.
- SCAN: 끝까지 갔다가 반대로 탐구.
- C-SCAN (Circular SCAN): 끝까지 갔다가 처음으로 돌아와 탐구.
- LOOK: 데이터가 있는 부분까지만 탐구.
- C-LOOK: 데이터가 있는 부분까지만 탐구하고 처음으로 돌아와 탐구.
- SLTF (Shortest Latency Time First): 회전 지연 시간 최소화.
파일 관리자
- 기능: 파일 생성, 수정, 삭제, 공유, 백업, 보호.
13강: 분산 시스템
분산 시스템
- 정의: 네트워크를 통한 프로세서 집합.
장점
- 자원 공유: 여러 시스템 자원 공유 가능.
- 성능 향상: 병렬 처리로 성능 향상.
- 신뢰성: 시스템 고장 시 다른 시스템이 대체 가능.
- 통신 편리성: 원격 통신 및 협업 가능.
분산 파일 시스템
- 정의: 원격 파일과 로컬 파일 구별 없이 사용 가능.
분산 메모리
- 정의: 네트워크를 통한 메모리 공유.
원격 프로시저 호출 (RPC)
- 정의: 원격 프로시저를 호출하여 실행.
14강: 운영체제 보안
보안 목표
- 기밀성: 정보의 비인가 노출 방지.
- 가용성: 인가된 사용자가 언제든지 접근 가능.
- 무결성: 정보의 비인가 변경 방지.
정보 침해 위협
- 가로채기: 정보 탈취.
- 흐름 차단: 정보 흐름 방해.
- 변조: 정보 수정.
- 위조: 정보 위조.
접근제어
- 임의적 접근제어 (DAC): 소유자가 접근 권한 결정.
- 강제적 접근제어 (MAC): 중앙 관리자가 접근 권한 결정.
- 역할 기반 접근제어 (RBAC): 역할에 따라 접근 권한 결정.
암호 시스템
- 비밀키 암호화: 하나의 비밀키로 암호화 및 복호화.
- 공개키 암호화: 공개키로 암호화, 비밀키로 복호화.
보안 모델
- 벨-라파듈라 모델: 기밀성 중심.
- 비바 모델: 무결성 중심.
15강: 특수 목적 운영체제
리눅스 커널
- 구조: 일체형 구조, 소스 코드 공개.
임베디드 시스템
- 정의: 특정 기능 수행, 하드웨어와 소프트웨어 결합.
실시간 운영체제
- 정의: 마감 시간 내에 결과를 얻기 위한 시스템.
Windows
- 구조: GUI 기반, NT 구조.
- Android: 리눅스 기반 운영체제.
'방송통신대 컴퓨터과학과' 카테고리의 다른 글
알고리즘 (기말 준비) (0) | 2024.05.26 |
---|---|
인공지능 (기말 준비) (0) | 2024.05.26 |
데이터베이스 (기말 준비) (0) | 2024.05.26 |
운영체제 14강 (운영체제 보안) (0) | 2024.05.20 |
알고리즘 13강 (스트링 알고리즘) (0) | 2024.05.16 |