본문 바로가기
IT 이론/운영체제

Operating System

by 아이들링 2013. 4. 12.

A computer system can be divided into four components

Hardware, Operating System, Application Program, Users(People, machine, other computer)

 

기본적인 3가지

Process Management

Memnory Management

Storage Management

 

정의

OS is resource allocator

OS is control program

No universally accepted definition

 

특징

1. I/O devices and the CPU can execute concurrently.

   I/O CPU는 같이 실행 될 수 있다.
2. Each device controller is in charge of a particular device type.

   각 장치 컨트롤러는 특정 장치를 담당한다.

3. Each device controller has a local buffer.
   각 장치 컨트롤러는 고유의 버퍼를 가진다.

4. CPU moves data from/to main memory to/from local buffers

   CPU는 그 버퍼에 있는 데이터를 메모리에서 올리거나 내리는 작업을 한다.
5. I/O is from the device to local buffer of controller.

   I/O는 컨트롤러의 로컬 버퍼와 디바이스간의 이동이다.
6. Device controller informs CPU that it has finished its operation by causing an interrupt.

   디바이스 컨트롤러는 인터럽트를 발생 시킴으로써 작업이 끝났음을 알린다.

 

Interrupt Handling(Type of interrupt)

polling interrupt : 누가 인터럽트를 걸었는지 일일이 확인

vertored interrupt system : 인터럽트 vertor을 통해 누가 인터럽트를 걸었는지 알 수 있음

 

I/O Structure(Two I/O Methods)

Synchronous : After I/O starts, control returns to user program only upon I/O completion.

Asynchronous : After I/O starts, control returns to user without I/O completion.

 

Direct Memory Access (DMA) Structure

빠른 속도를 필요로 하는 I/O device에 사용되며, CPU를 거치지 않고 메모리에 직접 엑세스한다.

 

Caching

Cache는 CPU와 Main Memory사이의 임시 기억 공간을 가리키는 말이지만, Caching은 느린 저장 장치의 명령이나 데이터를 좀 더 빠른 저장 장치에 임시로 저장 해 놓는 작업을 가리키는 말로 폭넓게 사용된다.

웹 브라우저에서 웹 페이지를 좀 더 빨리 열기 위해 임시폴더에 그림 파일을 미리 저장 해 두는것도 Caching의 일종이다.

 

Migration from Disk to Register

Magnetic Disk => Main Memory => Cache => Hardware Register(CPU)

*Main Memory에 올리기 전에 Cache부터 확인한다.

 

Prefetching

앞으로 수행될 명령어를 미리 예상해서 메모리에 넣어 둠으로써 수행 속도를 향상시킨다.

 

Operating System Structure

Multiprograming 은 효율성이 가장 중요하다.

1. 어떠한 한 프로세스가 CPU와 I/O를 계속 잡고 있어선 안된다.

2. CPU는 쉬면 안된다. I/O가 발생하거나 CPU가 대기해야 될 상황이 생기면 항상 swiching이 일어나야 한다.

3. Job Scheduler에 의해 실행될 job이 선택된다.

 

Multitasking과 비슷한 개념이다. 멀티프로그래밍은 CPU의 효율적인 관리를 목적으로 생겨난 개념이라면 멀티태스킹은 사용성 증대를 위한 개념이다.

Tag. 논리적 확장, Response Time 보장

 

 

 

 

댓글0