Presentation is loading. Please wait.

Presentation is loading. Please wait.

컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.

Similar presentations


Presentation on theme: "컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net."— Presentation transcript:

1 컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net

2 Chapter 03. 운영체제

3 프로세스 상태 및 스케줄링 등을 통하여 프로세스 관리가 어떻게 이루어지고 있는지 살펴본다
학습목표 운영체제에 대한 기본적인 개념을 이해한다 프로세스 상태 및 스케줄링 등을 통하여 프로세스 관리가 어떻게 이루어지고 있는지 살펴본다 주기억장치 및 보조기억장치, 그리고 논리적 개념인 가상기억장치를 관리하는 운영체제의 역할을 살펴본다 파일 시스템을 통한 정보 관리와 파일을 보호하기 위한 방법을 살펴본다

4 Section 1. 운영체제 개념 – 운영체제 개요
운영체제(OS, Operating System) 컴퓨터의 주기억장치 내에 상주 컴퓨터 시스템의 자원 관리 응용 프로그램의 수행 제어 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스 담당 관리하는 자원 CPU, 기억장치, 입출력장치 등 목적 컴퓨터 시스템의 효율적인 관리와 사용 신뢰도(reliability), 처리량(throughput) 향상 응답 시간(response time) 단축

5 일괄 처리 시스템(batch processing system)
운영체제의 처리 방식 일괄 처리 시스템(batch processing system) 처리할 작업을 일정 기간 또는 일정량이 될 때까지 모아두었다가 한꺼번에 처리하는 방식 컴퓨터 시스템 효율적으로 사용 가능 작업 결과를 빠르게 확인할 수 없음 유휴 시간(idle time)이 잦음 다중 처리 시스템(multiprocessing system) 두 개 이상의 프로세서로 구성되어 다중 작업을 구현하는 방식 작업 속도와 신뢰성 향상

6 다중 프로그래밍 시스템(multiprogramming system)
운영체제의 처리 방식(계속) 다중 프로그래밍 시스템(multiprogramming system) CPU 효율을 극대화하기 위한 방법 여러 개의 사용자 프로그램이 동시에 실행되는 것처럼 처리 CPU의 유휴 시간 줄일 수 있음 기억장치 관리 기법, CPU 스케줄링 기법 필요 시 분할 처리 시스템(time-sharing processing system) 여러 사용자들이 한 컴퓨터를 동시에 이용할 수 있게 하기 위해 각 사용자들에게 CPU에 대한 일정 시간(time slice)을 제공하여 주어진 시간 동안 프로그램을 수행할 수 있도록 개발된 방식 기억장치 관리 기법, CPU 스케줄링 기법 등 필요

7 실시간 처리 시스템(real-time processing system)
운영체제의 처리 방식(계속) 실시간 처리 시스템(real-time processing system) 처리를 요구하는 자료가 발생할 때마다 즉시 처리하여 정해진 짧은 시간 내에 응답하는 시스템 방식 사용자의 노력, 처리 시간, 처리 비용 등 절감 변동 사항 발생 시 즉시 수정 가능 입출력 자료의 일시 저장 및 대기 필요 분산 처리 시스템(distributed processing system) 네트워크를 통해 연결된 여러 컴퓨터 시스템에 작업과 자원을 나누어 처리하게 하는 방식

8 프로세스 관리 기억장치 관리 정보 관리(파일 관리) 입출력장치 관리(주변장치 관리)
운영체제의 자원 관리 프로세스 관리 프로세스의 생성, 삭제, 중지, 계속, 동기화, 프로세스 간의 통신 등 관리 기억장치 관리 주기억장치 공간의 할당, 회수 등 담당 정보 관리(파일 관리) 기억장소의 할당, 빈 공간의 관리, 디스크 스케줄링 등 담당 입출력장치 관리(주변장치 관리) 입출력장치 할당 등 담당

9 반환 시간(turnaround time) 사용 가능도(availability)
운영체제의 성능 평가 처리 능력(throughput) 단위 시간당 처리할 수 있는 작업량 반환 시간(turnaround time) 작업이 시작된 시간에서부터 끝날 때까지의 소요된 시간 사용 가능도(availability) 시스템을 고장 없이 계속 사용할 수 있는지를 나타내기 위한 것 신뢰도(reliability) 시스템이 주어진 환경 아래에서 얼마나 원활하게 기능을 수행할 수 있는가를 나타내는 것

10 도스(DOS, Disk Operating System)
운영체제 종류 도스(DOS, Disk Operating System) 단일 사용자 단일 태스크(task)의 운영체제 MS-DOS, PC-DOS, DR-DOS 등

11 윈도우 98/XP 윈도우 NT/2000 유닉스(UNIX)
운영체제 종류(계속) 윈도우 98/XP 마이크로소프트사에서 만든 그래픽 사용자 인터페이스(GUI, Graphical User Interface) 환경으로 된 PC 운영체제 윈도우 NT/2000 클라이언트/서버 환경에서 서버로 동작하는 시스템에 사용될 목적으로 개발 유닉스(UNIX) 다중 사용자(multi-user), 다중 작업(multi-tasking) 지원 기업의 서버 컴퓨터와 통신용 서버 컴퓨터 등으로 사용

12 리눅스(Linux) 매킨토시(Macintosh) 운영체제 프로그램 소스 코드가 무료로 공개되어 있는 개방형 운영체제
운영체제 종류(계속) 리눅스(Linux) 프로그램 소스 코드가 무료로 공개되어 있는 개방형 운영체제 매킨토시(Macintosh) 운영체제 애플사에 의해 개발된 강력한 그래픽 기능을 가진 운영체제

13 Section 2. 프로세스 관리 – 프로세스 개념
프로세스(process) 정의 실행 중이거나 곧 실행이 가능한 프로세스 제어 블록(PCB, Process Control Block)을 가진 프로그램 PCB 프로세스에 대한 정보를 저장하고 있는 자료구조 테이블 구성

14 프로세스 상태 준비 상태(ready state) 실행 상태(running state) 대기 상태(blocked state)
프로세스 개념(계속) 프로세스 상태 준비 상태(ready state) 프로세스가 주기억장치 등 필요한 자원들을 할당받은 상태에서 프로세서(CPU)를 할당받기 위해 기다리고 있는 상태 실행 상태(running state) 프로세스가 프로세서를 차지하고 있는 상태 대기 상태(blocked state) 프로세스가 필요한 자원을 요청한 후 이를 할당받을 때까지 기다리는 상태 시스템 이상이나 과부하 등으로 인해 프로세스가 기억장치를 빼앗기는 경우 보류된 준비 상태, 보류된 대기 상태

15 프로세스 개념 – 프로세스 상태(계속) 기본 프로세스 상태 전이

16 프로세스 개념(계속) 인터럽트(interrupt) 프로세서(CPU)가 명령문을 수행하고 있을 때 예측하지 못했던 사건 등이 발생하여 다른 작업을 처리하기 위해 수행하던 일을 강제로 중단시키는 것 종류 SVC(SuperVisor Call) 인터럽트 / 입출력 인터럽트 / 프로그램 검사 인터럽트 / 하드웨어 검사 인터럽트 / 외부 인터럽트 / 재시작 인터럽트 인터럽트 서비스 루틴(ISR, Interrupt Service Routine) 인터럽트를 처리하기 위해 수행하는 프로그램 루틴 인터럽트 서비스 루틴이 끝나게 되면 중단되었던 프로세스로 돌아가서 실행을 계속함

17 병행 프로세스(concurrent processes)
두 개 이상의 프로세스가 동시에 실행되는 것 비동기성(asynchronous) 프로세스 간에 상호 협력하는 것 병행 프로세스의 비동기성으로 인해 발생하는 문제들을 해결하기 위한 방법 동기화(synchronization) 상호 배제(mutual exclusion) 임계 영역(critical section)

18 다중 프로그래밍 시스템에서 프로세스가 기다려도 일어나지 않을 사건을 기다리고 있는 것
교착 상태(deadlock) 다중 프로그래밍 시스템에서 프로세스가 기다려도 일어나지 않을 사건을 기다리고 있는 것 병행 처리와 자원 공유로 인해 발생되는 문제 환형 대기(circular wait)

19 교착 상태의 발생 조건 교착 상태의 해결 방법 상호 배제(mutual exclusion) 조건
교착 상태(deadlock)(계속) 교착 상태의 발생 조건 상호 배제(mutual exclusion) 조건 점유와 대기(hold and wait) 조건 비선점(nonpreemption) 조건 환형 대기(circular wait) 조건 교착 상태의 해결 방법 교착 상태 예방(deaklock prevention) 교착 상태 회피(deaklock avoidance) 교착 상태 발견(deaklock detection) 교착 상태 회복(deaklock recovery)

20 특정 자원을 요청하고 있는 대상들 중에서 누구에게 먼저 자원을 할당해 줄 것인가를 결정하는 일
스케줄링(scheduling) 특정 자원을 요청하고 있는 대상들 중에서 누구에게 먼저 자원을 할당해 줄 것인가를 결정하는 일 단계별 구분 작업 스케줄링(장기 스케줄링) 중기 스케줄링 프로세스 스케줄링(단기 스케줄링, CPU 스케줄링)

21 스케줄링(scheduling)(계속)
프로세스 스케줄링의 분류 방법별 분류 선점형(preemptive) 스케줄링 비선점형(nonpreemptive) 스케줄링 알고리즘별 분류 RR(Round-Robin) 스케줄링 선점형 SRT(Shortest Remaining Time) 스케줄링 MFQ(Multilevel Feedback Queue) 스케줄링 우선순위(priority) 스케줄링 비선점형 기한부(deadline) 스케줄링 FIFO(First-In First-Out) 스케줄링 SJF(Shortest Job First) 스케줄링 HRN(Highest Response ratio Next) 스케줄링

22 스케줄링(scheduling)(계속)
방법별 분류 선점형 스케줄링 하나의 프로세스가 이미 프로세서를 점유하고 실행 중인 프로세스로부터 프로세서(processor)를 선점하여 실행할 수 있는 방법 비선점형 스케줄링 하나의 프로세스가 프로세서를 할당받았을 때 자신에게 할당된 시간 동안 다른 작업에 의해 간섭받지 않고 끝까지 프로세서를 소유하는 방법

23 스케줄링(scheduling)(계속)
알고리즘별 분류 RR 스케줄링 프로세서를 지정된 시간 안에만 사용할 수 있는 방식 SRT 스케줄링 준비 상태의 프로세스들 중에서 남아있는 실행 시간의 추정치가 가장 적은 프로세스를 먼저 실행시키는 방법

24 스케줄링(scheduling) – 알고리즘별 분류(계속)
MFQ 스케줄링 대기 큐 여러 개를 두어 각 단계의 큐에서 제공하는 시간 내에 프로세스가 완료되지 못하면 계속 다음 단계의 큐로 전달하며 마지막 단계의 큐에서는 작업이 완료될 때까지 라운드 로빈(Round-Robin)으로 처리되는 방식

25 스케줄링(scheduling) – 알고리즘별 분류(계속)
우선 순위 스케줄링 우선 순위가 가장 높은 프로세스를 먼저 처리하는 방식 기한부 스케줄링 프로세스가 주어진 시간 내에 완료되면 유용한 것으로 보고 그 시간 내에 완료되지 못하면 가치가 없는 것으로 보는 방식 FIFO 스케줄링 대기 큐에 먼저 도착한 프로세스가 먼저 프로세서를 할당받도록 해주는 가장 간단한 방식 SJF 스케줄링 현재 준비 상태에 있는 프로세스들 중에서 실행 시간 추정치가 가장 작은 프로세스부터 처리하는 방식 HRN 스케줄링 우선 순위 결정식

26 Section 3. 기억장치 관리 – 주기억장치 관리
주기억장치 관리 전략 반입 전략(fetch strategy) 주기억장치에 적재할 프로그램이나 데이터를 언제 보조기억장치에서 주기억장치로 가져올 것인가를 결정하는 전략 요구 반입(demand fetch) 전략 예상 반입(anticipatory fetch) 전략 교체 전략(replacement strategy) 새로운 프로그램을 배치할 주기억장치의 위치를 정할 때, 주기억장치의 공간이 부족하여 현재 주기억장치에 적재되어 있는 프로그램 중에서 어떤 프로그램이나 데이터를 제거할 것인지를 결정하는 전략

27 주기억장치 관리 – 주기억장치 관리 전략(계속)
배치 전략(placement strategy) 새로 가져오는 프로그램이나 데이터를 주기억장치의 어디에 위치시킬 것인가를 결정하는 전략 최초 적합(first-fit) 전략 최적 적합(best-fit) 전략 최악 적합(worst-fit) 전략

28 주기억장치 관리 기법 단일 프로그래밍 기법 고정 분할 다중 프로그래밍 기법 가변 분할 다중 프로그래밍 기법
주기억장치 관리(계속) 주기억장치 관리 기법 단일 프로그래밍 기법 시스템 내에 항상 하나의 프로세스만 존재하며 현재의 프로세스가 종료된 후에 다른 프로세스가 실행되는 가장 단순한 기법 고정 분할 다중 프로그래밍 기법 주기억장치를 여러 개의 고정된 크기들로 분할하여 실행 중인 여러 프로세스에게 할당하는 기법 가변 분할 다중 프로그래밍 기법 프로그램이 적재될 때마다 그 크기에 맞게 주기억장치의 공간을 할당해주는 기법

29 단편화 현상과 해결책 단편화(fragmentation) 해결책 주기억장치 관리(계속)
주기억장치에서 부분적인 기억 공간이 프로그램에 의해 사용되지 않고 낭비되는 현상 해결책 압축(compaction) 기법 통합(coalescing) 기법

30 주기억장치보다 용량이 큰 보조기억장치를 주기억장치인 것처럼 사용하기 위한 기억장소 관리 기법
가상기억장치 주기억장치보다 용량이 큰 보조기억장치를 주기억장치인 것처럼 사용하기 위한 기억장소 관리 기법 가상주소(virtual address) 컴퓨터에는 실제로 존재하지 않지만 가상기억장치에서 현재 진행 중인프로세스가 참조하는 주소 실제주소(real address) 주기억장치에서 실제로 사용 가능한 주소

31 인위적 연속성(artificial continuity)
가상기억장치(계속) 인위적 연속성(artificial continuity) 가상기억장치에서 프로그램이나 데이터가 갖는 연속적인 가상주소가 주기억장치에서도 연속될 필요가 없다는 것

32 가상기억장치 구현 방법 페이징(paging) 기법 가상기억장치(계속)
주기억장치를 페이지 프레임(page frame)이라 불리는 고정 크기의 블록으로 나누고 보조기억장치에 저장되어있는 프로그램이나 데이터를 고정된 페이지로 쪼개어서 주기억장치의 페이지 프레임에 올려서 수행하는 기법

33 가상기억장치 – 가상기억장치 구현 방법(계속)
세그먼테이션(segmentation) 기법 프로그램이나 데이터를 서로 다른 크기로 분할하여 주기억 장치에 적재하도록 하는 기법 세그먼트(segment) 다른 크기로 분할된 프로그램 블록들 페이징 기법과 세그먼테이션 기법의 혼합 프로그램을 논리적인 세그먼트 단위로 분할하고 분할된 각 세그먼트들을 다시 각각 페이지 단위로 분할하는 기법 프로그램이 주기억장치에 적재될 때는 분할된 페이지 단위로 적재

34 가상기억장치 관리 기법 반입 기법(fetch strategy) 배치 기법(placement strategy)
가상기억장치(계속) 가상기억장치 관리 기법 반입 기법(fetch strategy) 페이지나 세그먼트를 언제 보조기억장치에서 주기억장치로 옮길 것인가를 결정하는 기법 요구 반입 기법(demand fetch strategy) 예상 반입 기법(anticipatory fetch strategy) 배치 기법(placement strategy) 페이지나 세그먼트를 주기억장치의 어디로 옮길 것인가를 결정하는 기법 교체 기법(replacement strategy) 주기억장치에 적재되어 있는 페이지(또는 세그먼트)들 중에서 어느 것을 교체할 것인가를 결정하는 기법 FIFO(First In First Out) 기법 LRU(Least Recently Used) 기법 LFU(Least Frequently Used) 기법

35 디스크 스케줄링 FCFS(First Come First Served) 스케줄링
보조기억장치 디스크 스케줄링 FCFS(First Come First Served) 스케줄링 먼저 도착한 요청이 먼저 서비스를 받으며, 더 높은 우선순위를 갖는 요청이 있어도 순서가 바뀌지 않음 SSTF(Shortest Seek Time First) 스케줄링 현재 헤드의 위치로부터 탐색 거리가 가장 짧은 요청이 먼저 서비스를 받음 SCAN 스케줄링 STF의 공평성 문제를 극복하기 위한 스케줄링 기법 진행 방향 상에서 가장 짧은 거리의 요청을 먼저 서비스 그 방향에서 서비스가 끝나면 반대 방향으로 서비스를 계속 진행

36 N-단계 SCAN 스케줄링 C-SCAN 스케줄링 에센바흐 기법 SLTF 스케줄링 보조기억장치 – 디스크 스케줄링(계속)
진행 방향 상의 요청을 서비스하지만, 진행 중에 새로이 추가된 요청은 서비스하지 않고 다음 진행시에 서비스하는 기법 C-SCAN 스케줄링 항상 바깥쪽 실린더에서 안쪽으로 움직이면서 가장 짧은 탐색 시간을 가지는 요청을 서비스하고, 서비스가 끝나면 헤드는 다시 바깥쪽 실린더로 이동 에센바흐 기법 탐색 시간 최적화뿐만 아니라 회전 지연 시간도 최적화하고자 하는 최초의 기법 SLTF 스케줄링 디스크 헤드가 특정 실린더에 도착하면 그 실린더 내의 여러 트랙에 대한 요청들을 검사한 후 회전 지연 시간이 가장 짧은 요청부터 서비스

37 파일(file) 디스크 등의 보조기억장치에 저장되는 서로 관련성 있는 데이터의 집합 구성
Section 4. 정보 관리 – 파일 시스템 파일(file) 디스크 등의 보조기억장치에 저장되는 서로 관련성 있는 데이터의 집합 구성

38 파일 시스템(file system) 보조기억장치상의 파일 관리 파일에 대한 정보 관리 기능 파일 시스템(계속)
파일의 생성, 수정, 삭제 파일의 공유와 그에 따른 여러 종류의 접근 방법 제공 파일의 백업과 복구 파일의 보호 사용자에게 편리한 인터페이스 제공

39 파일 구조에 따른 분류 순차 파일(sequential file) 직접 파일(direct file) 파일 시스템(계속)
레코드의 물리적 배치 순서를 논리적 배치 순서와 동일하게 유지하여 저장시키는 파일 형태 공간 낭비가 없음 레코드의 삽입이나 삭제가 어려움 직접 파일(direct file) 레코드가 저장장치의 물리적 주소를 통해 직접 접근하는 파일 형태 레코드를 주소 계산에 의해 직접 처리할 수 있음 키 변환을 위한 계산 과정 때문에 시간이 지연됨

40 색인 순차 파일(indexed sequential file)
파일 시스템 – 파일 구조에 따른 분류(계속) 색인 순차 파일(indexed sequential file) 각 레코드의 키(key)에 따라 논리적 순서로 배열되어 있는 파일 형태 융통성 있는 파일 처리 가능 색인 영역에 대한 별도의 기억 공간이 많이 필요함 분할된 파일(partitioned file) 여러 개의 순차 서브 파일(sequential subfile)로 구성된 파일 형태 프로그램 라이브러리나 매크로 라이브러리를 저장할 때 유용하게 사용

41 연속 할당(continuous allocation)
공간 할당 방식 연속 할당(continuous allocation) 파일이 보조기억장치에 저장될 때 연속된 공간을 할당받는 것 액세스 시간이 줄어듦 파일이 디스크에서 제거된 후에 단편화 문제 발생할 수 있음

42 불연속 할당(non-continuous allocation)
공간 할당 방식(계속) 불연속 할당(non-continuous allocation) 연결(linked) 할당 동일 파일에 속하는 섹터들이 링크로 연결되어 섹터 단위로 할당되는 방식 논리적으로 연속된 블록들을 검색하는 데 많은 시간이 소요됨

43 블록(block) 할당 공간 할당 방식 – 불연속 할당(계속)
연속된 섹터를 할당하고 자료를 확장할 때는 가장 가까운 거리에 있는 빈 블록을 선택하여 그 파일에 추가 할당 색인(indexed) 할당이 대표적인 기법

44 파일에 대한 접근을 제한하는 방법 백업(backup) 접근 제어 행렬(access control matrix)
파일 보호 파일에 대한 접근을 제한하는 방법 접근 제어 행렬(access control matrix) 사용자와 파일의 관계를 행렬을 사용하여 기입 사용자별로 파일마다 읽기, 쓰기, 실행의 제어가 가능 암호화(password) 파일 명명법(file naming) 백업(backup) 갑작스런 손실을 방지하기 위하여 주기적으로 시스템의 파일을 복사하여 다른 저장장치에 보존하여 두는 것 정보 손실의 피해를 복구할 수 있음

45 Thank you ehanbit.net


Download ppt "컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net."

Similar presentations


Ads by Google