프로그래밍[Univ]/운영체제

[OS] Basic

Cloud Travel 2012. 3. 18. 14:26
* Processor System
 ⓐ Single-Processor System
  - 프로세스 타입은 하는 일에 따라서 나눠진다.
   > General-purpose processor : 일반적인 프로세서로 CPU를 말한다.
   > Special-purpose processor : 특수 목적의 프로세서로 키보드, 디스크등을 컨트롤해주는 프로세스 
   > 대부븐의 컴퓨터는 하나의 General-purpose processor와 다수의 special-purpose processor를 가지며
     이를 통틀허 Single-Processor System이라고 한다.
 ⓑ Multiprocessor System
  - General-purpose processor가 여러개 있는 것을 의미한다. 
  - 단위 시간당 할 수 있는 일이 증가하는 것이다. 절대 속도가 증가하는 것이 아니다.
  - Single-Processor 컴퓨터 여러대가 있는 것보다 Multiprocessor 컴퓨터 한대있는게 훨씬싸다. 
  - 하나의 processor 고장이 있어도 지속적으로 시스템이 동작하며, 속도가 급격하게 느려지지 않는다.
     (신뢰성, 안전성 향상) 

  - Multiprocessing Type
   ① Asymmetric Multiprocessing(비대칭적)
    > 하나의 대표 Processor하나가 지정되 있고, 나머지는 slave로써 활동을 한다.
   ② Symmetric Multiprocessing(SMP/대칭적)
    >  모든 프로세서가 같은 역할을 하여, 하는 일을 배분 받는다.

 ⓒ Multi-core Processor
  - Multiple computing core를 하나의 칩으로 만든 것이다.
  - Multiprocessing System과 같은 맥락이지만 Bus와 Energy의 효율을 위해서 Multi-core를 사용한다.

* Clustered System(분산처리 시스템)
 - 계산을 많이 해야하는 분야에서 사용
 ⓐ Multi-programming
   - 해야할 일을 하나의 스텍에 쌓아 놓는다.
   - 하나의 일을 계속 실행하다가 잠시 멈추게 되면 그때 다른 일을 실행한다.
     > 하나의 일이 실행 되고 있다면 다른 시스템은 대기 상태가 되어야 한다.

   - 여러개의 프로그램을 한번에 돌리지 못하고 하나의 프로그램에 올인하는 문제점이 있다.
  ⓑ Time sharing(= multitasking) 
   - 하는 일들을 조금씩 나눠서 모두 실행을 해준다.
   - 사용자는 컴퓨터와 상호 작용을 할수 있으며, 여러 유저가 시스템을 공유 할 수 있는 장점이 있다.
   - 멀티테스킹이 이뤄지기 위해서는 Job scheduling과 CPU scheduling 기술이 필요하다.
   ※ 프로세스 : 프로그램이 메모리에 올라와서 실행중인것.

* OS 연산
 - 현대 컴퓨터는 interrupt-driven하다.
 - Hardware interrupt와 software interrupt(= trap, exception)이 존재한다.
 - 인터럽트 연산/대응을 위해서 dual-mode를 가지고 있다.
   

  > Mode bit :  mode를 나타내는 bit
  > user mode에서 system call을 하면 mode bit이 변경하여 kernal mode로 가고, system call을 수행하고
    다시 mode bit을 변경하여 user mode로 돌아간다.
  > system call : 프로세스가 OS에 요청하는 행동으로 trap(software interrupt)형태로 발생한다.

* OS가 하는 일
 ⓐ Process Management
  - 실행되고 있는 프로그램을 관리하는 것
  - CPU, memory, IO, files, Initialization data등을 관리해준다.
  - 프로세스가 종료되면 자원을 회수한다.
  - 활동
   > 유저와 시스템 프로세스 생성과 삭제
   > 일시 정지와 재실행 관리
   > 프로세스 동기화를 위한 메커니즘 제공
   > 프로새스 통신을 위한 메커니즘 제공
   > deadlock handling
       : resource공유시 어떤 프로세스가 다른 프로세스가 사용하는 resource를 사용하려고 할때 발생 
 ⓑ Memory Management
  - Memory과 꽉차게 되면 virtual memory(HDD를 임시로 memory처럼 사용하는 것)기능을 수행
 ⓒ Storage Management
 ⓓ Mass-storage Management
 ※ Managed by
  - register : compiler > 기계언어에서 register 사용을 지시하므로...
  - cache : hardware
  - main memory : os
  - disk storage : os