1 / 23

Chapter 1. Introduction

OPERATING SYSTEM. (교재 : Operating System concepts( 홍릉과학출판사). Chapter 1. Introduction. http://raic.kunsan.ac.kr. Module 1: Introduction. 운영체제란 무엇인가? 단순 일괄처리 시스템( Simple Batch Systems) 다중 프로그램의 일괄처리 시스템 (Multiprogramming Batched Systems) 시분할 시스템( Time-Sharing Systems)

Download Presentation

Chapter 1. Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OPERATING SYSTEM (교재 : Operating System concepts(홍릉과학출판사) Chapter 1. Introduction http://raic.kunsan.ac.kr

  2. Module 1: Introduction • 운영체제란 무엇인가? • 단순 일괄처리 시스템(Simple Batch Systems) • 다중 프로그램의 일괄처리 시스템 (Multiprogramming Batched Systems) • 시분할 시스템(Time-Sharing Systems) • 개인용 컴퓨터 시스템(Personal-Computer Systems) • 병렬 시스템(Parallel Systems) • 분산 시스템(Distributed Systems) • 실시간 시스템(Real -Time Systems)

  3. 1.1 운영 체제란 무엇인가 ? • 컴퓨터 사용자와 컴퓨터 하드웨어 사이에서 매개체(intermediary)역할을 하는 프로그램 • 운영 체제의 목적 : 사용자에게 프로그램을 수행할 수 있는 환경을 제공하기 위한 것 • 컴퓨터 하드웨어를 효율적으로 이용

  4. 컴퓨터 시스템 구성요소 4가지 1. Hardware – 기본 계산용 자원을 제공, CPU, memory, I/O devices 등으로 구성. 2. Operating system – 다수의 사용자를 위해 여러 종류의 응용 프로그램들 간의 하드웨어 사용을 제어하고 조정한다. 즉, OS는 자원 할당자이다. 3. Applications programs – 응용 프로그램에는 compilers, database systems, video games, business programs등이 있으며,시스템 자원들이 사용자의 계산 문제를 해결하기 위해 자원의 사용 방법을 정의한다. 4. Users – people, machines, other computers.

  5. 시스템 구성요소에 대한 개략도

  6. 운영체제의 정의 • 자원 할당자(Resource allocator) – 시스템 자원을 조정하고 할당한다. • 제어 프로그램(Control program) – 사용자 프로그램의 실행과 I/O 장치의 작동을 제어한다. • Kernel – 컴퓨터에서 항상 수행하는 프로그램(커널)으로서, 응용 프로그램을 제외한 모든 프로그램으로 정의.

  7. 1.2 단순 일괄처리 시스템 • 초창기 컴퓨터는 입력장치로 카드 판독기와 테이프 구동기를 사용하였고, 출력 장치로는 라인 프린터, 테이프 구동기와 카드 펀치기를 사용. • User  operator • 유사한 작업들을 일괄처리 함으로써 처리 속도를 줄인다. • 초창기 컴퓨터에서의 운영 체제는 매우 간단하였으며, 중요한 임무는 하나의 작업에서 다음 작업으로 제어를 자동적으로 이동해 주는 것으로, 운영체제는 항상 기억장치에 존재하였다. (다음 페이지 그림 참조) • 상주 모니터(Resident monitor) • initial control in monitor • control transfers to job • when job completes control transfers pack to monitor.

  8. 단순 일괄 처리 시스템의 기억장치 구성도

  9. Control Cards • Problems 1. How does the monitor know about the nature of the job (e.g., Fortran versus Assembly) or which program to execute? 2. How does the monitor distinguish (a) job from job?(b) data from program? • Solution -- Introduce control cards • 일괄처리 운영체제는 각 작업이 어떤 일을 하는지 사전에 정의된 자신의 제어카드를 가지고 있으므로 여러 작업의 스트림을 연속적으로 판독할 수 있으며 작업이 완료되면 그 결과는 프린트 된다

  10. Control Cards (Cont.) • Special cards that tell the resident monitor which programs to run$JOB$FTN$RUN$DATA$END • Special characters distinguish control cards from data or program cards:$ in column 1// in column 1 and 2709 in column1

  11. Control Cards (Cont.) • Parts of resident monitor • Control card interpreter – responsible for reading and carrying out instructions on the cards. • Loader – loads systems programs and applications programs into memory. • Device drivers – know special characteristics and properties for each of the system’s I/O devices. • Problem: Slow Performance – I/O and CPU could not overlap ; card reader very slow. • Solution: Off-line operation – speed up computation by loading jobs into memory from tapes and card reading and line printing done off-line.

  12. Spooling (Simultaneous Peripheral Operation On-Line) • 한 작업의 입출력을 행함과 동시에 다른 작업의 연산도 중복해서 수행할 수 있도록 하는 것을 스풀링이라 한다.하나의 작업을 수행하는 동안, OS는 • 카드 판독기로부터 디스크상의 저장 영역으로 다음 작업을 읽어 온다. (job queue). • 디스크로부터 프린터로 이전의 작업을 출력한다. • 작업 저장소(Job pool) – 디스크에 있는 작업 저장소는 CPU의 이용률을 향상시키기 위하여 운영체제가 다음에 수행할 작업을 선택할 수 있도록 하는 데이터 구조.

  13. 1.3 다중프로그램 일괄 처리 시스템 Several jobs are kept in main memory at the same time, and the CPU is multiplexed among them. 운영체제는 한번에 여러가지 작업을 기억장치에 적재하지만 (그림 참조), 기억장치내에 있는 작업중에서 하나를 선택해 실행한다.

  14. 다중 프로그램에 필요한 OS 특징 • I/O routine supplied by the system. • Memory management – the system must allocate the memory to several jobs. • 중앙처리장치 스케듈링(CPU scheduling) – 여러가지 작업이 동시에 실행될 준비가 되어 있을 때, 그들 중 하나를 선택해서 실행 : 5장에서 공부 • 장치의 효율적 할당(Allocation of devices.)

  15. 1.4 시분할 시스템(멀티테스킹) - 대화형 연산 • CPU는 메모리나 디스크안에 있는 여러 작업중에서 한 작업을 선택하여 실행한다. 즉, CPU는 한 작업이 메모리상에 있을 경우에만 할당된다. • 적절한 응답시간을 얻기위하여 주 기억장치로부터 디스크로 작업을 스웹인, 스웹아웃(swap in and out) 시킨다. - 가상기억장치(virtual memory)의 원리 : 9장에서 공부 • 사용자와 시스템간의 온라인 통신이 제공된다 : 운영체제가 하나의 명령을 완료했을 때, 카드판독기가 아니라 사용자의 키보드로부터 다음의 제어 명령을 찾는다. • 온라인 시스템은 사용자가 데이터와 코드를 처리할 수 있도록 한다.

  16. 1.5 개인용 컴퓨터 시스템 • Personal computers – 1970년대 출현한 시스템으로 단일 사용자가 사용하는 컴퓨터 시스템. • I/O devices – keyboards, mice, display screens, small printers. • 이는 CPU와 주변 장치 이용률을 극대화 시키려는 노력 대신에 개인 사용자의 편이성과 응답성을 고려 • 따라서, 더 큰 운용체제를 위해 개발된 기술을 채용할 수 있고, 보안을 위해 더 진보된 CPU 이용이 필요 없다. 그러나, 최근에는 인터넷 사용에 의한 컴퓨터 공유로 이러한 보호(protection)과 보안(security)등의 기능이 필요 : 19, 20장에서 공부

  17. 운영체제의 개념과 특징의 변천사 대형컴퓨터 소형컴퓨터 초소형컴퓨터

  18. 1.6 병렬시스템(Parallel Systems) • 매우 인접한 통신을 이용해 한 개 이상의 멀티프로세서 시스템을 가지며, 컴퓨터 버스, 클럭, 기억장치와 주변장치를 공유하는 시스템으로 강결합 시스템(tightly coupled system) - n개의 처리기를 사용할 경우 속도 증가율이 n배 증가하는 것은 아니다. • 병렬 시스템의 장점: • 처리율의 증가 - 처리기의 수가 증가함으로써 짧은 시간동안 많은 일을 수행 가능하다. • 경제적이다 - 이는 프로세서가 주변장치, 캐비넷, 전원 공급장치등을 공유하기 때문이다. • 신뢰성의 증가 - 다중 처리기 사용중 한 처리기가 고장이 나도 시스템 중지가 일어나지 않고, 단지, 속도만 느려진다.

  19. 병렬 시스템(계속) 다중처리 시스템 • 대칭적 다중처리 (Symmetric multiprocessing) (SMP) • 이는 각각의 처리기가 운영체제의 동일 복사본을 사용하는 것으로 이러한 동일 운영체제는 필요할 때마다 서로 통신. • 많은 처리기들은 이용률의 저하 없이 한번에 운영가능. • 대부분의 모뎀 운영 체제는 이러한 SMP를 지원한다. • 비대칭적 다중처리 (Asymmetric multiprocessing) • 이는 각 처리기에 특정 테스크가 할당되는 것으로, 주 처리기 (master processor)는 시스템을 제어하고 종 처리기 (slave processor)는 주 처리기의 명령을 수행하거나 미리 정의된 테스크를 수행한다. • 매우 큰 시스템에 흔히 사용된다.

  20. Symmetric Multiprocessing Architecture

  21. 1.7 분산처리 시스템(Distributed Systems) • 컴퓨터 시스템의 최근 동향으로 연산을 여러 프로세서에 분산 처리한다. 강결합 시스템과는 대조적으로, 프로세서들은 기억장치와 클럭을 공유하지 않고 대신에 자신의 지역 기억장치를 가지면서 고속의 버스 혹은 전화선과 같은 여러가지 통신선을 사용해 상호 통신한다. 이와 같은 시스템을 약결합 시스템 (loosely coupled system) 또는 분산 시스템이라 한다. • 분산처리 시스템의 장점: • 자원 공유: 처리 능력이 다른 여러 사이트가 상호 접속되어 있다면, 한 사이트에 있는 사용자는 다른 사이트에 있는 자원을 유용하게 사용 가능. • 연산 속도 증가 : 부하 공유(load sharing ) • 신뢰성 : 분산 시스템에서 한 사이트가 고장이 나도, 나머지 사이트는 운영 가능. • 통신 : 하나의 시스템에서 다른 시스템으로 자료 교환 가능.

  22. 분산처리 시스템(계속) • 네트워크 운영체제(Network Operating System) • provides file sharing • provides communication scheme • runs independently from other computers on the network • 분산 처리 운영체제(Distributed Operating System) • less autonomy between computers • gives the impression there is a single operating system controlling the network.

  23. 1.8 실시간 시스템(Real-Time Systems) • 과학 실험 제어 시스템, 의학 영상 시스템, 산업 제어 시스템과 약간의 디스플레이 시스템과 같은 특수한 응용 프로그램을 제어하는데 사용. • 고정된 시간 제약을 가지고 있어서 사전에 정의한 제한 시간내에 처리하지 않으면 실패한다. • 하드 실시간 시스템(Hard real-time system) • 중요한 태스크를 정해진 시간에 반드시 완료할 수 있도록 한 시스템으로서 이를 위해서 운영체제는 자료의 검색으로부터 시작해 모든 요청을 완료할 때까지 시스템내의 모든 지연이 제한된 시간내에 이루어지도록 한 시스템. • 보조 기억장치는 제한적으로 사용되거나 전혀 사용되지 않으며, 자료는 단지 단기 기억장치(short-term memory)나 ROM에 저장된다 • 범용 운용체제에 의해 지원되지 않고, 시분할 시스템의 동작 원리와도 다르다. • 소프트 실시간 시스템(Hard real-time system) • 시간적 제약이 다소 약한 실시간 시스템 • 진보된 운영체제 특징을 요구하는 응용분야에 유용. (multimedia, virtual reality)

More Related