CS지식/운영체제

TIL 정리_70(운영체제)

ran4 2022. 4. 27. 11:29

http://www.kocw.net/home/m/search/kemView.do?kemId=1046323

운영체제 강의를 듣고 정리한 내용입니다

 

 

동기식 입출력과 비동기식 입출력

동기식 입출력(Synchronous I/O)

I/O 요청 후 입출력 작업이 완료된 후에야 제어가 사용자 프로그램에 넘어간다

 

구현방법

I/O가 끝날 때까지 CPU를 낭비시킴

매 시점 하나의 I/O만 이렁날 수 있다

2. I/O가 완료될 때까지 해당 프로그램에게서 CPU를 빼앗는다.

I/O처리를 기다리는 중에 그 프로그램을 줄 세우고, 다른 프로그램에게 CPU를 준다

 

비동기식 입출력(asynchronous I/O)

I/O가 시작된 후 입출력 작업이 끝나기를 기다리지 않고 제어가 사용자 프로그램에 즉시 넘어간다

 

두 경우 모두 I/O의 완료는 인터럽트로 알려준다.

 

 

DMA

CPU가 인터럽트를 많이 당하면 효율적으로 동작을 못한다

-> DMA controller를 추가하여 자잘한 데이터들을 취합하여 메모리로 복사하고 인터럽트를 걸 수 있다.

빠른 입출력 장치를 메모리에 가까운 속도로 처리하기 위해 사용한다

CPU의 중재없이 device controllerdevicebuffer storage의 내용을 메모리에 block 단위로 직접 전송한다

바이트 단위가 아니라 block 단위로 전송한다

 

 

서로 다른 입출력 명령어

I/O를 수행하는 serial instruction에 의해 발생

-메모리 접근과 I/O instruction을 나눠서 접근한다 (일반적인 방법)

Memory Mapped I/O에 의해 발생

I/O 디바이스에 메모리 주소의 연장주소를 붙인 후 주소에 따른 메모리 접근을 한다

 

 

저장 장치 계층 구조

CPU

-primary (CPU가 접근 가능하다)

registers

cache Memory

Main Memory

속도는 빠르지만 단위 가격이 비싸기 때문에 용량이 작다

휘발성 매체로 구성되어 있다

--------------

-secondary (하드 디스크)

Magnetic Disk

Optical Disk

Magnetic Tape

비 휘발성 매체로 구성되어 있다

 

Caching : 당장 필요한 정보만 읽어들여서 사용한다(재사용 요청에 유리)

 

 

프로그램의 실행

프로그램은 보통 실행파일의 형태로 저장되어있다

실행 하면 메모리에 올라가서 프로세스가 되어 실행된다

 

가상 메모리 Virtual Memory

어떤 프로그램을 실행시키면 프로그램의 독자적인 메모리 주소공간이 생성된다

가상 메모리 공간은 stack, data, code로 구성되어있다

-> 메모리 중 필요한 부분을 메모리에 올려 물리적인 메모리에 실행시킨다

필요하지 않은 부분은 디스크에 놔둔다

 

프로그램마다 주소가 존재한다

-> 물리 메모리도 마찬가지이다

메모리 주소 변환을 돕는 장치는 하드웨어 장치이다

 

'CS지식 > 운영체제' 카테고리의 다른 글

TIL 정리_73  (0) 2022.04.30
TIL 정리_72  (0) 2022.04.29
TIL 정리_71  (0) 2022.04.28
TIL 정리_68  (0) 2022.04.24
TIL 정리_67(운영체제)  (0) 2022.04.23