Notice
Recent Posts
Recent Comments
Link
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Tags more
Archives
Today
Total
관리 메뉴

개발의변화

운영체제 정리1 본문

운영체제

운영체제 정리1

refindmySapporo 2024. 4. 15. 20:00
반응형

운영체제 분류

 

단일 작업용 운영체제: 한 번에 하나의 프로그램만 실행시킬 수 있는 운영체제

다중작업 운영체제: MS 윈도우나 유닉스 환경에서는 하나의 프로그램이 끝나기 전에 다른 프로그램을 실행시키는 것이 가능하다. -> CPU가 하나밖에 없어 매 순간 하나의 프로그램만 CPU에서 실행될 수 있더라도 번갈아 실행되므로 동시에 작업이 되는  같음  -> 이런 걸 시분할 시스템

 

다중 프로그래밍 시스템: CPU와 달리 메모리의 경우 여러 프로그램들이 조금씩 메모리 공간을 보유하며 동시에 메모리에 올라가 있을 수 있다. 메모리 공간을 분할해 여러 프로그램들을 동시에 메모리에 올려놓고 처리

 

다중처리기 시스템: 하나의 컴퓨터 안에 CPU가 여러 개 설치된 경우를 뜻함

 

주변장치 및 입출려 장치는 CPU나 메모리와 달리 인터럽트라는 매커니즘을 통해 관리가 이루어짐

인터럽트의 종류마다 서로 다른 인터럽트 처리루틴을 가지고 있음

 

주변장치들은 각 장치마다 그 장치에서 일어나는 업무를 관리하기 위한 일종의 작은 CPU를 컨트롤러라고 부른다.

 

 

CPU 연산과 I/O 연산

 

로컬버퍼: 각 장치마다 이를 제어하기 위해 설치된 장치 컨트롤러는 장치로부터 들어오고 나가는 데이터를 임시로 저장하기 위한 작은 메모리를 가지고 있다.

 

EX)

1. 프로그램 B가 수행 중에 디스크에서 데이터를 읽어오라는 명령을 내린다.

2. 디스크 컨트롤러가 물리적인 디스크에서 내용을 읽어 이를 로컬버퍼에 저장한다.

3. 원하는 데이터를 로컬버퍼로 다 읽어오고 나면 B는 자신이 필요로 하는 데이터를 다 읽어왔으므로 메인 CPU에서 다음일  수행가능

4. 이떄 로컬버퍼로 읽어오는 작업이 끝났는지를 메인 CPU가 지속적으로 체크하는 것이 아니라 장치에 있는 컨트롤러가 인터럽트를 발생시켜 CPU에 보고하게 된다.

5. 이떄 CPU 옆에는 인터럽트 라인(Interrupt line)이 있어서 CPU가 자신의 작업을 하던 중간에 인터럽트 라인에 신호가 들어오면 하던 일을 멈추고 인터럽트와 관련된 일먼저 쳐리

 

즉 키보드 입력 혹은 요청된 디스크 입출력 작업의 완료 등 CPU에 알려줄 필요가 있는 이벤트가 일어난 경우 컨트롤러가 발생

 

인터럽트 일반적 기능

운영체제가 해야 할 들을 운영체제의 개발자가 미리 프로그래밍해서 커널 내에 포함시켜두는 것

디스크의 로컬버퍼에 있는 내용을 사용자 프로그램의 메모리로 전달하고, 해당 프로그램이 CPU를 할당받을 경우 다음 명령을 수행할 수 있음을 표시해두는 일

 

인터럽트 벡터: 인터럽트 종류마다 번호를 정해서, 번호에 따라 처리해야 할 코드가 위치한 부분을 가리키는 자료구조

 

트랩: 소프트웨어 인터럽트 (예외상황,시스템 콜)

 

예외상황: 사용자 프로그램이 0으로 나누는 연산 등 비정상적인 작업을 시도하거나, 자신의 메모리 영역 바깥에 접근하려는 시도 등 권한이 없는 작업을 시도할 때

 

시스템 콜: 사용자 프로그램이 운영체제 내부에 정의된 코드를 실행하고 싶을 때 운영체제에 서비스를 요청하는 방법

 

인터럽트 핸들링

인터럽트가 발생한 경우에 처리해야 할 일의 절차를 의미

프로그램 A가 실행될 때 인터럽트가 발생하면 A의 현재 상태 먼저 저장

 

프로세스 제어블록(Process Control Block: PCB) 자료구조

PCB 각각의 프로그램마다 하나씩 존재하며 해당 프로그램의 어느 부분이 실행 중이었는지 저장

(메모리 주소, 레지스터값, 하드웨어 상태)

 

입출력 구조

동기식 입출력: 어떤 프로그램이 완료된 후에야 그 프로그램이 후속 작업을 수행할 수 있는 방식

비동기식 입출력: 입출력 연산을 요청한 후에 연산이 끝나기를 기다리는 것이 아니라 CPU의 제어권을 입출력 연산을 호출한 그 프로그램에게 곧바로 다시 부여하는 방식을 말함

 

DMA

원칙적으로 메모리는 CPU에 의해서만 접근할 수 있는 장치

따라서 CPU 외의 장치가 메모리의 데이터엡 접근하기 위해서는 CPU에서 인터럽트를 발생시켜 CPU가 이를 대행하는 식으로만 가능

 

DMA: 일종의 컨트롤러로, CPU가 입출력 장치들의 메모리 접근 요청에 의해 자주 인터럽트 당하는 것을 막아주는 역할을 한다. DMA는 바이트(byte)단위가 아니라 블록(block)이라는 큰 단위로 정보를 메모리로 읽어온 후에 CPU에게 인터럽트를 발생시켜서 해당 작업의 완료를 알려줌

 

저장장치의 구조

주기억장치: 보통 메모리라고 부르며 전원이 나가면 저장되었던 내용이 모두 사라져버리는 휘발성의 RAM을 매체로 사용하는 경우가 대부분이다. 

 

보조기억장치의 용도

 

첫 번째 파일시스템

전원이 나가도 유지해야 할 정보가 있으면 그것을 파일 형태로 보조기억장치에 저장

 

두 번째 메모리의 연장 공간인 스왑 영역용

메모리는 크기가 한정, 가격이 상대적으로 비싼데다가 용량이 적은 경우 대부분이다.

다수의 프로그램이 메모리에 올라가 동시에 수행되는 현대의 컴퓨터 환경에서는 메모리 공간이 부족한 경우가 흔히 발생

반응형

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

운영체제 문제풀이  (0) 2024.04.16
3. 프로세스 스케줄링  (0) 2023.03.31
2. 메모리 관리  (0) 2023.03.30
1.운영체제 기초 활용  (0) 2023.03.30
프로세스와 스레드  (0) 2023.03.28