📌OS의 3가지 주요 특징
1. virtualization <가상화> : “없는데 있는 것처럼”
- CPU virtualization : CPU는 제한되어있지만, 사용자가 많은 CPU를 혼자 사용한다고 생각하도록 느끼도록 하는 것
→ resource management & policy(scheduling)가 필요하다.
time sharing 등으로 프로그램들이 동시에 실행되는 것처럼 보인다.
- memory virtualization : mem은 제한되어있지만, 사용자가 mem을 무한하다고 느끼도록 하는 것.
OS와 CPU는 용량이 제한적인 pysical memory(DRAM)를 주소를 갖는 byte배열로 추상화하고, 각 주소당 10,000byte를 저장하는 배열의 형태로 인식한다.
→ program1의 2000번지와 program2의 2000번지는 실제 DRAM에서는 각기 다른 주소를 가리킨다.
→ OS가 가상의 mem addr(→logical addr)을 DRAM의 주소(→pysical addr)로 address translation 해주어, CPU가 logical addr을 이용해 정상적으로 프로그램을 실행할 수 있다.
2. concurrency <동시성>
: 여러 프로그램 및 스레드가 동시에 수행될 때, 순차적으로 실행되었을 때와 결과가 같다.
- concurrency의 문제 : 여러 process가 같은 공유변수를 가질 때 앞에서 실행된 p1의 update 전에 p2에서 load 되어 결과값이 달라지는 문제가 생긴다.
→ OS는 p1이 공유변수 점유하고 있을 때 해당 공유변수 사용하는 process는 실행될 수 없게 하여 해결한다.
3. persistence <지속성>
: 파일을 나중에 다시 열어도 손실이 없이 읽을 수 있어야한다.
모든 저장장치에 오류(손실)가 존재하지만, 일정 기간마다 오류(손실)없는 파일을 새로 덮어씌워 오류(손실) 없이 읽을 수 있음을 보장한다.
'Computer Science > Operationg System (운영체제)' 카테고리의 다른 글
[OS] scheduling(1) (0) | 2024.05.06 |
---|---|
[OS] LDE machanism (limited direct execution) (0) | 2024.05.01 |
[OS] Process (0) | 2024.04.29 |
[OS] computing system (0) | 2024.04.29 |
[OS] operating system이란? / history (0) | 2024.04.29 |