본문 바로가기

운영체제

컴퓨터 시스템의 구조

728x90

운영체제

: 하드웨어 바로 위에 위치하고 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층

목적

1) 사용자가 편리하게 컴퓨터 시스템을 이용하도록 지원

2) 컴퓨터 시스템의 자원을 효율적으로 관리

- 주어진 자원들로 최대의 성능

- 자원들간의 형평성 유지

분류

1) 동시 작업 가능 여부

- 단일 작업

- 다중 작업

2) 사용자의 수

- 단일 사용자

- 다중 사용자

처리 방식

- 일괄 처리

- 시 분할

- 실시간

 

컴퓨터 시스템의 구조

 

mode bit

사용자 모드 (mode bit = 1) : 사용자 프로그램 수행

모니터 모드 (mode bit = 0) : 운영체제 코드 수행

특권 명령(ex. I/O device 접근)은 모니터 모드에서만 수행 가능

시스템콜 : 사용자 프로그램이 운영체제의 도움을 받기 위해 커널 함수를 호출

timer

: 특정 프로그램의 CPU 독점을 막기 위해 정해진 시간이 흐른 뒤 운영체제에게 CPU 제어권이 넘어가도록 인터럽트를 발생시킴

인터럽트

- time out에 의한 인터럽트

- 시스템콜에 의한 인터럽트

- 프로그램의 오류로 인한 인터럽트

- 하드웨어가 발생시킨 인터럽트

device controller

: I/O 작업을 관리하는 일종의 작은 CPU

CPU가 I/O 작업을 요청하면 I/O 작업 처리 -> 작업 완료시 CPU에 인터럽트로 완료 소식을 알림

동기식 / 비동기식 입출력

1) 동기식 입출력

- I/O 작업이 끝날 때까지 CPU 사용을 멈췄다가 작업이 끝나면 사용

- I/O 작업이 진행되는 동안 CPU를 빼앗아 다른 프로그램에 넘기고 I/O 작업 처리를 기다리는 줄에 세움

2) 비동기식 입출력

: I/O 작업 진행 여부와 상관없이 다음 일 진행

DMA

: CPU의 중재 없이 device controller가 buffer storage의 내용을 메모리에 블록 단위로 전송하여 인터럽트 횟수를 줄여줌

1. I/O 장치가 CPU에 I/O 요청

2. CPU가 DMA controller에 명령 송신

3. DMA가 CPU에 시스템 버스 사용 요청

4. 사용 허가 (CPU는 시스템 버스 사용 불가)

5. DMA controller가 I/O 장치에서 데이터를 읽은 후 메모리로 전송

 

728x90

'운영체제' 카테고리의 다른 글

정리 모음  (0) 2023.03.30