일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- JanusWebRTC
- 코루틴 컨텍스트
- preemption #
- JanusGateway
- 코루틴 빌더
- Spring Batch
- 깡돼후
- python
- tolerated
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- JanusWebRTCServer
- JanusWebRTCGateway
- mp4fpsmod
- PytestPluginManager
- 달인막창
- kotlin
- PersistenceContext
- 자원부족
- terminal
- Value too long for column
- table not found
- VARCHAR (1)
- 오블완
- vfr video
- pytest
- k8s #kubernetes #쿠버네티스
- 티스토리챌린지
- 겨울 부산
- 개성국밥
- taint
너와 나의 스토리
week1 OS - [ Virtualization / Concurrency / Persistence] 본문
week1 OS - [ Virtualization / Concurrency / Persistence]
노는게제일좋아! 2019. 3. 8. 20:45Keyword
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 |