출처 : https://www.youtube.com/watch?v=EdTtGv9w2sA&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN
운영체제(Operating System)이란 컴퓨터 시스템 자원들을 효율적으로 관리해서 사용자 혹은 응용프로그램에게 서비스를 제공하기 위한 시스템이다.
운영체제가 관리하는 컴퓨터 하드웨어는 크게 3종류가 있다.
- 프로세서 (Processor) : 계산 장치
- CPU
- 그래픽카드(GPU)
- 응용 전용 처리장치 등
- 메모리 (Memory) : 저장 장치
- 주 기억장치(DRAM)
- 보조 기억장치(SSD/HDD) 등
- 주변 장치
- 키보드 / 마우스
- 모니터, 프린터
- 네트워크 모뎀 등
프로세서 (Processor)
- 컴퓨터의 두뇌 (중앙처리장치)
- 연산, 계산을 수행한다.
- 컴퓨터의 모든 장치의 동작을 제어한다.
레지스터(Register)
- 프로세서 내부에 있는 메모리
- 프로세서가 사용할 데이터 저장
- 컴퓨터에서 가장 빠른 메모리
- 레지스터의 종류
- 용도에 따른 분류
- 전용 레지스터, 범용 레지스터
- 사용자가 정보 변경 가능 여부에 따른 분류
- 사용자 가시 레지스터, 사용자 불가시 레지스터
- 저장하는 정보의 종류에 따른 분류
- 데이터 레지스터, 주소 레지스터, 상태 레지스터
- 용도에 따른 분류
운영체제는 프로세서와 관련되서 2가지 역할을 수행한다.
1. 운영체제는 프로세서에게 처리해야할 작업을 할당하고 관리한다.
- 프로세스 생성 및 관리
2. 프로그램의 프로세서 사용을 제어한다.
- 프로그램의 프로세서 사용 시간을 관리한다.
- 복수 프로그램 간의 사용 시간을 조율한다.
메모리 (Memory)
- 데이터를 저장하는 장치 (기억 장치)
- 무언가를 저장한다고 하면 모두 메모리로 분류된다.
- 프로그램(OS, 사용자 SW 등), 사용자 데이터 등
메모리의 종류는 크게 4가지로 분류된다.
- 레지스터 (CPU)
- 캐시 (CPU)
- 메인 메모리 (DRAM)
- 보조기억장치(SSD / HDD)
레지스터가 가장 빠르고 비싸며 저용량이고, 보조기억장치가 가장 느리고 저렴하며 대용량이다.
주 기억장치(Main Memory)
- 프로세서가 수행할 프로그램과 데이터를 저장한다. (프로세서가 직접 접근할 수 있는 영역이 주 기억장치까지이기 때문이다.)
- DRAM을 주로 사용한다.
- 용량이 크고, 가격이 저렴하다
- 디스크 입출력 병목현상(Input/Output Bottleneck) 해소 (읽기 속도가 CPU는 빠른데 Disk는 느리므로 갭이 발생하게 된다. 이를 해소하기 위해 Disk보다 용량은 작지만 속도는 조금 더 빠른 주 기억장치를 놓아서 이 속도 차이로 인한 갭을 매꿔준다.)
캐시(Cache)
- 캐시는 레지스터와 마찬가지로 CPU 안에 내장되어있는 메모리이다. (코어에 가까이 있으면 레지스터, 멀면 캐시)
- 속도가 빠르고, 가격이 비싸다
- 메인 메모리의 입출력 병목현상을 해소한다.
- 주 기억장치로 인해 보조기억장치와 CPU사이의 갭을 매꾸었는데 그래도 속도의 차이가 있으니까 동일한 방법으로 주 기억장치와 CPU 사이의 캐시를 놓아서 갭을 매꾼다.
캐시의 동작
- 일반적으로는 CPU가 알아서 관리한다.
- 동작은 기본적으로 캐시에 프로세서가 원하는 데이터가 있는 경우와 없는 경우에 따라 나뉜다.
- 만약에 프로세서가 필요로 하는 데이터가 캐시에 없는 경우(캐시 미스)
- 프로세서가 캐시에 해당 데이터가 있는지 확인한다.
- 없으면 캐시가 메인 메모리에서 해당 데이터를 가져온다.
- 캐시에 해당 데이터를 저장한다.
- 프로세서에게 해당 데이터를 전송한다.
- 만약에 프로세서가 필요로 하는 데이터가 캐시에 있는 경우(캐시 히트)
- 프로세서가 캐시에 해당 데이터가 있는지 확인한다.
- 있으면 캐시가 메인 메모리에 해당 데이터를 전송한다.
참고로 캐시가 메인 메모리에서 데이터를 가져올 때 해당 데이터 하나만 가져오는 것이 아니라 근처의 데이터들을 뭉텅이로 가져온다. 이를 캐시 라인(Cache line) 혹은 블록(Block) 이라고 한다.
캐시 히트가 효과를 낼 수 있는 이유는 바로 지역성(Locality) 덕분이다.
지역성은 2가지가 있다.
- 공간적 지역성(Spatial Locality)
- 참조한 주소와 인접한 주소를 참조하는 특성
- 시간적 지역성(Temporal Locality)
- 한 번 참조한 주소를 곧 다시 참조하는 특성
지역성은 이 2가지 특성을 모두 가지고 있기에 캐시 적중률(캐시가 히트할 확률)을 높여서 아주 작은 용량으로도 병목 현상을 해소시켜줄 수 있다.
보조 기억장치
- 프로그램과 데이터를 저장
- 프로세서가 직접 접근할 수 없음 (프로세서는 주 기억장치까지만 접근하고 보조 기억장치에는 접근 못함)
- 주 기억장치를 거쳐서 접근
- (우리가 실행할려는 프로그램 / 데이터의 용량이 주 기억장치의 용량보다 큰 경우는?
- 가상 메모리(Virtual Memory)를 활용한다. (가상 메모리 : 하드 디스크의 일부를 메모리처럼 활용)
- 용량이 크고, 가격이 저렴
메모리도 운영체제가 관리하는 중요한 자원 중 하나이다.
- 메모리 할당 및 관리
- 프로그램의 요청에 따른 메모리 할당 및 회수
- 할당된 메모리 관리
- 가상 메모리 관리
- 가상 메모리 생성 및 관리
- 논리 주소 -> 물리 주소 변환
시스템 버스
프로세서, 메모리, 주변 장치 등의 많은 리소스들이 함께 일을 하려면 통신이 필요하다. 그 통신이 이루어지는 통로가 바로 시스템 버스이다.
- 즉, 시스템 버스란 하드웨어들이 데이터 및 신호를 주고 받는 물리적인 통로를 의미한다.
버스에도 다양한 종류가 있는데 대표적으로 데이터 버스, 주소 버스, 제어 버스가 있다.
주변 장치 : 프로세서와 메모리를 제외한 하드웨어들이다.
장치 드라이버 : 하드웨어를 사용할 수 있도록 제공되는 인터페이스이다.
운영체제가 모든 하드웨어에 대한 인터페이스를 알 수는 없기 때문에 벤더들이 자신들의 제품을 사용할 수 있도록 인터페이스를 제공하고, 운영체제는 이 제공된 인터페이스를 통해 해당 하드웨어를 사용할 수 있게 된다.
인터럽트(Interrupt) : 키보드나 마우스같은 입력장치를 통해 무언가를 입력을 하면 시스템에게 입력을 들어왔다는 것을 알려주는 역할을 하는 것
파일 및 디스크 관리
'Study > 운영체제' 카테고리의 다른 글
3. 프로세스 관리 (2) (0) | 2023.11.03 |
---|---|
운영체제 3. 프로세스 관리 (1) (0) | 2023.11.02 |
2. 운영체제 개요 (3) (0) | 2023.11.02 |
2. 운영체제 개요 (2) (1) | 2023.11.01 |
2. 운영체제 개요 (1) (0) | 2023.10.31 |