17
Slide 1 (of 17) 제 1 제 제제 1.1 개개 • 개개개개개 개개 1.개개개 개개개개 개개개개 개개 / 개개 (user friendly) 2.개개개 개개개개 ( 개개 ) 개 개개개개개 개개 ( 개개 개개개 , efficient) • 개개개 개개개개 개개 개개개개 개개개 개개개 개개개 개개개 . . . . . . 개개개개 (개 개개개개) 개개개개

제 1 장 소개 1.1 개요 운영체제의 목적 컴퓨터 시스템을 편리하게 사용 / 이용 (user friendly)

Embed Size (px)

DESCRIPTION

제 1 장 소개 1.1 개요 운영체제의 목적 컴퓨터 시스템을 편리하게 사용 / 이용 (user friendly) 컴퓨터 하드웨어 ( 자원 ) 를 효율적으로 관리 ( 자원 할당자 , efficient) 컴퓨터 시스템의 구성. 운영체제의 다른 관점 제어 프로그램 : 사용자 프로그램을 통제하여 오류와 컴퓨터의 부적절한 사용을 방지한다 . 컴퓨터 시스템을 구성하는 자원들을 통제하고 할당하는 공통적인 기능들을 하나의 소프트웨어로 통합한 것 . 1.2 운영체제의 유형 - PowerPoint PPT Presentation

Citation preview

Slide 1 (of 17)

제 1 장 소개

1.1 개요• 운영체제의 목적

1. 컴퓨터 시스템을 편리하게 사용 /이용 (user friendly)2. 컴퓨터 하드웨어 ( 자원 ) 를 효율적으로 관리 ( 자원 할당자 , efficient)

• 컴퓨터 시스템의 구성

통계분석패키지

웹브라우저 문서 편집기 데이터베이스

. . .

. . .

운영체제

(응용 프로그램)

하드웨어

Slide 2 (of 17)

• 운영체제의 다른 관점 제어 프로그램 : 사용자 프로그램을 통제하여 오류와 컴퓨터의

부적절한 사용을 방지한다 . 컴퓨터 시스템을 구성하는 자원들을 통제하고 할당하는 공통적인

기능들을 하나의 소프트웨어로 통합한 것 .

1.2 운영체제의 유형

1.2.1 일괄 처리 시스템 (Batch Processing System)• 작업 준비 시간 ( 테이프 준비 , 오퍼레이터가 콘솔을 조작 ) 을 줄이기 위하여

요구사항이 비슷한 작업들을 함께 묶어서 수행하는 방법• 작업 순서의 자동화 (automatic job sequencing): 한 프로그램에서 다음

프로그램으로 제어를 자동적으로 넘기기 위하여 만들어진 상주 모니터(resident monitor) 를 두는 것이다 .

• 작업 제어 카드 (JCL) 를 사용하여 프로그래머가 상주 모니터에게 정보 전달• 단일 프로세스

Slide 3 (of 17)

1.2.2 다중 프로그래밍 시스템

• 중앙처리장치의 이용도를 높이기 위하여 주기억장치 내에 여러 프로그램들이 존재한다 .

• 여러 개의 작업을 준비 상태에 두고 , 준비 상태에 있는 여러 작업들 중 어느 한 작업을 실행할 작업으로 선정하는 데에는 별도의 기억장치 관리 기법이나 중앙처리장치 관리 기법 등이 필요하다 .

P1 유휴 P1 유휴 P1 P2 유휴 P2 유휴 P2

시간

1프로그램 2프로그램

중앙처리장치가활동중

P1 P2 P1 P2 P1

1프로그램

2프로그램

P2시간

(a) 순차 실행

(b) 다중 프로그래밍 실행

Slide 4 (of 17)

1.2.3 시분할 시스템

• 여러 사용자들이 컴퓨터 자원 ( 특히 , CPU) 에 대한 짧은 시간 단위의 공유를 통하여 구현되어진다 .

• 사용자는 대화식 단말장치를 이용하여 시분할 시스템과 인터페이스 한다 .

중앙처리장치 기억장치

입출력장치

Slide 5 (of 17)

1.2.5 실시간 시스템

• 처리기의 작동이나 데이터의 흐름에 엄격한 시간적 제약이 있을 때 사용된다 .

• 센서 등에 의한 사건 발생 신호를 받아 , 어떤 사건이 발생하였는지를 판단하고 그 사건을 해결하기 위하여 사건이 제시한 데이터를 처리하여 응답하는 과정에 대한 제어를 책임진다 .

• 과학 실험을 제어하는 시스템 , 의학 영상 시스템 , 산업 제어 시스템 , 디스플레이 시스템 등

• 경성 실시간 시스템 중요한 태스크가 정해진 시간에 완료될 것을 보장

어떤 보조 저장장치는 제한적으로 사용하거나 전혀 사용하지 않으며 , 데이터는 주기억장치 또는 ROM 에 저장된다 .

• 연성 실시간 시스템 중요한 실시간 태스크가 다른 태스크 보다 높은 우선순위를 얻는다 .

멀티미디어 , 가상현실

Slide 6 (of 17)

1.2.5 다중 처리 시스템• 공유기억장치를 통하여 하나로 연결된 다중처리기의 제어 및 공유를 위한 시스템• 밀착된 결합 시스템 (tightly coupled system): 매우 밀접한 통신을 하는 하나

이상의 처리기를 가지며 , 컴퓨터 버스 , 클락 , 메모리와 주변장치를 공유한다 .

• 처리량 증가• 신뢰성 증가• 대칭적 다중 처리 (SMP)• 비대칭적 다중 처리• 느슨한 결합 시스템 (loosely coupled system): 각 처리기는 기억장치와

클럭을 공유하지 않으며 각 처리기는 자신의 지역 기억장치를 가지며 , 처리기들은 고속의 버스나 광섬유와 같은 다양한 통신 회선을 통해 서로 통신한다 . 분산 시스템

1프로세서 2프로세서 3프로세서 4프로세서

기억장치

Slide 7 (of 17)

1.2.6 개인용 컴퓨터 시스템• 편리성과 응답성을 더 중요시 한다 .

1.2.8 멀티미디어 시스템• 이미지 /그래픽 , 사운드 , 애니메이션 및 비디오 등 다양한 미디어를 이용하여

멀티미디어 콘텐츠를 제작하기 위해 필요한 하드웨어와 소프트웨어로 구성된다 .

• 저작 시스템 , 재생 시스템 , 멀티미디어 플랫폼

장치 드라이버멀티미디어

DBMS

멀티미디어를 위한 운영체제

프로세서(CPU)

미디어처리장치

입력장치

출력장치

저장장치

시스템 소프트웨어 멀티미디어 타이틀

및 소프트웨어 툴

멀티미디어 시스템의 구성요소

하드웨어

미디어 편집소프트웨어

저작도구

멀티미디어컨텐츠

Slide 8 (of 17)

1.3 운영체제에 대한 관점1.3.1 자원 관리자 관점

• 운영체제는 자원이 효율적으로 사용되도록 관리하고 다양한 요구를 가지는 사용자 간에 발생할 수 있는 자원에 대한 경쟁 및 이로 인한 충돌을 해결한다 .

• 자원 관리자 자원의 상태를 추적 /저장

어떤 프로세스가 언제 어떤 자원을 얼마나 사용할 것인지를 결정하기 위한 정책 수립

자원의 할당

자원의 회수

• 프로세스 관리 기능 중앙처리장치와 프로세스의 상태를 추적 /저장한다 .

어떤 작업에게 처리기를 사용하도록 할 것인지를 결정한다 ( 프로세스 스케줄러 ).

디스패쳐는 필요한 하드웨어 레지스터를 설정함으로써 프로세스에게 중앙처리장치를 할당한다 .( 문맥교환 , 사용자 모드로 전환 , 프로세스의 실행 위치로 이동 )

프로세스가 수행을 종료하였거나 , 어떤 이유로 인하여 사용의 양도 또는 허용된 사용 시간을 초과하였을 경우 중앙처리장치를 회수한다 .

Slide 9 (of 17)

• 기억장치 관리 기능 기억장치의 상태를 추적 /저장한다 . 기억장치의 어떤 부분이 사용되고 , 어떤 부분이

사용되고 있지 않은가 ? 만약 사용된다면 어떤 프로세스에 의해 사용되는가를 추적 /저장한다 .

다중 프로그래밍 환경 하에서 , 어떤 프로세스에게 언제 , 얼마의 기억 장치를 할당할 것인지를 결정한다 .

프로세스가 기억장치를 요구하면 할당한다 . 프로세스가 더 이상 기억장치를 필요로 하지 않게 되면 회수한다 .

• 장치 관리 기능채널 등 제어장치 및 입출력장치와 같은 각종 장치들의 상태를 추적 /저장한다 . 장치를 할당하는데 어떤 방법이 효율적인지를 결정한다 . 각 장치마다 대기 큐를

유지함으로써 스케줄링을 구현한다 .(I/O Scheduling) 해당 장치를 할당하고 입출력 동작을 시작한다 . 입출력이 종료되면 자동적으로 자원을 회수한다 .

• 정보 관리 기능 정보의 위치 , 사용 여부 및 상태 등을 추적 /관리한다 .(파일 시스템 ) 어떤 작업에게 정보 자원을 사용하도록 할 것인지를 결정한다 . 정보보호를 위한

대책을 수립하고 , 접근 방법을 제공한다 . 정보 자원을 할당한다 . 정보 자원을 회수한다 .

Slide 10 (of 17)

1.3.2 프로세스 관점

• 다중 프로그래밍 환경

운영체제

프로세스 1

프로세스 2

프로세스 3

Slide 11 (of 17)

1.3.3 계층 구조 관점

사용자 프로그램(프로세스)

운영체제의 구성요소

프로세스 B

외부적

확장 기계

(운영체제의 주된기능을 제외한 나머지 부분)

내부적 확장 기계

(운영체제의 주된기능 )

하드웨어

프로세스 4

프로세스 A

프로세스 1프로세스 3

프로세스 2

Slide 12 (of 17)

1.4 입출력 프로그래밍

1.4.1 버퍼링

• 입출력장치나 보조기억장치는 기계적 요인 때문에 중앙처리장치와 비교할 때 매우 느린 속도로 작동한다 . 이와 같은 입출력장치의 느린 속도를 보완하는 한 가지 방법이 버퍼링이다 .

프로그램

버 퍼

주기억장치

중앙처리장치

채 널 프린터

①②④

① 중앙처리장치는 출력할 데이터를 버퍼에 채운다 .

② 버퍼가 다 채워지면 중앙처리장치는 채널에게 출력을 지시하고 , 자신의 일을 계속한다 .

③ 채널은 출력을 수행함으로써 버퍼를 비운다 .

④ 출력을 완료함으로써 버퍼를 다 비우면 중앙처리장치에게 알린다 .

Slide 13 (of 17)

1.4.2 스풀링 (SPOOLing)

• Simultaneous Peripheral Operation On-Line

• 버퍼링은 주기억장치를 버퍼로 사용하는 반면 , 스풀링은 디스크를 매우 큰 버퍼처럼 사용하는 것이다 .

• 입출력 장치에 대한 공유를 가능하게 하기 위하여 가상적인 장치 (virtual device) 를 각 프로세스에게 제공해 주는 개념이다 .

입력장치

디스크

중앙처리장치프린터

입출력

Slide 14 (of 17)

1.4.3 채널

• 입출력 장치와 중앙처리 장치 사이에 입출력 전담 처리기인 입출력 채널 (I/O channel) 을 두고 , 모든 입출력이 채널을 통하여 수행됨으로써 중앙처리장치는 입출력이 실제로 수행 완료될 때 까지 기다리거나 수시로 입출력장치의 상태를 점검할 필요 없이 계속해서 연산을 수행할 수 있다 .

주기억장치

중앙처리장치

데이터의 흐름

제어의 흐름

키보드 1 키보드 2

프린터 터미널

입출력 채널 1

입출력 채널 2

입출력 채널 3

입출력 채널 4

Slide 15 (of 17)

1.4.4 인터럽트

•채널과 중앙처리장치 간의 통신은 일반적으로 인터럽트 (interrupt) 에 의해 이루어진다 .

•종류 입 출 력 (I/O) 인 터럽트 : 해 당 입 출 력 하 드 웨 어 가 주 어 진 입 출 력 동 작 을

완료하였거나 또는 입출력의 오류 등이 발생하였을 때 중앙처리장치에 대하여 요청하는 인터럽트이다 .

외부 (external) 인터럽트 : 시스템 타이머 (timer) 에서 일정한 시간이 만료된 경우나 오퍼레이터가 콘솔 상의 인터럽트 키를 입력한 경우 , 또는 다중처리 시스템에서 다른 처리기로부터 신호가 온 경우 등에 발생한다 .

SVC(SuperVisor Call) 인터럽트 : 사용자 프로그램이 수행되는 과정에서 입출력 수행 , 기억장치의 할당 , 또는 오퍼레이터의 개입 요구 등을 위하여 실행 중의 프로그램이 SVC 명령을 수행하는 경우에 발생한다 .

기계 검사 (machine check) 인터럽트 : 컴퓨터 자체 내의 기계적인 장애나 오류로 인한 인터럽트이다 .

프로그램 에러 (program error) 인터럽트 : 주로 프로그램의 실행 오류로 인해 발생한다 . 예를 들면 , 수행 중인 프로그램에서 0 으로 나누는 연산이나 , 보호(protection) 되어 있는 기억장소에 대한 접근 , 허용되지 않는 명령어의 수행 , 또는 스택의 오버플로 (overflow) 등과 같은 오류가 발생할 때 일어난다 .

재시작 (restart) 인터럽트 : 오퍼레이터가 콘솔 상의 재시작 키를 누를 때 일어난다 .

Slide 16 (of 17)

• 인터럽트 처리 과정

프로그램 종료

프로그램 시작

인터럽트 발생

인터럽트처리 시작

인터럽트처리 종료

프로그램

인터럽트처리루틴

②.①

Slide 17 (of 17)

현재의 PSW

입출력

외부

SVC

외부

SVC

입출력

PSW 레지스터

CPU의상태를회복하기위하여재로드

과거의 PSW

새로운 PSW

인터럽트 중로드

인터럽트 중저장

인터럽트처리완료

인터럽트처리루틴

• 인터럽트 처리 과정 및 PSW 위치