운영체제 (Operation System)

[OS] Lecture 1. Computer System Overview / 운영체제 강의

유호야 2021. 12. 7. 10:42
반응형

 

 

고성능의 컴퓨터
하드웨어
cpu, gpu, memory, hdd/sdd 저장장치, LAN(네트워크 장치)

os - 효율적으로 활용할 수 있는 os가 필요하다. os 가 있어야 게임이 가능함
> 하드웨어를 효율적으로 관리한다. 
사용자 응용프로그램들에게 서비스를 제공하는 역할을 한다.


* 운영체제란?
컴퓨팅 자원들을 효율적으로 관리해서 그것을 통해 사용자에게 서비스를 제공하는 소프트웨어
컴퓨터 하드웨어 컴퓨터 시스템을 관리하는 녀석

* 컴퓨터 하드웨어
프로세서 : 계산하는 녀석 (CPU/GPU그래픽카드/응용전용처리장치 등)
메모리 : 주 기억장치/ 보조 기억장치 등 (무언가를 저장하는 녀석)
주변장치 : 키보드/마우스, 모니터/프린터, 네트워크 모뎀 등 (그 외의 장치, 입/출력/네트워크 장치)


* 프로세서 
무언가를 계산하는 녀석
연산수행 / 컴퓨터의 모든 장치 동작 제어 

* 레지스터 : 무언가를 저장하는 장치
프로세서 내부에 있다는 특징이 있음
컴퓨터 시스템에는 다양한 메모리가 있는데 레지스터는 그 주엥서 가장 빠른 저장장치 
== CPU 안에 있다/ 가장 빠르다 ==

* 운영체제와 프로세서
프로세서에게 처리할 작업 할당 및 관리하는 역할을 한다.
지금은 프로세스를 프로그램으로 이해해도 괜찮다.

여러 프로세스가 cpu를 사용하려고 할 때 관리해주는 역할도 한다.

* 메모리
데이터를 저장하는 장치(기억장치)
레지스터/캐시(CPU)/메인메모리(DRAM)/보조기억장치(하드디스크HDD)
<==속도가 빠름/용량이 작음 --- 속도가 빠르고 용량이 크다 ==>

- 메모리 종류
주기억장치 ( 메인 메모리 )
 컴퓨터 메인보드에 꽂혀있는 메모리
프로세서가 무엇을 수행할 때, 메인 메모리 안에 들어가 있어야 한다.

프로세서 - 메인 메모리 - 디스크
발전속도의 차이 때문에 cpu와 disk의 갭을 메꾸어주고자 Main memory가 중간에 등장
성능, 디스크 입출력 병목현상을 해소하기 위해서 main memory가 존재한다.

* 캐시
레지스터처럼 cpu 안에 존재
레지스터는 Core에 더 가깝지만, 캐시는 Core보다는 조금 멀고 조금 더 느리다.
Main Meory의 입출력 병목현상을 해소하기 위해서 캐시가 등장

* 캐시의 동작
우리가 직접 관리하지는 않으며 하드웨어/CPU가 알아서 관리한다.
데이터가 필요할 경우, 캐시가 없으면 바로 메인 메모리로 가지만, 캐시가 있다면
원하는 데이터가 있는지 물어본다. 캐시가 없다면 메인메모리로 가서 데이터를 가져와서 프로세스에게 전달한다. 

캐시 히트(Cache hit) : 필요한 데이터 블록이 캐시 존재
캐시 미스(Cache miss) : 필요한 데이터 블록이 없는 경우

128KB 밖에 없는데 과연 캐시 히트로 효과를 볼 수 있을까?
ㄴ * 지역성
: 어떤 주소를 참조하면 이 주소 근처를 참조할 가능성이 높은 것
- 공간적 지역성
참조한 주소와 인접한 주소를 참조하는 특성 ex) 순차적 프로그램 수행
- 시간적 지역성
한 번 참조한 주소를 곧 다시 참조하는 특성 ex) for 문 등의 순환 문

지역성은 캐시 적중률(cache hit ratio)과 밀접
알고리즘 성능 향상 위한 중요한 요소 중 하나

어차피 하드웨어가 알아서 한다고 했는데 왜 중요할까?
캐시 블럭이 a[0][0]을 찾을 경우에 a[0][15]을 포함하기 때문에 효율적으로 짤 수 있다.
10~100배까지도 빨라질 수 있다.

(메모리의 종류)
* 보조기억장치
데이터를 저장하며, 프로세스가 직접 접근할 수 없어서(주변장치로 분류)
하드디스크 USB CD/DVD SD카드
용량이 크고 가격이 저렴

프로그램/데터 > 주기억장치 인경우? ㄱ
메모리가 8GB인데, DISK가 20GB일때 
가상메모리의 개념이 등장

* 메모리 할당 및 관리
프로그램의 요청에 따른 메모리 할당 및 회수
할당된 메모리 관리

* 가상 메모리 관리
가상메모리 생성 및 관리 
논리 주소 > 물리주소 변환

* 시스템버스(System Bus)
하드웨어들이 데이터 및 신호를 주고 받는 물리적인 통로
버스는 정류장 있듯이 (프로세스/메인메모리/주변장치) 가 있다.
데이터버스/주소버스/제어버스 => 시스템 버스

* 주변 장치
프로세서와 메모리를 제외한 하드웨어들
실제로 계산할 때 없어도 되는 장치들

- 입력장치 : 키보드/마우스/모니터
- 출력장치 : 프린터/스피커
- 저장장치 : 보조기억장치

* 주변장치와 운영체제
장치드라이버 관리
어떤 하드웨어를 사용할 수 있도록 하는 인터페이스 api

인터럽트 처리
키보드에서 무언가를 입력시 시스템에서 알려주는 것

파일 및 디스크 관리
파일 생성 및 삭제
디스크공간관리 등





반응형