Operating System_서론

Computer/OS | 2005/11/17 15:34 | adioshun

Operating System

서론(Introduction)


* 운영체제 : 컴퓨터 하드웨어와 컴퓨터 사용자간의 매개체 역할을 하는 프로그램


* 운영체제의 목적

 ① 컴퓨터 시스템을 편리하게 이용 → 사용자 측면

 ② 컴퓨터 하드웨어의 효율적 이용 → 하드웨어 측면


* 운영체제의 발전

 최초의 수작업(hand-on) ???????????? 다중프로그래밍(multiprogramming)과

                            시분할시스템(time-sharing system)으로 발전


* 컴퓨터 시스템의 구성

 ① hardware

 ② operating system

 ③ application programs

 ④ users


* hardware

 - central processing unit(CPU), memory, I/O devices

 - provides basic computing resources


* operation systems

 - controls and coordinates the use of the hardware among the various programs for       the various users


* application programs

 - compilers, database systems, games, and business programs

 - define the ways in which these resources are used to solve the computing problems      of users


* users: 사람, 기계, 또는 다른 컴퓨터

 


  사람

  기계

 다른

컴퓨터

사용자1

사용자2

사용자3

     ...........

사용자n

    컴파일러

    어셈블러     문장 편집기

데이터베이스

  시스템

    운  영  체  제

√ 컴퓨터 하드웨어

√ CPU : 중앙처리장치

√ 기억장치(memory)

√ 입출력장치(I/O devices)


* 운영체제는 다수의 사용자들이 제시한 여러 종류의 응용프로그램 사이에서 하드웨어

 사용을 제어하고 조정하는 기능을 수행


* 운영체제의 비유

 ① 행정부(government) - 컴퓨터 시스템의 동작에 있어서 하드웨어, 소프트웨어, 자료들                             의 적절한 사용방법을 제공

 ② 자원할당자(resource allocator) - CPU시간, 기억장치 공간, 파일저장 공간, 입출력장치                                      의 적절한 할당

 ③ 제어프로그램 - 컴퓨터의 부적절한 사용 및 오류 방지를 위해 사용자 프로그램의

                   제어, 입출력장치를 동작시키고 제어한다.


* 운영체제의 보다 일반적인 정의

 - 컴퓨터 상에서 항상 수행되는 프로그램(커널)으로서 응용프로그램을 제외한 모든 프로      그램


1.2 초기 시스템


* 사용자 콘솔로부터 직접 프로그램을 수행

① 수작업으로 프로그램을 메모리에 적재

????

?

????

?

????

수작업에 의한 대화적 성질

② 시작주소 설정을 위해 적당한 버튼을 누름

③ 콘솔에 있는 감시등을 관찰하여 프로그램 수행 감시

④ 오류 발생시 프로그램을 중지, 기억장치와 레지스터들의 내용 조사후

⑤ 콘솔로부터 직접 프로그램의 오류 수정

* 시간이 지남에 따라

 ① 카드판독기, 라인프린터, 자기테이프의 보편화

 ② assembler, loader, linker 등의 라이브러리 개발

 ③ 각 입출력장치에 대한 특정 서브루틴(device driver)

    ⇒ 매번 사용 때마다 device driver는 단순히 library로부터 사용된다


* 하나의 작업을 수행하는 단계

 ① 포트란 컴파일러 테이프 적재

????

?

?

?

????

?

?

?

????

작업준비시간(set-up time)이 길어짐

 ② 컴파일러 실행

 ③ 컴파일러 테이프 제거

 ④ 어셈블러 테이프 적재

 ⑤ 어셈블러 실행

어떤 단계에서 오류가 발생하면 사용자는 처음부터 다시 수행

 ⑥ 어셈블러 테이프 제거

 ⑦ 목적 프로그램 적재(주기억 장치로)

 ⑧ 목적 프로그램 실행



1.3 Simple Batch Systems


1.3.1 상주모니터(Resident Monitor)


* 기존방법의 문제점: 작업 준비시간 시 컴퓨터의 중앙처리장치는 쉬고 있음

 ⇒ 컴퓨터의 이용률을 높이고자 함


* 해결 방법

 ① 전문 컴퓨터 조작원의 고용:

    - 프로그래머는 컴퓨터를 동작할 필요가 없음

    - 하나의 작업이 종료되자마자 다음일 수행

    - 오류 발생 시 프로그래머가 기억장치와 레지스터 점검. 오류 수정하는 동안 조작원         은 다음일 처리

 ② set-up time의 단축:

    - 유사한 작업들을 한꺼번에 묶어서(batch) 그룹별로 수행

    - 단점: 한 개의 일이 다 수행되지 못하고 중간에서 끝날 경우 dump 시키고 다른 job               을 load해서 다시 시작

  자동작업 순서(automatic job sequencing)

    - 초기의 운영체제 형태

    - 상주모니터(resident monitor) 프로그램 개발(기억장치에 상주)

      ⇒ 자동으로 제어를 한 작업에서 다른 작업으로 옮긴다.

   




* 상주모니터는 제어카드(control card)에 의해 어느 프로그램이 실행되어야 하는지

 안다 (FORTRAN compiler, Assembler, ...)


* 제어카드의 종류

 - $FTN : Execute the FORTRAN compiler

 - $ASM : Execute the assembler

 - $RUN : Execute the user program

 - $JOB : First card of a job  ????

                       `       ????  boundaries of each job

 - $END : Last card of a job  ????


* 상주모니터의 구성

 ① 제어카드해석기(control card interpreter)

   - 실행시에 카드상에 있는 명령어 판독, 전달

   - 주기적으로 적재기(loader)에게 시스템프로그램과 응용프로그램을 기억장치에 적재

   - 시스템의 입출력장치를 위한 device driver 보유

 ② 적재기

   - 시스템의 입출력장치를 위한 device driver 보유

 ③ 작업 순서


* batch system의 단점

 - user와 job 사이의 interaction이 없다



1.3.2 Overlapped CPU and I/O Operations


* 자동작업 순서(automatic job sequencing)로 향상이 되었으나 CPU 속도와 I/O 장치의 속    도가 다름으로 인해 CPU의 유휴시간이 생김

 ⇒ 입출력 동작이 시작되어 완료되는 동안 CPU는 쉬게 되고, CPU가 실행할 동안 입출력       장치는 쉬게 된다.


1.3.2.1 오프라인 연산(off-line processing)


* off-line 처리 방식: page 11, figure 1.4

* off-line 방식의 장점

 - 주컴퓨터가 카드판독기와 라인프린터의 속도에 더 이상 영향을 받지않고 훨씬 빠른 자      기테이프장치의 속도에 의해 영향을 받는다.

 - 하나의 CPU에 대해 다중의 카드판독기 테이프와 프린터 테이프 시스템 사용

   ⇒ CPU를 더 유용하게 사용


* off-line 방식의 단점

 - 특정 작업을 수행상태로 만드는 데 지연시간 필요( tape을 초기 위치로 되돌린 다음 특      정 작업 탐색)


1.3.2.2 buffering

* 방법:

 - 계산과 작업의 입출력을 동시에 수행

 - 자료를 입력한 후 CPU가 그들을 연산하려고 하는 순간 입력장치는 바로 다음 입력을      시작


* 실질적으로 버퍼링은 CPU와 입출력장치의 둘 중에서 어느 하나가 먼저 종료할 수 있기    때문에 항상 CPU와 입출력장치를 동시에 수행하지 못함

 ⇒ 입출력 중심(I/O bound) 작업에서보다 CPU 중심(CPU bound) 작업에서 효과적


1.3.2.3  spooling(Simultaneous Peripheral Operation On Line)

* spooling

 - 동기 : 테이프 시스템이 디스크 시스템으로 대치되어 빠른 속도로 CPU가

          data를 쓸 수 있음

 - 기능: 한 작업의 입출력과 다른 작업의 수행을 동시에 할 수 있다.

 - 조건 : 용량이 큰 disk와 약간의 table → 입력의 image의 위치 기록

 - Fig 1.5 in page 13


1.4  Multiprogrammed Batched Systems


* 방법:

 ① OS는 main memory에 여러 개의 job들을 (job pool 로부터 선택해서) 보관한다.

 ② 한 개의 job이 수행 중 다른 resource들을 기다릴 때 다른 job을 수행한다.


* 참고사항

 - Job scheduling:

   ⇒ multiprogram이 가능하다

   ⇒ job pool로부터 여러 개의 job 들을 선택해서 main memory로 적재한다.

 - memory management ⇒ 여러 개의 program을 동시에 memory에 저장하는 관리법

 - CPU scheduling

   ⇒ 여러 개의 job들이 동시에 run 할 준비가 되어있을 때 이들 중 하나를 골라

      실행하는 전략


1.5  Time-Sharing Systems (Multi-tasking Systems)


* 다중 프로그래밍

 - 장점: 여러 가지 컴퓨터 resource (CPU time, memory, peripheral devices)를

        효과적으로 사용

 - 다중 프로그래밍의 단점 :

   ① user는 프로그램이 실행될 동안 작업과 interact 할 수 없다.

   ② program이 진행되는 동안 debugging 할 수 없다.

     ⇒ program과 data를 dump해서 debugging해야 한다.


* Time Sharing (=multi-tasking)

 - 다중 작업들은 CPU의 교대 수행에 의해 수행된다.

 - 작업 간의 교대 수행이 빈번하게 이루어져서 사용자는 프로그램이 수행

   되고 있는 동안 interact 할 수 있다.


* batch system은 대화식이 거의 필요없는 큰 작업을 수행하는 데 아주 적합

 하다.


* 대화식 작업들은 다수의 작은 작업들로 구성이 되어 있어서 다음 명령어

 의 결과를 예측할 수 없다. ⇒ 짧은 응답이 필요한 경우 사용


* time sharing = CPU scheduling + multiprogramming

                    ↓                ↓

                interactivity        CPU utility (batch)


* 용어 : process ⇒ program이 memory에 적재되고 실행되는 상태


* Multiprogramming and time-sharing ⇒ central themes of modern Operating Systems


1.6 Personal-Computer Systems

* Personal Computer

 ① a computer system dedicated to a single user

 ② CPU는 user program으로부터 운영체제를 protect 하지 못함

 ③ neither multiuser nor multitasking

 ④ MS-DOS는 file protection의 기능이 없다.

   → remote operation 할 때 다른 사용자가 file을 변형시키거나 손상


1.7 Parallel Systems(Multiprocessor Systems): 병렬 시스템


* parallel system(tightly coupled system)

  - more than one processor

  - sharing bus, clock and memory and pheripheral devices

  - 장점:

    ① increase throughput(출력) ⇒ the speed up with n processors is not n

    ② increase reliability(신뢰성)

       ⇒ if one processor down, system does not be halted, it is just slowed down            ⇒ graceful degradation


* multiprocessor system

 - symmetric 

 - asymmetric


* symmetric multiprocessing

 - each processor runs an identical copy of OS

 - 장점 : many processes can run at once

 - 단점 : one cpu may be sitting while another is overloaded

    ⇒ 극복: processors share certain data structure

* asymmetric

- each processor is assigned a specific task

- master processor controls the system

- I/O 문제는 remote job entry sites를 이용해 해결(front end processors)

  ⇒ main cpu handle lines and blocks of characters, instead of individual

   characters


1.8 Distributed Systems(loosely coupled systems): 분산시스템


* distributed system:

 - processors do not share memory or clock

 - 처리기들은 자신의 local memory를 갖는다

 - processors간의 대화는 고속의 bus나 telephone line을 이용

 - 장점:

   ① 자원 공유(Resource Sharing)

   ② 계산 속도 증가(Computation Speed up)

      ⇒ 특정 계산을 각 처리기로 분산하여 수행

      ⇒ 부하 공유(load sharing) : 한 사이트에 과부하가 걸렸을 때 부하가 적은 다른 사            이트로 이동

   ③ reliability(신뢰성)

      ⇒ 각 사이트가 독립적일 때 한 사이트의 실패가 다른 사이트에 영향을 주지 않음

      ⇒ 각 사이트가 서로 연관이 되어 있으면 시스템의 하드웨어와 자료를 적당히 중복         시킴으로써 한 사이트가 고장이 나도 다른 사이트는 동작을 계속함

   ④ 통신(communication): e-mail



1.9 Real-time Systems(실시간 시스템)


* 실시간 시스템은 처리기의 동작이나 데이터의 흐름에 엄격한 시간 요구가 있을 때 사      용된다. ⇒ 전용 application에 있어서 제어 장치로 사용

* 실시간 system이 요구되는 사례

 - 과학적 실험

 - 의학 영상 시스템

 - 산업 제어 시스템

 - display 시스템

 - 자동차 연료 분사 시스템

 - 가정 응용 제어기

 - 무기 시스템


* 실시간 시스템의 종류

 - hard real-time system

 - soft real-time system

 

* hard real-time system

 - critical한 일들을 제시간에 끝낸다.

 - second storage는 없거나 제한되었다. ⇒ short-term memory나 ROM으로 대치

 - 진보된 OS의 특징들이 없다.

 - time-sharing system과 혼합하여 사용될 수 없다.


* soft real-time system

 - critical한 일이 다른 일들보다 우선 순위를 갖고 실행된다.

 -응용분야 ⇒ multimedia, virtual reality, advanced scientific projects (undersea

             exploration, planetary rovers)

 -다른 system과 혼합하여 쓰일 수 있다.



원본 링크 : http://cafe.naver.com/gaury.cafe?iframe_url=/Artic

◆ 가우리정보센터 < GBC >

2005/11/17 15:34 2005/11/17 15:34
Trackback address :: http://4ellene.net/tt/trackback/540

Comments List

  1. your girls 2008/05/23 04:25

  2. gay cherokee men 2008/05/23 05:27

Write a comment.

[로그인][오픈아이디란?]