0)운영체제란
컴퓨터 시스템 자원(HW)을 효율적으로 관리하고 사용자에게 응용 프로그램을 제공해주는 것을 운영체제라 한다.
1)컴퓨터 하드웨어
1.프로세서
- CPU, GPU, 응용 전용 처리장치 등
2.메모리
- 주 기억장치, 보조 기억장치 등
3.주변 장치
- 키보드/마우스, 모니터, 프린터, 네트워크 모뎀 등
2)프로세서
컴퓨터의 두뇌(중앙처리장치)
- 연산 수행, 컴퓨터 모든 장치의 동작 제어

3)레지스터
1.프로세서 내부에 있는 메모리
- 프로세서가 사용할 데이터 저장
- 컴퓨터에서 가장 빠른 메모리
2.레지스터의 종류
- 용도에 따른 분류
> 전용 레지스터, 범용 레지스터
- 사용자가 정보 변경 가능 여부에 따른 분류
> 사용자 가시 레지스터, 사용자 불가시 레지스터
- 저장하는 정보의 종류에 따른 분류
> 데이터 레지스터, 주소 레지스터, 상태 레지스터
3.사용자 가시 레지스터
- 데이터 레지스터, 주소 레지스터
4.사용자 불가시 레지스터
- 프로그램 카운터
> 다음에 실행할 명령어의 주소를 보관하는 레지스터
- 명령어 레지스터
> 현재 실행하는 명령어를 보관하는 레지스터
- 누산기
> 데이터를 일시적으로 저장하는 레지스터
4)프로세서의 동작
ALU라는 산술 논리 연산장치와 함께 다양한 레지스터들을 통해 연산이 이루어진다.

5)운영체제와 프로세서
운영체제는 프로세서에게 처리할 작업을 할당하고 관리하는 역할을 하게 된다.
1.프로세서에게 처리할 작업 할당 및 관리
- 프로세스 생성 및 관리
2.프로그램의 프로세서 사용 제어
- 프로그램의 프로세서 사용 시간 관리
- 복수 프로그램간 사용 시간 조율 등
6)메모리
- 데이터를 저장하는 장치(기억장치)
> 프로그램(OS, 사용자SW 등), 사용자 데이터 등
- 메모리의 종류

레지스터 - CPU
캐시 - CPU
메인 메모리 - DRAM
보조기억장치- HDD
7)메모리의 종류
1.주 기억장치(Main memory)
- 프로세서가 수행할 프로그램과 데이터 저장
- DRAM을 주로 사용한다.(용량이 크고 가격이 저렴하다)
- 디스크 입출력 병목현상(I/O bottelneck) 해소

프로세서의 속도와 디스크의 속도 간 격차로 인해 bottleneck이 발생하므로 이 간격을 줄이기 위해 프로세서와 디스크 사이에 메인 메모리를 두었다.
8)메모리의 종류
1.캐시
- 프로세서 내부에 있는 메모리(L1, L2 캐시 등)
> 속도가 빠르고 가격이 비싸다.
- 메인 메모리의 입출력 병목현상을 해소한다.

프로세서와 메모리 속도 간의 격차를 해결하기 위해 캐시가 등장하였다.
2.캐시의 동작
- 일반적으로 하드웨어적으로 관리된다.
- 캐시 히트(Cache hit)
> 필요한 데이터 블록이 캐시 존재
- 캐시 미스
> 필요한 데이터 블록이 없는 경우

프로세서에서 캐시에 데이터가 있는지 여부를 묻고 캐시 내에 데이터가 없다면 메인 메모리에서 캐시에 데이터를 가지고 오고 캐시에서 프로세서에 다시 전달한다.
데이터가 있다면 캐시히트 데이터가 없으면 캐시 미스
3.지역성(Locality)
- 공간적 지역성(Spatial locality)
> 참조한 주소와 인접한 주소를 참조하는 특성
> 예)배열, 순차적 프로그램 수행
- 시간적 지역성(Temporal locality)
> 한 번 참조한 주소를 곧 다시 참조하는 특성
> 예)for문, while문
- 지역성은 캐시 적중률(cache hit ratio)과 밀접
> 알고리즘 성능 향상을 위한 중요한 요소 중 하나이다.

2.보조기억 장치
- 프로그램과 데이터를 저장
- 프로세서가 직접 접근할 수 없음(주변장치)
> 주 기억장치를 거쳐서 접근한다.
> 디스크의 용량이 주 기억장치의 용량보다 큰 경우는? 가상 메모리를 사용한다.
> 용량이 크고, 가격이 저렴하다.
프로세서는 disk에 직접 접근할 수 없으므로 disk를 메모리에 올려서 사용한다.
하지만 만약 디스크가 20GB이고 메모리가 8GB이라면 가상 메모리를 사용한다.
이것은 하드디스크의 일부를 메모리처럼 사용할 수 있도록 하는 기능이다.
9)메모리와 운영체제
- 메모리 할당 및 관리
> 프로그램의 요청에 따른 메모리 할당 및 회수
> 할당된 메모리 관리
- 가상 메모리 관리
> 가상메모리 생성 및 관리
> 논리주소 -> 물리주소 변환
10)시스템 버스(System Bus)
- 하드웨어들이 데이터 및 신호를 주고 받는 물리적인 통로


11)주변 장치
- 프로세서와 메모리를 제외한 하드웨어들
> 입력 장치
> 예) 키보드, 마우스, 터치 패드 등
> 출력 장치
> 예) 모니터, 프린터, 스피커 등
> 저장 장치
> 예) 하드디스크, SSD, USB, CD
12)주변 장치와 운영체제
- 장치 드라이버 관리
> 주변 장치 사용을 위한 인터페이스 제공
- 인터럽트 처리
>주변 장치의 요청 처리
- 파일 및 디스크 관리
> 파일 생성 및 삭제
> 디스크 공간 관리 등
'운영체제' 카테고리의 다른 글
| 5)프로세스 스케쥴링 (0) | 2021.11.03 |
|---|---|
| 4)스레드 관리 (0) | 2021.11.02 |
| 3)프로세스 관리 (0) | 2021.11.02 |
| 2)운영체제 개요 (0) | 2021.11.02 |