1. 컴퓨터 시스템 개요

728x90
반응형

출처 : https://www.youtube.com/watch?v=EdTtGv9w2sA&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN

 

운영체제(Operating System)이란 컴퓨터 시스템 자원들을 효율적으로 관리해서 사용자 혹은 응용프로그램에게 서비스를 제공하기 위한 시스템이다.

 

운영체제가 관리하는 컴퓨터 하드웨어는 크게 3종류가 있다.

 

  1. 프로세서 (Processor) : 계산 장치
    • CPU
    • 그래픽카드(GPU)
    • 응용 전용 처리장치 등
  2. 메모리 (Memory) : 저장 장치
    • 주 기억장치(DRAM)
    • 보조 기억장치(SSD/HDD) 등
  3. 주변 장치
    • 키보드 / 마우스
    • 모니터, 프린터
    • 네트워크 모뎀 등

 

프로세서 (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가 알아서 관리한다.
  • 동작은 기본적으로 캐시에 프로세서가 원하는 데이터가 있는 경우와 없는 경우에 따라 나뉜다.
  • 만약에 프로세서가 필요로 하는 데이터가 캐시에 없는 경우(캐시 미스)
    1. 프로세서가 캐시에 해당 데이터가 있는지 확인한다.
    2. 없으면 캐시가 메인 메모리에서 해당 데이터를 가져온다.
    3. 캐시에 해당 데이터를 저장한다.
    4. 프로세서에게 해당 데이터를 전송한다.
  • 만약에 프로세서가 필요로 하는 데이터가 캐시에 있는 경우(캐시 히트)
    1. 프로세서가 캐시에 해당 데이터가 있는지 확인한다.
    2. 있으면 캐시가 메인 메모리에 해당 데이터를 전송한다.

참고로 캐시가 메인 메모리에서 데이터를 가져올 때 해당 데이터 하나만 가져오는 것이 아니라 근처의 데이터들을 뭉텅이로 가져온다. 이를 캐시 라인(Cache line) 혹은 블록(Block) 이라고 한다.

 

캐시 히트가 효과를 낼 수 있는 이유는 바로 지역성(Locality) 덕분이다.

 

지역성은 2가지가 있다.

  1. 공간적 지역성(Spatial Locality)
    • 참조한 주소와 인접한 주소를 참조하는 특성
  2. 시간적 지역성(Temporal Locality)
    • 한 번 참조한 주소를 곧 다시 참조하는 특성

 

지역성은 이 2가지 특성을 모두 가지고 있기에 캐시 적중률(캐시가 히트할 확률)을 높여서 아주 작은 용량으로도 병목 현상을 해소시켜줄 수 있다.

 

 

보조 기억장치

 

  • 프로그램과 데이터를 저장
  • 프로세서가 직접 접근할 수 없음 (프로세서는 주 기억장치까지만 접근하고 보조 기억장치에는 접근 못함)
    • 주 기억장치를 거쳐서 접근
    • (우리가 실행할려는 프로그램 / 데이터의 용량이 주 기억장치의 용량보다 큰 경우는?
      • 가상 메모리(Virtual Memory)를 활용한다. (가상 메모리 : 하드 디스크의 일부를 메모리처럼 활용)
  • 용량이 크고, 가격이 저렴

 

 

메모리도 운영체제가 관리하는 중요한 자원 중 하나이다.

 

  • 메모리 할당 및 관리
    • 프로그램의 요청에 따른 메모리 할당 및 회수
    • 할당된 메모리 관리
  • 가상 메모리 관리
    • 가상 메모리 생성 및 관리
    • 논리 주소 -> 물리 주소 변환

 

 

시스템 버스

 

프로세서, 메모리, 주변 장치 등의 많은 리소스들이 함께 일을 하려면 통신이 필요하다. 그 통신이 이루어지는 통로가 바로 시스템 버스이다.

 

  • 즉, 시스템 버스란 하드웨어들이 데이터 및 신호를 주고 받는 물리적인 통로를 의미한다.

버스에도 다양한 종류가 있는데 대표적으로 데이터 버스, 주소 버스, 제어 버스가 있다.

 

주변 장치 : 프로세서와 메모리를 제외한 하드웨어들이다.

 

 

장치 드라이버 : 하드웨어를 사용할 수 있도록 제공되는 인터페이스이다.

운영체제가 모든 하드웨어에 대한 인터페이스를 알 수는 없기 때문에 벤더들이 자신들의 제품을 사용할 수 있도록 인터페이스를 제공하고, 운영체제는 이 제공된 인터페이스를 통해 해당 하드웨어를 사용할 수 있게 된다.

 

인터럽트(Interrupt) : 키보드나 마우스같은 입력장치를 통해 무언가를 입력을 하면 시스템에게 입력을 들어왔다는 것을 알려주는 역할을 하는 것

 

파일 및 디스크 관리

728x90
반응형

'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