'운영체제'에 해당되는 글 1건

  1. 2010.12.20 [운영체제]운영체제 정리
원서로 된 운영체제 책이라 다시 정리

●운영체제란?

퓨터 사용자와 컴퓨터 하드웨어 사이에 중간 매개체 역할을 해주는 프로그램

- 목표 (편리성, 효율성)

·사용자 프로그램을 실행시키고 문제를 쉽게 해결하도록 함(효율성)

·컴퓨터 시스템을 편리하게 사용할수 있다.

- 시스템 관점

·OS는 자원할당자 이다.

모든 자원의 관리자로 동작하며, 작업을 위해 특정 프로그램과 사용자에게 필요한 자원을 할당한다.

자원에 대해 서로 상충될 수도 있는 많은 요청이 있기 때문에, 운영체제는 컴퓨터 시스템을 효율적이고 공정하게 운영할 수 있도록 어느 요청에 자원을 할당할지를 결정.

- OS는 제어 프로그램이다.

·컴퓨터의 부적절한 사용을 방지하기 위해 사용자 프로그램의 실행을 제어한다.

- 완전한 정의는 없다.

- 컴퓨터에서 항상 수행되는 프로그램 = kernel

● 컴퓨터 시스템 구조

4가지 구조로 나눌수 있다.

- 하드웨어 :

CPU, memory, I/O 장치로 구성되어 있으며 기본 컴퓨팅 자원을 제공한다.

- 운영체제 :

사용자를 위해 다양한 응용 프로그램간의 하드웨어 사용을 제어하고 조정한다.

컴퓨터 시스템이 동작할 때 이 자원들을 적절하게 사용할 수 있는 여러 가지 방법을 제공한다. 단순히 다른 프로그램이 유용한 작업을 할 수 있게 도와준다.

- 응용프로그램 :

컴퓨터 문제를 해결하기 위해 시스템 자원으르 사용

- user

● Computer startup(startup : 시동때 우선 실행해야 할 프로그램)

- 부트스트랩 프로그램은 power-up 이나 reboot를 로드한다.

- ROM 또는 EEPROM에 저장되며 일반적으로 firmware 라고 불린다.

- 모든 시스템의 상태를 초기화 한다.

- 커널과 시작은 OS를 로드함으로서 수행 된다.

●컴퓨터 시스템 연산

공유 메모리에 대한 접근을 제공하는 공통버스에 의해 연결된 여러개의 제어 장치기와 하나 이상의 CPU로 구성되어 있다.

-CPU와 장치제어기는 메모리 사이클을 얻기 위해 경쟁하면서 병행 수행될 수 있다.

·입출력 장치와 중앙연산장치는 동시에 수행할 수 있다.

·각각의 장치 컨트롤러는 특정한 장치 타입을 요구한다.

·각각의 장치 컨트롤러는 로컬 버퍼를 갖는다.

·중앙연산장치는 데이터부터 메인 메모리로 로컬 버퍼에까지 움직인다.

·입출력은 로컬버퍼 컨트롤러의 장치에 있다.

·장치컨트롤러는 CPU에 인터럽트에 의해 운영이 끝났다는 것을 알린다.

●Common Functions of Interrupts(중요?)

·서비스 루틴의 모든 주소들이 있는 인터럽트 벡터를 통해서 인터럽트 서비스 루틴은 대게 인터럽트 전송들을 통제한다. (인터럽트 상태 처리 후 저장 한 지점부터 다시 시작하기 위해서 저장함.)

·인터럽트의 구조는 인터럽트된 명령의 주소를 저장해야 한다.(예 : 32인덱스의 2000번 주소를 저장함.)

·인터럽트가 들어오면 로스트 인터럽트를 예방하는 또 다른 인터럽트를 수행은 작동하지 않는다.(CPU 상태 저장)

·소프트웨어에서 생성된 인터럽트를 트랩이라 한다.

·OS는 인터럽트 드리븐이다.

●Interrupt Handling(중요?)

·운영체제는 레지스터와 프로그램 카운터의(다음 실행할 인터럽트 주소 저장)저장에 의해 CPU의 상태를 보호한다.

· 인터럽트 발생 타입을 결정한다.

polling(조사를 위해서 → 몇 명의 user 가 사용?)

vectored interrupt system

·separate segments of code determine what action should be taken for each type of interrupt

 

※프로그램 카운터

다음에 실생할 명령이 저장되어있는 메인 메모리상의 어드레스를 가리키는 레지스터

프로그램 카운터는 각 명령어가 실행된 후, 곧 이어질 명령어의 주소를 가리키는 값이 자동적으로 증가한다.

 

●I/O 구조

·동기식 입출력(Synchronous) :

·입출력이 시작되면 요청한 프로세서는 입출력이 완료될 때까지 기다린다.

·특수한 명령어 사용 / 대기루프 사용

유저의 퀘스트한 프로그램의 처리에 있어 kernel의 device driver → Interrupt handler → hardware date transfer 처리 시간동안 다음 프로그램의 실행을 대기 하는 방식.

·비동기식 입출력(Asynchronous) : 요청한 프로세서는 입출력이 완료될 때 까지 기다리지 않고 계속 다른 작업을 수행한다.

시스템 콜 - I/O가 완료 하기위해 OS시스템이 유저를 허락할 때 까지 요청 한다.

Posted by 검지발가락♡