제육's 휘발성 코딩
article thumbnail
반응형

운영체제

운영체제란 하드웨어나 소프트웨어 등 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 효과적으로 사용할 수 있는 환경을 제공하는 소프트웨어를 의미한다.

 

운영체제 역할

CPU 스케줄링과 프로세스 관리

  • 프로세스에 CPU 소유권 할당, 프로세스 생성 및 삭제, 자원 할당 및 반환 관리

메모리 관리

  • 한정된 메모리를 어떤 프로세스에 얼만큼 할당할지 관리

디스크 파일 관리

  • 디스크 파일을 어떻게 보관할 지 관리

I/O 디바이스 관리

  • 키보드, 마우스 등 하드웨어 기기 간 데이터 통신을 주고 받는 것을 관리

 

운영체제 구조

운영체제구조

  • 운영체제는 다음과 같은 구조로 이루어져 있다. GUI가 없고 CUI만 있는 운영체제도 존재한다.

커널

커널이란 운영체제의 핵심 부분으로, 입출력을 관리하며 시스템콜을 처리하고 변환하는 역할을 한다.

커널은 컴퓨터 자원만 바라보고 있기 때문에 사용자와 인터랙션은 없으며, 쉘을 통해 명령을 수행한다. 여기서 쉘은 사용자가 컴퓨터에게 전달하는 명령을 해석하는 연결 다리 역할을 수행한다.

 

시스템 콜

시스템콜이란 운영체제가 커널에 접근하기 위한 인터페이스이며, 유저 프로그램이 운영체제의 서비스를 받기 위해 커널 함수를 호출할 때 사용한다.

 

유저 프로그램이 I/O 요청으로 trap을 발동하면, 시스템콜을 통해 커널 모드로 변환되어 실행된다. 참고로 유저모드와 커널 모드는 modebit를 통해 구분한다. (1이면 유저모드, 0이면 커널 모드)

컴퓨터 요소

컴퓨터는 CPU, DMA, 메모리, 타이머, 디바이스 컨트롤러 등으로 이루어져 있다.

 

CPU

CPU(Central Processing Unit)는 산술논리연산장치, 제어장치, 레지스터로 구성되어 있는 장치를 의미한다. 인터럽트에 의해 메모리에 존재하는 명령어를 해석해서 실행하는 일꾼 역할을 수행한다.

운영체제의 커널이 프로그램을 메모리에 올려 프로세스로 만들면 일꾼인 CPU가 이 작업을 처리한다. CPU의 연산처리 과정은 CU가 처리할 값을 메모리와 레지스터에 등록하고, ALU에게 계산을 요청한다. 계산된 값은 레지스터에서 받아서 메모리에 저장한다.

제어 장치(CU, Control Unit) : 프로세스 조작을 지시하는 CPU의 일부분

레지스터 : CPU 안에 있는 매우 빠른 임시 기억장치 (메모리 보다 수백배 빠르다.) CPU는 자체적으로 데이터를 저장하는 방법이 없고, 레지스터를 거쳐 데이터를 전달한다.

산술논리연산장치(ALU, Arithmetic Logic Unit) : 산술, 놀리합 등 논리 연산을 계산하는 디지털 회로 역할

DMA

DMA 컨트롤러는 I/O 디바이스가 메모리에 직접 접근할 수 있도록 만들어주는 하드웨어 장치를 의미한다. CPU의 부하를 막아준다.

 

메모리

메모리는 전자회로에서 데이터나 상태, 명령어 등을 기록하는 장치를 의미하며 보통 RAM(Random Access Memory)를 뜻한다. CPU는 계산을 담당하고, 메모리는 기억을 담당한다.

 

타이머

타이머는 특정 프로그램에 시간을 제한하는 역할을 수행한다. 시간이 많이 걸리는 프로그램이 작동할 때 제한을 걸기 위해 존재한다.

 

디바이스 컨트롤러

디바이스 컨트롤러는 컴퓨터와 연결되어 있는 I/O 디바이스들의 작은 CPU를 말한다.

메모리 계층

운영체제 메모리 계층

  • 메모리 계층은 다음과 같이 레지스터, 캐시, 메모리, 디스크 등이 있다.

 

캐시

캐시는 데이터를 미리 복사해 놓는 임시 저장소이자 CPU와 메모리의 속도 차이에 따른 병목 현상을 줄이기 위한 메모리를 의미한다.

캐시에서 원하는 데이터를 찾았다면 캐시히트, 해당 데이터가 캐시에 없다면 주 메모리에서 데이터를 찾아오는 것을 캐시미스라고 한다. 캐시 크기와 교체 정책을 잘 선택하면, 모든 접근의 80 ~ 99%를 캐시에서 얻을 수 있어 높은 성능을 얻게 된다.

반응형
profile

제육's 휘발성 코딩

@sasca37

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 맞구독은 언제나 환영입니다^^