Upload
galena-fletcher
View
70
Download
0
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 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) 인터럽트 : 오퍼레이터가 콘솔 상의 재시작 키를 누를 때 일어난다 .