본문 바로가기
정글 2기/OS 운영체제

[Operating System 운영체제] Computer System Overview 01

by Dean30 2021. 8. 30.
728x90

[Operating System 운영체제] Computer System Overview 01

 

 

우리가 게임을 하려고 할 때 필요한 것들은 다음과 같다.

CPU, GPU, Meomory, SDD(HDD), LAN(네트워크 장치)

하지만 이러한 하드웨어만 가지고는 게임을 할 수 없다. 하드웨어들을 효율적으로 작동하게 도와주는 '운영체제(Operating System, OS)'가 필요하다.

 

운영체제란(Operating System, OS)?

 

1. 운영체제는 컴퓨터 시스템 자원(하드웨어)를 효율적으로 관리하여 사용자 또는 응용 프로그램들에게 서비스를 제공하는 역할을 한다.

 

1) 프로세서에게 처리할 작업 할당 및 관리

  • 프로세스(Process = Program) 생성 및 관리

2) 프로그램의 프로세서 사용 제어

  • 프로그램의 프로세서 사용 시간 관리 (프로그램을 계속 사용하면 안되니까)
  • 복수 프로그램간 사용 시간 조율 등

 

 

 

컴퓨터 하드웨어(Hardware)

 

1. 프로세서(Processor) - 계산하는 장치

 

1) 컴퓨터의 두뇌

  • 연산 수행
  • 컴퓨터의 모든 장치의 동작 제어

2) CPU, GPU, 응용 전용 처리장치(특별한 목적을 위해 개발된 장치) 등

 

1-1. 레지스터(Register)

 

1) 프로세서 내부에 있는 메모리

  • 프로세서가 사용할 데이터 저장
  • 컴퓨터에서 가장 빠른 메모리

2) 레지스터의 종류

  • 용도에 따른 분류 - 전용 레지스터(정해진 용도), 범용 레지스터
  • 사용자가 정보 변경 가능 여부에 따른 분류 - 사용자 가시 레지스터, 사용자 불가시 레지스터
  • 저장하는 정보의 종류에 따른 분류 - 데이터 레지스터, 주소 레지스터, 상태 레지스터

2-1) 사용자 불가시 레지스터(대부분 전용 레지스터)

  • 프로그램 카운터(Program Counter, PC) : 다음에 실행할 명령어의 주소를 보관하는 레지스터
  • 명령어 레지스터(Instruction Register, IR) : 현재 실행하는 명령어를 보관하는 레지스터
  • 누산기(Accumulator, ACC) : 데이터를 일시적으로 저장하는 레지스터
  • 메모리 주소 레지스터 
  • 메모리 버퍼 레지스터

 

1-2. 프로세서의 동작

1) 실제 연산이 이루어질 때, PC, IR, ACC, MAR, MBR, DR 등의 다양한 레지스터들을 통해 연산이 이루어진다 정도 이해하기

 

2. 메모리 - 저장하는 장치

 

1) 데이터를 저장하는 장치(기억장치)

  • 프로그램(OS, 사용자SW), 사용자 데이터 등

2) 메모리의 종류

  • 레지스터 : CPU 안에 들어가 있음
  • 캐시 : CPU 안에 들어가 있음
  • 주기억장치(Main Memory) : DRAM(DDR4)
  • 보조기억장치(Auxiliary memory) : HDD(Hard Disk Drive)

 

 

 

2-1) 주기억장치

 

  • 프로세서가 수행할 프로그램과 데이터 저장 - 반드시 메인 메모리 안에 들어가 있어야 함
  • DRAM을 주로 사용 - 용량이 크고 가격이 저럼
  • 디스크 입출력 병목현상(I/O bottleneck) 해소 - Processor가 Disk에서 직접 접근하지 않고 굳이 Main memory를 통하는 이유는 Processor 와 Disk 간의 속도 차이 때문이다. 이 속도 차이를 해결하기 위해 Main memory를 사용한다. 즉, CPU가 일을 처리하는 동안 다음에 필요한 데이터를 미리 Main memory에 가져다 놓는 개념.
  • 프로세서가 직접 접근할 수 있는 메모리 중에서 가장 용량이 크고 가장 저렴이다.

 

 

2-2) 캐시(Cache) - 128KB 정도로 작음

 

  • 프로세서(CPU) 내부에 있는 메모리 (L1, L2 캐시 등) - 속도가 빠르고 가격이 비쌈, 레지스터보다 Core에서 멀리 떨어져있다. 멀리 떨어져 있을수록 사이즈는 커지고 속도는 느려진다고 생각하면 된다.
  • 메인 메모리의 입출력 병목현상 해소 - CPU와 메인메모리 간의 속도차가 여전히 존재.

 

 

2-3) 보조기억장치(Auxiliary memory / Secondary memory / Storage)

  • 프로그램과 데이터를 저장
  • 프로세서가 직접 접근할 수 없음(주변장치) - 주기억장치를 거쳐 접근, 프로그램의 크기가 주기억 장치보다 큰 경우에는 가상메모리(Virtual memory)를 사용
  • 용량이 크고 가격이 저렴

 

 

3) 메모리 종류를 나눠 놓은 이유 - 레지스터 1TB를 쓰는게 더 좋지만, 금액과 자원의 문제. 현실적으로 불가능하다.

 

 

3 주변장치 - 그 외 장치

  • 입력장치 - 키보드, 마우스
  • 출력장치 - 모니터, 프린터
  • 저장장치 - CD, USB
  • 네트워크 장치 - 네트워크 모뎀

 

3-1. 주변장치와 운영체제

  • 장치드라이버 관리 - 주변 장치 사용을 위한 인터페이스 제공
  • 인터럽트(Interrupt) - 주변 장치의 요청 처리
  • 파일 및 디스크 관리 - 파일 생성 및 삭제, 디스크 공간 관리 등

4. 시스템 버스(System Bus)

  • 하드웨어들이 데이터 및 신호를 주고 받는 물리적인 통로

1) 시스템 버스 종류

  • 데이터 버스 - 데이터를 전송하는 버스. 데이터 버스를 구성하는 배선 수는 프로세서가 한 번에 전송할 수 있는 비트 수를 결정(워드)
  • 주소 버스 - 주소를 전송하는 버스. 주소 버스를 구성하는 배선 수는 프로세서와 접속할 수 있는 메인 메모리의 최대 용량을 결정
  • 제어 버스 - 시스템의 구성 요소를 제어하는 버스

 

 

 

한국기술대학교 김덕수 교수님 강의 자료(운영체제 강의) 참조

728x90

댓글