학교 수업을 정리한 내용입니다. 참고만 해주세요.
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 개념 (~24년 7월) > 운영체제' 카테고리의 다른 글
RAM, ROM, Booting (0) | 2024.03.28 |
---|---|
CPU Instruction Cycle, Interrupt 개요 (1) | 2024.03.25 |
CPU 레지스터 (2) | 2024.03.22 |
OS 기본규칙 (2) (0) | 2024.03.19 |
과장님이 되는 운영체제 (1) | 2024.03.17 |