StallingsOS6e-Chap02.ppt [호환...
Transcript of StallingsOS6e-Chap02.ppt [호환...
![Page 1: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/1.jpg)
22장장.. 운영체제운영체제 개요개요22장장. . 운영체제운영체제 개요개요
22장의장의 강의강의 목표목표
• 운영체제의 목적과 기능을 이해한다.
• 운영체제 기술 발전을 이해한다.
• 일괄처리시스템, 다중 프로그래밍, 시분할시스템의 개념을일괄처리시 템, 다중 래밍, 시분할시 템의 개념을이해한다.
• 운영체제의 주요 성과에 대한 이해운영체제의 주요 성과에 대한 이해
– 프로세스 관리
– 메모리 관리메모리 관리
– 정보 보호 및 보안, 스케줄링 및 자원 관리, 시스템 구조
• 사례 시스템• 사례 시스템
– Microsoft Windows / UNIX 계열 / Linux
운영체제 개요 2
![Page 2: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/2.jpg)
목목 차차
2.1 운영체제의 목적 및 기능
2.2 운영체제의 발전
2.3 주요 성과주 성과
2.4 최근 운영체제로의 발전
2 5 Mi ft Wi d 개요2.5 Micorsoft Windows 개요
2.6 전통적인 UNIX 시스템
2.7 최근의 UNIX 시스템
2.8 Linux
운영체제 개요 3
운영체제운영체제
• 응용 프로그램의 실행을 제어하는 프로그램
• 응용과 하드웨어 간의 인터페이스
• 컴퓨터 사용자가 컴퓨터 하드웨어를 편리하게 사용할 수 있게 해주는 핵심 시스템 소프트웨어게 해주는 핵심 시스템 소프트웨어
• 사용자 입장
– 사용자 프로그램을 실행시켜 주고,
– 사용자가 컴퓨터를 이용하여 문제 푸는 것을 쉽게 해줌
컴퓨터 시스템 사용을 쉽게 해주려는 역할도 함– 컴퓨터 시스템 사용을 쉽게 해주려는 역할도 함.
Computing EnvironmentComputing Environment
시스템 입장• 시스템 입장
– 컴퓨팅 자원들을 가능한 한 효율적으로 사용하도록 돕는다.
R MR M
운영체제 개요 4
Resource ManagerResource Manager
![Page 3: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/3.jpg)
2.1 2.1 운영체제의운영체제의 목적목적 및및 기능기능
• 편리성
– 컴퓨터를 사용하기 쉽게
• 효율성
– 컴퓨터 시스템 자원을 효율적인 방법으로 사용할 수 있게
• 발전 능력발 능력
– 효과적인 개발과 검사 그리고 새로운 시스템 기능도입을 다른 서비스를 방해하지 않고 수용해야 함
운영체제 개요 5
컴퓨터컴퓨터 시스템의시스템의 계층계층 구조구조 -- 편리성편리성 관점관점
2.1 운영체제의 목적 및 기능
운영체제 개요 6
![Page 4: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/4.jpg)
운영체제가운영체제가 제공하는제공하는 서비스서비스 -- 편리성편리성
2.1 운영체제의 목적 및 기능
• 프로그램 개발
– 에디터 및 디버거
• 프로그램 실행
• I/O 디바이스 접근I/O 디바이스 접근
• 파일 접근의 제어
• 시스템 접근
• 에러 검출 및 응답
– 내부 및 외부 하드웨어 에러 : 메모리 에러, 디바이스 결함
– 소프트웨어 에러 : 산술 오버플로우, 금지된 메모리 영역의 접근
– 응용의 요청을 수용하지 않을 수 있음
• AccountingAccounting
– 사용 통계 취합 / 성능 모니터
– 기능 보완의 필요성을 미리 예상하거나 성능향상을 위해 시스템 조율하는데 유용
운영체제 개요 7
용
– 과금의 목적도 있음
효율성효율성 측면의측면의 운영체제운영체제 -- 자원관리자자원관리자
2.1 운영체제의 목적 및 기능
• 자원 관리의 책임
• 일반적인 컴퓨터 소프트웨어와 동일하게 기능(실행되는 프로그램임)
• 운영체제는 처리기의 제어를 빈번하게 응용에게 양도했다 받아가며 실행됨행됨.
운영체제 개요 8
![Page 5: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/5.jpg)
커널커널 (kernel)(kernel)2.1 운영체제의 목적 및 기능
• 주 메모리에 상주하는 운영체제 핵심
• 자주 사용되는 기능을 포함
• Nucleus라고도 불림라 불림
운영체제 개요 9
운영체제운영체제 발전의발전의 용이성용이성
2.1 운영체제의 목적 및 기능
• 운영체제가 진화할 수밖에 없는 이유
– 하드웨어 업그레이드와 새로운 형태의 하드웨어
– 새로운 서비스
• 사용자 또는 시스템 관리자의 요구에 따라 새로운 서비스를 제공하기위해 운영체제가 확장되어야 함
결함 수정– 결함 수정
• 어떤 운영체제도 결함을 가지고 있음
운영체제 개요 10
![Page 6: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/6.jpg)
2.2 2.2 운영체제의운영체제의 발전발전
• 순차 처리
– 운영체제 없음
– 이 시대의 컴퓨터들은 디스플레이 발광체(light) 토글이 시대의 컴퓨터들은 디스플레이 발광체(light), 토글(toggle) 스위치, 입력 장치, 프린터 등으로 구성된 콘솔(console)을 통해 운영( )
– 문제점
• 자동 스케줄링(scheduling) 부재자동 스케줄링(scheduling) 부재
• 프로그램 실행을 위한 준비시간(setup time)이 너무 길다
– 컴파일러와 소스 프로그램의 적재 컴파일된 프로그램컴파일러와 소스 프로그램의 적재 컴파일된 프로그램의 저장 / 적재 / 링킹
운영체제 개요 11
단순단순 일괄일괄 처리처리 시스템시스템
2.2 운영체제의 발전
• 모니터
– 일련의 이벤트를 제어하는 소프트웨어
– batch 작업작
– 작업이 완료되면 제어는 다시 모니터로 넘어가고, 모니터는즉시 다음 작업을 읽음
– 각 작업의 결과는 출력되어 사용자에게 전달
– JCL(Job Control Language)을 활용해 모니터에게 요청할 명JCL(Job Control Language)을 활용해 모니터에게 요청할 명령어를 구성할 수 있다.
운영체제 개요 12
![Page 7: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/7.jpg)
Job Control Language (JCL)Job Control Language (JCL)단순 일괄처리 시스템2.2 운영체제의 발전
• 특수한 형태의 프로그래밍 언어
• 모니터에 명령어 제공
– 사용할 컴파일러가 무엇인지
– 사용할 데이터가 무엇인지
운영체제 개요 13
근대근대 운영체제로운영체제로 발전을발전을 위한위한 하드웨어하드웨어 기능기능
단순 일괄처리 시스템2.2 운영체제의 발전
• 메모리 보호
– 모니터를 포함하고 있는 메모리 영역이 변경되지 않도록
• 타이머
– 단일 작업이 시스템을 독점하지 못하도록
• 특권 명령어특 명령어
– 특정 기계 수준의 명령어는 모니터에 의해서만 수행되게
• 인터럽트• 인터럽트
– 초기의 컴퓨터 모델에서는 사용하지 않았음
운영체제 개요 14
![Page 8: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/8.jpg)
메모리메모리 보호보호
단순 일괄처리 시스템2.2 운영체제의 발전
• 사용자 프로그램은 사용자 모드에서 수행
– 특정 명령어는 수행되지 않을 수 있음
• 모니터는 시스템 모드에서 수행
– 커널 모드라고도 함.
– 특권 명령어가 수행
– 보호된 메모리 영역을 접근할 수 있음
운영체제 개요 15
다중프로그래밍다중프로그래밍 일괄처리일괄처리 시스템시스템
2.2 운영체제의 발전
• 등장 배경
• 처리기 이용률(utilization) 측면에서 단순 일괄처리 시스템의 단점
• 입출력과 CPU 계산이 중첩되게 하면 성능 향상이 가능!
운영체제 개요 16
![Page 9: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/9.jpg)
다중프로그래밍다중프로그래밍 일괄처리일괄처리 시스템시스템((계속계속))2.2 운영체제의 발전
• 단일 프로그래밍의 단점
– 처리기는 진행 전에 I/O 명령어를 대기해야 함
운영체제 개요 17
다중다중 프로그래밍프로그래밍 (multiprogramming)(multiprogramming)다중프로그래밍 일괄처리 시스템2.2 운영체제의 발전
• 다중프로그래밍을 위해 운영체제가 제공해야 할 기능들
– 입출력 루틴
– 여러 작업에 메모리를 나누어 할당할 수 있는 메모리메모리 관리관리 기능
–– CPU schedulingCPU scheduling :다음 번 작업으로 어떤 것을 고를 것인가?
– 장치 사용 제어(할당, 반환, …)
• 다중프로그래밍의 목표
–– CPU CPU 사용율을사용율을 높임높임
• 단점
– 운영체제가 정한 일련의 정책에 사용자들이 개입할 방법이 거의운영체제가 정한 일련의 정책에 사용자들이 개입할 방법이 거의없음
운영체제 개요 18
![Page 10: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/10.jpg)
다중다중 프로그래밍프로그래밍 ((계속계속))다중프로그래밍 일괄처리 시스템2.2 운영체제의 발전
• 한 작업이 입출력을 대기해야 할 때, 처리기는 다른 작업으로 제어를 넘김로 제어를 넘김
운영체제 개요 19
프로그램프로그램 수행수행 속성의속성의 예예
다중프로그래밍 일괄처리 시스템2.2 운영체제의 발전
운영체제 개요 20
![Page 11: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/11.jpg)
프로그램프로그램 수행수행 속성의속성의 예예 ((계속계속))다중프로그래밍 일괄처리 시스템2.2 운영체제의 발전
• 이용률 히스토그램
운영체제 개요 21
시분할시분할 (time sharing) (time sharing) 시스템시스템
2.2 운영체제의 발전
• 대화형 작업을 처리하기 위해 다중 프로그래밍 기법 사용
• 다수의 사용자가 처리기 시간을 공유
• 다수의 사용자는 터미널을 통해 동시에 시스템에 접속할 수다수의 사용자는 터미널을 통해 동시에 시 템에 접속할 수있음
rmemory processorHDDI/O
devices
메인프레임컴퓨터
operator
terminal server
terminals
22
Users
![Page 12: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/12.jpg)
시분할시분할 (time sharing) (time sharing) 시스템시스템 ((계속계속))2.2 운영체제의 발전
• 일괄처리 다중프로그래밍과 시분할 시스템의 비교
운영체제 개요 23
초기초기 시분할시분할 시스템의시스템의 예예
시분할 시스템2.2 운영체제의 발전
• Compatible Time-Sharing System (CTSS)p g y ( )
• MIT에서 개발한 초기의 시분할 시스템
운영체제 개요 24
![Page 13: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/13.jpg)
2.3 2.3 주요주요 성과성과
• 운영체제 발전 과정에서 이룬 5가지 주요 진전
– 프로세스
– 메모리 관리메모리 관리
– 정보 보호 및 보안
케 링 및 자원 관리– 스케줄링 및 자원 관리
– 시스템 구조
운영체제 개요 25
프로세스프로세스(process)(process)2.3 주요 성과
• 실행 중인 프로그램
• 컴퓨터 상에서 수행 중인 프로그램의 인스턴스(instance)
• 처리기에 할당되어 수행될 수 있는 개체(entity)처리기에 할당되어 수행될 수 있는 개체( y)
• 다음과 같은 기준에 의해 특징지어지는 작업 단위
하나의 순차적인 실행 흐름– 하나의 순차적인 실행 흐름
– 현재 상태
연관된 시스템 지원의 집합– 연관된 시스템 지원의 집합
운영체제 개요 26
![Page 14: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/14.jpg)
시스템시스템 소프트웨어소프트웨어 설계의설계의 어려움어려움
프로세스2.3 주요 성과
• 동기화 오류
– I/O 장치를 대기하는 프로세스는 신호(signal)처리를 확실하게 해야 함
상호배제 실패• 상호배제 실패
• 비결정적인(nondeterminate) 프로그램 연산
– 프로그램의 결과는 그 프로그램의 입력에 의해서 결정되어야 하며, 다른 프로그램의 입력에 의해서 결정되어서는 안됨
• 교착상태(deadlocks)
운영체제 개요 27
프로세스의프로세스의 세세 가지가지 구성요소구성요소
프로세스2.3 주요 성과
• 수행 가능한(executable) 프로그램
• 프로그램 수행에 필요한 관련 데이터
– 변수, 작업 공간, 버퍼 등
• 프로그램 수행 문맥(execution context, process state)
– 운영체제가 프로세스를 관리하는데 필요한 모든 정보운영체제가 프로세스를 관리하는데 필요한 모든 정보
운영체제 개요 28
![Page 15: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/15.jpg)
프로세스프로세스 구현의구현의 예예
프로세스2.3 주요 성과
운영체제 개요 29
메모리메모리 관리관리
2.3 주요 성과
• 프로세스 분리(isolation)
• 자동 할당 및 관리
– 메모리 요청 시 사용자 개입 없이 할당해주어야 함.
• 모듈식 프로그래밍 지원
• 보호 및 접근 제어• 보호 및 접근 제어
• 영구적 저장 지원
운영체제 개요 30
![Page 16: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/16.jpg)
메모리메모리 관리를관리를 위한위한 파일파일 시스템시스템
메모리 관리2.3 주요 성과
• long-term store 구현의 한 방법
• 저장되는 정보는 파일이라 불리는 명명된 객체(named object)임
• 프로그래머는 논리적인 관점을 가지고 메모리 접근
운영체제 개요 31
페이징페이징 (paging)(paging)
메모리 관리2.3 주요 성과
• 모든 메모리는 페이지라 불리는 고정된 크기의 블록으로 구성됨성됨
• 가상 주소는 페이지 번호와 페이지 내의 오프셋으로 되어있음있음
• 각 페이지는 주기억장치 또는 보조기억장치의 어디에나 위치할 수 있다치할 수 있다.
• 실 주소(real address) 또는 물리 주소(physical address)는주기억장치의 주소임에 주의할 것!
운영체제 개요 32
![Page 17: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/17.jpg)
가상가상 메모리의메모리의 개념개념
메모리 관리2.3 주요 성과
운영체제 개요 33
가상가상 주소를주소를 실주소로실주소로 바꾸는바꾸는 과정과정
메모리 관리2.3 주요 성과
운영체제 개요 34
![Page 18: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/18.jpg)
정보정보 보호와보호와 보안보안
2.3 주요 성과
• 가용성 (availability)
– 시스템이 중지되지 않게 하는 것과 관련됨
• 기밀성 (confidentiality)
– 접근 권한이 부여되지 않은 데이터를 사용자가 읽지 못하도록 보장하는 것
• 데이터 무결성 (data integrity)
– 데이터가 불법적으로 수정되지 못하게 보호
• 인증 (authenticity)
– 사용자 신원이나 메시지와 데이터의 유효성에 대한 적절한 검증과관련됨
운영체제 개요 35
스케쥴링과스케쥴링과 자원자원 관리관리
2.3 주요 성과
• 공정성
– 자원으로의 동일하고 공정한 접근
• 차등 서비스차등 서비
– 다른 작업 클래스들을 구별
• 효율성• 효율성
– 작업처리량을 극대화
반응시간을 최소화– 반응시간을 최소화
– 가능한 많은 수의 사용자를 동시에 수용할 수 있도록 함
운영체제 개요 36
![Page 19: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/19.jpg)
프로세스프로세스 스케줄링스케줄링 관련관련 운영체제운영체제 주요주요 요소요소스케줄링과 자원 관리2.3 주요 성과
운영체제 개요 37
시스템시스템 구조구조
2.3 주요 성과
• 일련의 연속된 레벨로 구성된 계층구조로 볼 수 있음
• 각 레벨은 운영체제가 처리해야 할 기능의 일부를 수행
• 각 레벨은 자신의 바로 하위 레벨에 있는 보다 기본적인각 레벨은 자신의 바 하위 레벨에 있는 다 기본적인(primitive) 함수를 호출할 수 있음
• 하나의 문제를 보다 관리하기 쉬운 여러 개의 작은 문제로하나의 문제를 보다 관리하기 쉬운 여러 개의 작은 문제로분할해 줌
운영체제 개요 38
![Page 20: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/20.jpg)
시스템시스템 레벨레벨
시스템 구조2.3 주요 성과
• 레벨 1
– 전자 회로
– 레지스터, 메모리 셀 및 논리 게이트가 주요 객체
– 레지스터 삭제 또는 메모리 읽기 등이 대표적인 연산
• 레벨 2
– 처리기의 명령어 집합
– add, subtract, load 및 store 등이 대표적인 연산
• 레벨 3
– 호출/복귀 연산을 포함한 프로시저 또는 서브루틴 개념 추가호출/복귀 연산을 포함한 프로시저 또는 서브루틴 개념 추가
• 레벨 4
인터럽트– 인터럽트
운영체제 개요 39
다중다중 프로그래밍과프로그래밍과 관련된관련된 시스템시스템 레벨레벨
스케줄링과 자원 관리2.3 주요 성과
• 레벨 5
– 실행 중인 프로그램으로서의 프로세스
– 프로세스 보류 및 재개
• 레벨 6
– 2차 저장 장치
– 데이터 블록 전송
• 레벨 7레
– 프로세스에게 논리적인 주소 공간 제공
– 가상 주소 공간을 블록 단위로 구성가상 주소 공간을 블록 단위로 구성
운영체제 개요 40
![Page 21: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/21.jpg)
외부외부 객체객체 처리를처리를 위한위한 상위상위 시스템시스템 레벨레벨
스케줄링과 자원 관리2.3 주요 성과
• 레벨 8
– 프로세스 간 정보와 메시지 통신
• 레벨 9
– 파일이라고 불리는 장기 저장 장소 지원
• 레벨 10레벨
– 표준 인터페이스를 사용한 외부 장치 접근 제공
• 레벨 11• 레벨 11
– 외부 식별자와 내부 식별자 간의 연계성 유지 책임
레벨 12• 레벨 12
– 프로세스 지원을 위한 다양한 기능 제공
레벨• 레벨 13
– 사용자에게 운영체제를 접근하기 위한 인터페이스 제공운영체제 개요 41
2.4 2.4 최근최근 운영체제로의운영체제로의 발전발전
• 마이크로 커널 구조
– 몇몇 소수의 핵심 기능만을 커널에 포함
• 주소 공간
• 프로세스 간 통신(IPC : inter-process communication)
• 기본적인 스케줄링
다중쓰레딩( i i )• 다중쓰레딩(multi-threading)
– 프로세스를 동시에 수행될 수 있는 쓰레드들로 분할하는 기법
• 쓰레드
– 작업의 디스패치 단위로써 실행 흐름을 의미
– 순차적으로 수행되고 인터럽트 당할 수 있음순차적으로 수행되고 인터럽트 당할 수 있음
• 프로세스는 하나 이상의 쓰레드와 관련 자원들의 모음
운영체제 개요 42
![Page 22: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/22.jpg)
최근최근 운영체제운영체제: Parallel system: Parallel system
2.4 최근 운영체제로의 발전
• 대칭형 다중처리(SMP: Symmetric multiprocessing)
– 다수의 처리기들로 구성
– 이들 처리기는 주기억장치와 입출력 장치를 공유
– 모든 처리기는 동일한 기능을 수행할 수 있음
• 비대칭형 다중처리(Asymmetric multiprocessing)
– 각 처리기 마다 각자의 역할이 있음
• 마스터 처리기는 슬레이브 처리기들에게 작업과 메모리를 할당한다.
– 초대형 시스템에서 자주 사용하는 병렬 처리 방식임
운영체제 개요 43
다중프로그래밍과다중프로그래밍과 다중처리다중처리
2.4 최근 운영체제로의 발전
운영체제 개요 44
![Page 23: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/23.jpg)
기타기타 운영체제운영체제 관련관련 이슈들이슈들
2.4 최근 운영체제로의 발전
• 분산 운영체제
– 단일 주기억장치 공간과 단일 보조기억장치 공간을 사용하는 것처럼 느끼게 해줌
• 객체 지향 설계
– 작은 커널을 모듈 단위로 확장해 가는 기능 제공
– 시스템의 무결성을 해치지 않으면서 프로그래머로 하여금 자신이원하는 대로 운영체제를 구성할 수 있게 해 줌원하는 대로 운영체제를 구성할 수 있게 해 줌
운영체제 개요 45
실시간실시간 시스템시스템 (real(real--time system)time system)
2.4 최근 운영체제로의 발전
• 특수 목적의 전용 기기를 위한 운영체제로 사용됨
– controlling scientific experiments / medical imaging systems
– industrial control systems / display systems.
프로세스 실행에 시간 제약 조건이 있음• 프로세스 실행에 시간 제약 조건이 있음
• 시간 제약조건의 심각성에 따른 분류
– 경성(hard) 실시간 시스템
– 연성(soft) 실시간 시스템
운영체제 개요 46
![Page 24: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/24.jpg)
임베디드임베디드 시스템시스템(embedded system)(embedded system)
2.4 최근 운영체제로의 발전
• 제품(또는 시스템) 내에 내장되어 있는 컴퓨터 시스템
– “컴퓨터의 하드웨어와 소프트웨어가 조합되어 특수한 목적을 수행하는 시스템”
수행 환경에 따라 환경적 제약/시간적 제약을 만족시키며 실행되– 수행 환경에 따라 환경적 제약/시간적 제약을 만족시키며 실행되어야 한다.
• 예• 예
– PDA / Cellular telephones / 셋톱박스 / Home Appliances
연구 이슈들• 연구 이슈들
– 메모리 양의 제약을 어떻게 극복할 것인가?
처리기가 상대적으 느림– 처리기가 상대적으로 느림
– 화면이 작음
전력 소모량과 배터리 수명
운영체제 개요 47
– 전력 소모량과 배터리 수명
2.5 Microsoft Windows2.5 Microsoft Windows 개요개요
• 모듈화는 상당한 융통성을 제공
• 다양한 형태의 하드웨어 플랫폼에서 수행 가능
• 다른 다양한 운영체제용으로 개발된 응용도 지원다른 다양한 운영체제용으로 개발된 응용도 지원
운영체제 개요 48
![Page 25: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/25.jpg)
WindowsWindows의의 구조구조
운영체제 개요 49
커널커널 모드모드 요소요소
• 수행부(Executive)– 기본적인 운영체제 서비스를 포함
• 메모리 관리
• 프로세스와 쓰레드 관리
• 보안
입출력• 입출력
• 프로세스간 통신(IPC)
• 커널• 커널– 가장 많이 사용되는 구성요소를 포함
하드웨어 추상화 계층(HAL)• 하드웨어 추상화 계층(HAL)– 플랫폼들의 하드웨어적 차이로부터 운영체제를 독립시킴
운영체제 개요 50
![Page 26: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/26.jpg)
커널커널 모드모드 요소요소
• 장치 드라이버– 사용자의 입출력 기능 호출을 특정 하드웨어 장치에 대한 입출
력 요청으로 바꾸어 줌
• 윈도우 다루기와 그래픽 시스템– 사용자 그래픽 인터페이스(GUI) 기능 구현
운영체제 개요 51
Windows Windows 수행부수행부
• 입출력 관리자• 캐시 관리자• 캐시 관리자• 객체 관리자• 플러그앤플레이 관리자• 전원 관리자• 보안 참조 모니터• 가상메모리 관리자• 프로세스/쓰레드 관리자• 구성 관리자• 구성 관리자• 지역 프로시져 호출(LPC) 도구
운영체제 개요 52
![Page 27: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/27.jpg)
사용자사용자 모드모드 프로세스프로세스
• 특별 시스템 지원 프로세스– 예: 세션 관리자, 인증 서브시스템, 서비스 관리자, 로그온 프로세
스
서비스 세스• 서비스 프로세스
• 환경 서브시스템
• 사용자 응용
운영체제 개요 53
클라이언트클라이언트//서버서버 모델모델
• 실행부의 단순화– 다양한 API가 구축될 수 있음
• 신뢰성을 향상– 각 서비스는 커널 밖에서 수행되며, 다른 서버로부터 보호 됨
• RPC를 통해 응용들이 통신할 수 있도록 일정한 수단을를 통해 응용들이 통신할 수 있도록 일정한 수단을제공
• 분산 컴퓨팅 환경의 기반 제공분산 컴퓨팅 환경의 기반 제공
운영체제 개요 54
![Page 28: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/28.jpg)
쓰레드와쓰레드와 SMPSMP
• 운영체제 루틴은 어떤 처리기에서도 실행 가능
• 하나의 프로세스 내의 다중 실행 쓰레드는 동시에 다른처리기 상에 실행 가능
• 서버 프로세스는 다중 쓰레드를 사용할 수 있음
• 프로세스 간의 데이터와 자원 공유프로세스 간의 데이터와 자원 공유
운영체제 개요 55
Windows Windows 객체객체
• 캡슐화– 객체는 하나 이상의 데이터 아이템과 하나 이상의 프로시저를
포함
객체 클래스와 인스턴스• 객체 클래스와 인스턴스– 객체의 특정 인스턴스를 생성
• 상속– 실행부의 확장을 지원
• 다형화
운영체제 개요 56
![Page 29: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/29.jpg)
2.6 2.6 전통적인전통적인 UNIX UNIX 시스템시스템
• 운영체제 소프트웨어의 의해 하드웨어는 감추어짐
• 다양한 사용자 서비스와 인터페이스 제공– Shell
– C 컴파일러
운영체제 개요 57
일반적인일반적인 UNIX UNIX 구조구조
운영체제 개요 58
![Page 30: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/30.jpg)
전통적인전통적인 UNIX UNIX 커널커널
운영체제 개요 59
2.7 2.7 최근의최근의 UNIX UNIX 시스템시스템
운영체제 개요 60
![Page 31: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/31.jpg)
현대의현대의 UNIX UNIX 시스템시스템
• System V Release 4 (SVR4)
• BSD
• Solaris 10
운영체제 개요 61
2.8 Linux2.8 Linux
• 마이크로커널 방식을 사용하지 않음
• 동적 적재 가능한 모듈의 집합– 동적 링킹
– 스택 가능한 모듈
운영체제 개요 62
![Page 32: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/32.jpg)
Linux Linux 커널커널 모듈모듈
운영체제 개요 63
Linux Linux 커널커널 구성요소구성요소
운영체제 개요 64
![Page 33: StallingsOS6e-Chap02.ppt [호환 모드]mm.sookmyung.ac.kr/~bigrain/class/2011/mmso/StallingsOS6e-Chap02.pdf · – 컴퓨터시스템자원을효율적인방법으로사용할수있게](https://reader033.fdocuments.net/reader033/viewer/2022050717/5e15c28cc8e4240b016527f1/html5/thumbnails/33.jpg)
요요 약약
• 운영체제 목적– 편리성, 효율성, 발전가능성
– 운영체제 서비스
• 운영체제의 발전– 순차처리, 일괄처리시스템, 다중 프로그래밍, 시분할 시스템
• 주요 성과– 프로세스, 메모리 관리, 정보 보호 및 보안, 스케줄링 및 자원 관프로세스, 메모리 관리, 정보 보호 및 보안, 스케줄링 및 자원 관
리, 시스템 구조
• 최근 운영체제 기술 및 사례 시스템– 마이크로 커널 구조, 다중 쓰레딩, SMP, 분산 운영체제, 객체 지
향 설계
운영체제 개요 65
– Microsoft Windows, UNIX 시스템, Linux 시스템