• 검색 결과가 없습니다.

제 1 장 소개

N/A
N/A
Protected

Academic year: 2021

Share "제 1 장 소개"

Copied!
17
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

제 1 장 소개

1.1 개요

• 운영체제의 목적

1. 컴퓨터 시스템을 편리하게 사용 / 이용 (user friendly)

2. 컴퓨터 하드웨어 ( 자원 ) 를 효율적으로 관리 ( 자원 할당자 , efficient)

• 컴퓨터 시스템의 구성

통계분석

패키지 웹브라우저 문서 편집기 데이터

베이스 . . .

. . .

운영체제 (응용 프로그램)

하드웨어

(2)

• 운영체제의 다른 관점

 제어 프로그램 : 사용자 프로그램을 통제하여 오류와 컴퓨터의 부적절 한 사용을 방지한다 .

 컴퓨터 시스템을 구성하는 자원들을 통제하고 할당하는 공통적인 기능 들을 하나의 소프트웨어로 통합한 것 .

1.2 운영체제의 유형

1.2.1 일괄 처리 시스템 (Batch Processing System)

• 작업 준비 시간 ( 테이프 준비 , 오퍼레이터가 콘솔을 조작 ) 을 줄이기 위하여 요구사 항이 비슷한 작업들을 함께 묶어서 수행하는 방법

• 작업 순서의 자동화 (automatic job sequencing): 한 프로그램에서 다음 프로그램으 로 제어를 자동적으로 넘기기 위하여 만들어진 상주 모니터 (resident monitor) 를 두 는 것이다 .

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

• 단일 프로세스

(3)

1.2.2 다중 프로그래밍 시스템

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

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

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

시간

프로그램 1 프로그램 2

중앙처리장치가 활동중

P1 P2 P1 P2 P1

프로그램 1

프로그램 2

P2 시간

(a) 순차 실행

(4)

1.2.3 시분할 시스템

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

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

중앙처리장치 기억장치

입출력장치 큐

(5)

1.2.5 실시간 시스템

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

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

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

• 경성 실시간 시스템

 중요한 태스크가 정해진 시간에 완료될 것을 보장

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

• 연성 실시간 시스템

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

 멀티미디어 , 가상현실

(6)

1.2.5 다중 처리 시스템

• 공유기억장치를 통하여 하나로 연결된 다중처리기의 제어 및 공유를 위한 시스템

• 밀착된 결합 시스템 (tightly coupled system): 매우 밀접한 통신을 하는 하나 이상의 처리기를 가지며 , 컴퓨터 버스 , 클락 , 메모리와 주변장치를 공유한다 .

• 처리량 증가

• 신뢰성 증가

• 대칭적 다중 처리 (SMP)

• 비대칭적 다중 처리

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

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

기억장치

(7)

1.2.6 개인용 컴퓨터 시스템

• 편리성과 응답성을 더 중요시 한다 .

1.2.8 멀티미디어 시스템

• 이미지 / 그래픽 , 사운드 , 애니메이션 및 비디오 등 다양한 미디어를 이용하여 멀티 미디어 콘텐츠를 제작하기 위해 필요한 하드웨어와 소프트웨어로 구성된다 .

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

장치 드라이버 멀티미디어 DBMS

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

프로세서(CPU)

처리장치미디어

입력장치

출력장치

저장장치 시스템 소프트웨어

멀티미디어 타이틀 및 소프트웨어 툴

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

하드웨어

미디어 편집 소프트웨어

저작도구 멀티미디어

컨텐츠

(8)

1.3 운영체제에 대한 관점

1.3.1 자원 관리자 관점

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

• 자원 관리자

 자원의 상태를 추적 / 저장

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

 자원의 할당

 자원의 회수

• 프로세스 관리 기능

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

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

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

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

(9)

• 기억장치 관리 기능

 기억장치의 상태를 추적 / 저장한다 . 기억장치의 어떤 부분이 사용되고 , 어떤 부분이 사용 되고 있지 않은가 ? 만약 사용된다면 어떤 프로세스에 의해 사용되는가를 추적 / 저장한다 .

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

 프로세스가 기억장치를 요구하면 할당한다 .

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

• 장치 관리 기능

 채널 등 제어장치 및 입출력장치와 같은 각종 장치들의 상태를 추적 / 저장한다 .

 장치를 할당하는데 어떤 방법이 효율적인지를 결정한다 . 각 장치마다 대기 큐를 유지함으 로써 스케줄링을 구현한다 .(I/O Scheduling)

 해당 장치를 할당하고 입출력 동작을 시작한다 .

 입출력이 종료되면 자동적으로 자원을 회수한다 .

• 정보 관리 기능

 정보의 위치 , 사용 여부 및 상태 등을 추적 / 관리한다 .( 파일 시스템 )

 어떤 작업에게 정보 자원을 사용하도록 할 것인지를 결정한다 . 정보보호를 위한 대책을 수 립하고 , 접근 방법을 제공한다 .

 정보 자원을 할당한다 .

 정보 자원을 회수한다 .

(10)

1.3.2 프로세스 관점

• 다중 프로그래밍 환경

운영체제

프로세스 1

프로세스 2

프로세스 3

(11)

1.3.3 계층 구조 관점

사용자 프로그램 ( 프로세스) 운영체제의 구성요소

프로세스 B

외부적 확장 기계

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

내부적 확장 기계

( 운영체제의 주된기능 ) 하드웨어

프로세스 4

프로세스 A

프로세스 1 프로세스 3

프로세스 2

(12)

1.4 입출력 프로그래밍

1.4.1 버퍼링

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

프로그램

버 퍼

주기억장치

중앙처리장치

채 널 프린터

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

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

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

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

(13)

1.4.2 스풀링 (SPOOLing)

• Simultaneous Peripheral Operation On-Line

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

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

입력장치

디스크

중앙처리장치

프린터 입출력

(14)

1.4.3 채널

• 입출력 장치와 중앙처리 장치 사이에 입출력 전담 처리기인 입출력 채널 (I/O

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

주기억장치 중앙처리장치

데이터의 흐름 제어의 흐름

키보드 1 키보드 2

프린터 터미널

입출력 채널 1

입출력 채널 2

입출력 채널 3 입출력 채널 4

(15)

1.4.4 인터럽트

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

• 종류

 입출력 (I/O) 인터럽트 : 해당 입출력 하드웨어가 주어진 입출력 동작을 완료하였거나 또 는 입출력의 오류 등이 발생하였을 때 중앙처리장치에 대하여 요청하는 인터럽트이다 .

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

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

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

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

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

(16)

• 인터럽트 처리 과정

프로그램 종료 프로그램 시작

인터럽트 발생

처리 시작인터럽트

처리 종료인터럽트

프로그램

인터럽트처리루틴

.

(17)

현재의 PSW

입출력

외부 SVC 외부 SVC

입출력 PSW 레지스터

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

과거의 PSW

새로운 PSW 인터럽트 중

로드 인터럽트 중

저장

인터럽트 처리완료 인터럽트 처리루틴

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

참조

관련 문서

• 프로젝트가 시작되면 프로젝트의 결과로 만들어지는 제 품이나 서비스에 대한 명확한 정의와 프로젝트의 목적 달성을 위한 각 단계별 산출물을 분석하여 작업의

입출력 인터페이스, 입출력 채널(channel), 입출력 프로세서, 입출력 제어기 (controller), 장치 제어기(device controller) 등의 여러 가지

 이 데이터 집합은 때때로 평가용 집합(test partition)으로 불리 며 모형을 비교하여 가장 좋은 모형을 선택하기 위해 각각의 모형의 성과를 검증하기 위해

• 다중 스레드 방식은 하나의 프로세스 안에 여러 개의 스레드가 있으므로 지금 실행되는 스레드에서 입출력 명령이 발생해서 더 이상 스레드가 실행되지 못하는

• 프로세서 내부에 있는 입출력 데이터와 주소 레지스터를 입출력 모 듈과 연결한 형태로 주소 레지스터와 버스 사이에서 데이터를 직접 전송할 수 있는 가장

사전접근 판매제시를 보다 효과적으로 하기 위해 고객에 대한 추가적인 정보를 받는다. 판매사원은 자신의 소개와 아울러 회사의

‰ 개발 기관이 프로세스 능력의 범위를 향상시키기 위하여 계속 노력하며 이를 통하여 프로젝트 단위의 프로세스

• 경쟁자를 이기는데 집중하지 않고, 고객과 회사를 위한 가치 도약을 이뤄 새로운 비경 쟁 시장 공간을 창출함으로써 경쟁 자체에서 벗어 난다.. •