본문 바로가기
  • 시 쓰는 개발자
CS 개념/운영체제

운영체제 수업 (2) 03/07

by poetDeveloper 2024. 3. 17.

학교 수업을 정리한 내용입니다. 참고만 해주세요.

 

0307 목요일

 

컴퓨터 시스템의 4개 컴포넌트

하드웨어 → 운영체제  → 애플리케이션 (시스템프로그램/애플리케이션 프로그램)  → 사용자

[2] 디바이스 내에서는 구분을 굳이 하지 않는다. CPU와 메모리가 있고, 그 외는 디바이스이다.

[3] 커널은 OS의 핵심기능을 담당하고, 그 위에 Application, 그 아래에는 하드웨어가 있다.

 

OS 오버뷰

운영체제는 하드웨어를 관리해준다.  OS가 UserProgram과 HardWare를 분리한다. 이를 통해 유저가 편리하게 쓸 수 있게 도와주고, 자원 관리를 효율적으로 할 수 있다.(User Convenience & Resource efficiency)

 

우리는 CPU, Memory, HDD를 메인으로 배운다.

  • CPU - Process management가 관리
  • Memory - Memory management가 관리 // "기능적으로" 메모리라 함은, 저장을 하는 모든 건 메모리이다. 즉, 레지스터, 캐시, 메인 메모리(MM)이다. 다만 여기서 캐시는 OS랑 관련이 없다.
  • HDD - File System이 관리

 

OS 14개 기본 규칙 (믿고 가기)

1. 컴퓨터 시스템은 CPU, Memories, HDD로 구성되어 있다. 추가로 I/O Device + BUS를 이야기하기도 한다.

 

2. CPU와 메인 메모리만 internal device이다.

 

3. CPU, 메인 메모리를 제외하고, HDD를 포함한 모든 하드웨어는 external device이다.

 

4. Storage는 2가지 카테고리로 분류된다.

  • Internal Storages : 여기엔 레지스터, 캐시, 메인 메모리가 포함되고 이는 휘발성(volatile)이다. 이중에서 우리는 메인 메모리에만 관심있다.
  • External Storages : 여기엔 HDD, SDD가 포함되고, 이는 비휘발성(non-volatile, permanent)이다. 이중에서 우리는 HDD에만 관심있다. 이제부터 비휘발성 저장소라고 하면 별도의 코멘트가 없다면 HDD를 의미한다.

 

5. 모든 파일은 HDD에 저장된다고 가정한다. 즉, 이 수업에서 유일한 영구 저장소는 HDD이다.

 

6. 모든 프로그램은 반드시 CPU에 의해 HDD에서 메인 메모리에 로드되어야한다. CPU는 능동적이지만 Memory와 HDD는 달라면 주고, 주면 받는 수동적인 애들이다.

  • Load : 아래 메모리 계층 구조에서 데이터가 위로 움직이는 것을 말한다. 위로 갈수록 속도가 빨라진다.
  • Store : 아래 메모리 계층 구조에서 데이터가 아래로 움직이는 것을 말한다. 아래로 내려갈수록 속도가 느려진다.
  • HDD(창고)에서 CPU(작업환경)로 가기는 너무 느리다. 그래서 그 사이에 냉장고 역할을 하는 메인 메모리를 두었다.

  • 메모리를 판단하는 기준 2가지는 속도와 사이즈이다. 그중 속도는 레지스터(가장빠름) - 캐시 - 메인 메모리 - SSD - HDD(가장느림) 순서로 빠르다. 레지스터가 CPU 안에 있으므로 편의상 CPU의 속도는 레지스터의 속도라고 생각한다. 아래 표를 보면 CPU는 메인 메모리보다 320배 빠르다고 볼 수 있다.

메모리별 특징 정리

 

7. Program = 명령 + 데이터 이다. 프로그램을 처리하는 방식은 일리노이, 하버드 아키텍쳐 이렇게 2가지가 있다. 그중 우리가 쓰는 메인 메모리는 일리노이 아키텍처(폰 노이만 아키텍처)를 사용한다.

(좌) 폰노이만 머신 / (우) 하버드 머신

 

1) 일리노이 아키텍처 (폰 노이만 머신)

 이는 내장 메모리 순차처리 방식이다. 위 그림처럼 메모리에 데이터와 코드(Program Memory)가 구분되지 않는다. 하나의 버스를 가지며 CPU에게 데이터를 전송하고 주소를 받는 구조이다. 대부분의 컴퓨터가 이 방식을 따르며, 우리도 이 방식을 채택한다.

 

2) 하버드 머신

 다른 하나는 하버드 머신이다. 명령과 데이터를 별도로 저장하고 이에 대한 signal path가 존재한다. 폰노이만 구조에서는 명령과 데이터가 동일한 메모리에 저장돼서 데이터를 가져올 때 사용한 경로를 통해 명령도 가져온다.즉, CPU가 "동시에" 명령을 읽으면서 데이터를 읽고 쓰는 작업이 불가능하다. 그러나 하버드 머신에서는 CPU가 명령을 읽고 동시에 메모리 엑세스를 하는 것이 가능하다.

'CS 개념 > 운영체제' 카테고리의 다른 글

운영체제 수업 (6) 03/21  (0) 2024.03.28
운영체제 수업 (5) 03/19  (1) 2024.03.25
운영체제 수업 (4) 03/14  (0) 2024.03.22
운영체제 수업 (3) 03/12  (0) 2024.03.19
운영체제 수업 (1) 03/05  (1) 2024.03.17