관리 메뉴

너와 나의 스토리

week1 OS - [ Virtualization / Concurrency / Persistence] 본문

Operating System

week1 OS - [ Virtualization / Concurrency / Persistence]

노는게제일좋아! 2019. 3. 8. 20:45
반응형

Keyword

1. Virtualization

2. Concurrency

3. Persistence



● OS의 역할

- 하드웨어 관리하는 소프트웨어

- 프로그램 컨트롤


● OS의 위치

- 하드웨어와 어플리케이션 사이에 위치

ㄴ> 어플리케이션 입장에서는 os가 하드웨어처럼 보임 ( ->virtualization )

ㄴ> 어플리케인션은 os를 통해서 하드웨어에 간다. 즉, 어플리케이션은 os에 맞게만 만들면 됨 


● OS

- 자원 할당자

ㄴ cpu 시간, 메모리 공간, 입출력 장치 등의 모든 자원을 관리한다.

ㄴ 어떻게 자원을 효율적으로 할당할지도 결정


- 프로그램 컨트롤

ㄴ 프로그램 실행을 컨트롤하여 에러나 부적절한 사용을 막는다.


 

● Virtualization

- os는 physical resource를 가지고 자기 자신을 virtual form으로 바꾼다.

ㄴ Physical resourcec : Processor, Memory, Disk ....

ㄴ os를 virtual machine이라고 부르기도 함.



● System call

: 사용자가 os에게 무엇을 할지 알려줌

ㄴ os가 인터페이스 제공 (API)

ㄴ os에게 시킬 때 정해진 틀을 통해 명령해야 하는데 그 from을 API라고 한다.

ㄴ ex) Run programs / Access memory / Access devices


● OS는 자원 할당자

The OS allows

- 많은 프로그램을 작동시킴 -> CPU 공유

- 많은 프로그램이 동시에 자신의 명령이나 데이터에 접근 -> memory 공유

- 많은 프로그램이 장치에 접근할 때 -> disk 공유


● Virtualizing the CPU

- CPU가 여러개인 것 처럼 보이게 함 = 프로그램이 동시에 돌아가는 것처럼 보임

ㄴ Time Sharing 통해서 


● Virtualizing Memory

- 프로그램은 (Read memory / Write memory에) 데이터에 접근 가능한 주소를 메모리에 가지고 있다

  (읽고 쓰는 명령을 시킬 때 해당 위치도 정해줌)

- 각각의 프로그램에게 (가상의)같은 주소를 할당해 준다.


- 각각의 프로세스는 자신의 virtual address space을 가짐  ( physical memory 아님 )

ㄴ os는 physical memory의 주소 공간에서 매핑한다.

ㄴ physical memory는 자원을 공유한다.  (os에 의해)

- os가 다른 프로세스에 영형을 미치지 않는 주소 공간을 참조함 

- 실제 주소는 os가 가지고 있음

- 즉, 전체 메모리를 다 확인해서 빈 곳 찾을 필요 없고 실제 메모리 크기보다 훨씬 커보이게 한다.



● The problem of Concurrency

-  각 일을 같은 변수로 카운팅 하는게 있다면 time sharing할 때 오류가 날 수 있다.

ex)각 멀티 쓰레드에서 같은 변수를 카운팅 한다면 오류가 날 수 있다

- 즉, 같은 자원을 서로 다른 프로세스가 동시에 접근 하려고 하면 오류남



● Persistence

- DRAM : 휘발성

- 하드웨어나 소프트웨어는 데이터를 지속적으로 저장해야 한다.

- H/W : I/O 장치 

  S/ W : File system이 파일을 저장, disk 관리

반응형

'Operating System' 카테고리의 다른 글

OS-week3 [Multi-level Feedback]  (0) 2019.03.26
OS-week3 [Scheduling]  (0) 2019.03.26
CLI 및 Linux를 공부해보자  (0) 2019.03.26
OS-week4 [CH13_Address Spaces]  (0) 2019.03.23
week2 OS -[ Process / Limited execution ]  (0) 2019.03.13
Comments