1. Introduction to Operating Systems

이석환·2022년 10월 19일

OS

목록 보기
1/6

Three Main Features of Operating Systems
1. Virtualization
2. Concurrency
3. Persistence

1-1. Virtualizing the CPU

Gives illusion that the system has large number (infinite) of CPUs
왜 가상화를 할까? 라는 의문점에서 접근해야됨
프로그램 하나당 CPU 하나를 가지길 원함, 하지만 CPU는 한 개 밖에 없다.
프로그램이 각각 CPU를 가지고 있다고 illusion을 줄 수 있도록 하는 것이 가상화
어떻게 해야할까? Time sharing 이용
100명이 1개의 CPU를 사용하는 것 VS 100명이 각자의 CPU를 사용하는 것

1-2. Virtualizing Memory

Gives illusion that each process has its own private virtual address space
각 process가 자신의 고유한 가상 주소를 가지고 있는 줄 알도록 illusion을 준다.
같은 프로그램을 두 번 돌리면 각자 고유의 주소를 가지고 있는 거 같지만 실제로 메모리 주소는 같은 곳이다.

2. Concurrency

Concurrent access of shared resources is subtle and error-prone
공유되는 resources의 동시 접근은 오류가 발생하기 쉽다.
프로그램 수행시간을 정해주지 설정해주지 않으면 원한 결과가 나오지 않는다.
protect or lock를 위해 필요하다.
예를 들어 프로세스 A에서 특정 값을 가져와 연산하던 도중 프로세스 B에서 동일한 값을 가져와서 연산을 한다면 동시에 연산이 진행되기 때문에 원하는 값이 나오지 않는다.

3. Persitence

Hardware and software are needed to store data persistently
하드웨어와 소프트웨어는 지속적으로 안전하고 에러없이 저장하고 싶어한다.
Hardware - I/O devices (HDD, SSD)
Software - File system

profile
반갑습니다.

0개의 댓글