본문 바로가기

개인공부

[운영체제] 시스템 구조

동기식 입출력은 1개의 요청이 다 끝날 때 까지 다른 작업을 하지 않고 기다리는 것

작동방식

1) 1개의 요청이 다 끝날때 까지 다른 작업을 하지 않는다 

2) 1개의 요청을 하고 CPU를 사용하지 않을 때 다른 프로세스로 넘어가 CPU를 넘겨주로 새로운 작업을 한다.

(조금 더 구체적인 이해 필요 )

비동기식 입출력은 받은 요청이 다 끝날때까지 기다리지 않고 출력을 하지 않아도 처리할 수 있는 작업을 동시에 처리하는 것이다. 

 

DMA(direct memory access)

-직접적으로 메모리에 접근이 가능 

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

-CPU의 중재 없이 device controller가 장치 buffer strage의 내용을 block단위로 직접 전송

(byte 단위X, block단위로 인터럽트 발생)

 

두가지 입출력 방식

1) memory접근 인스트럭쳐 따로 i/o에 접근하는 인스트럭쳐 따로 있음

1) 메모리 주소를 연장시켜 접근하는 방식 / 메모리주소, i/o 장치 주소를 매겨 접근하는 주소에 따른 작업을 한다. 

[특징]

1. 위로 올라 갈수록 속도가 빠르다

2. 단위 비용이 비싸 용량이 작다.

3. secondary박스 안에 있는 하드 디스크들은 비휘발 성이고

primary안에 있는 램이나 CPU는 휘발성이므로 전원이 나가면 데이터가 사라짐

 

용량은 cache보다 main이 용량이 커서 secondary에서 데이터를 읽어오면 main에 저장을 하고 나중에 똑같은 요청이 오면 저장 했던 데이터를 보내 시간을 단축 시킨다.

swap area : memory의 연장 공간으로 사용하고 휘발성이다. 

file system : 비휘발성으로 전원이 나가도 사라지지 않음

 

virtual memory   --주소 변환 -->   physical memory

 

커널 주소 공간의 내용

code -

커널코드

1) 자원 관리 코드 

2) 시스템콜, 인터럽트 처리 코드

3) 서비스 제공을 위한 코드 

 

data-

cpu,memory,disk 및 여러 프로세스(하드웨어나 소프트웨어)를 data(cpu, pcb등등)로 저장 

-메모리 사용량, cpu할당 등 관리하기 위한 것

stack-

각 프로세스의 커널 스택 

 

함수

사용자 정의 함수 : 자신의 프로그램에 정의하여 사용한 함수 

라이브러리 함수 : 자신의 프로그램에서 정의하지 않고 가져다 쓴 함수

커널 함수 : 운영체제 프로그램의 함수 / 커널함수의 호출 = 시스템의 콜

 

'개인공부' 카테고리의 다른 글

csrf 에러 - csrf란 무엇인가?  (0) 2021.11.20
[SQL] 기본 명령어02  (0) 2021.07.09
[React]기초 문법  (0) 2021.06.30
[운영체제]운영체제 개념 및 컴퓨터 시스템 구조  (0) 2021.06.23
Nginx 2-1(무중단 배포1/2)  (0) 2021.05.17