1. OS Concepts - 가상화(추상화), 동시성, 영속성
- 운영체제 responsible for : 프로그램 실행을 쉽게. 프로그램들에게 메모리 공유, 프로그램들과 장치 interact.
즉, 컴퓨터 동작을 옳바르고 효율적이게 만든다
- 가상화(추상화) : 물리적 자원(메모리, 프로세서, 디스크 등)를 가상적 형태로 변환해서 application에게 제공.
가상화하는 것이 제너럴하고 강력하며 사용하기 쉽다.
- 시스템콜 : 유저모드 응용프로그램이 커널 모드 기능 사용.
예 ; 프로그램 실행, 메모리 접근, 장치 접근 등.
OS의 자원관리자 역할.
프로그램들이 자신 혼자 CPU를 독점하는 것 처럼 느끼게 하는 것 -> CPU 가상화
주소공간과 물리적 메모리를 연결.
물리 메모리는 바이트들의 배열.
데이터를 읽는 데는 주소를 명시.
데이터를 쓰는 데는 데이터와 주소 명시.
동시성의 문제.
OS는 어느 한 순간에 많은 일을 실행 -> 마치 동시에 돌아가는 것 처럼 보이게 한다.
그런데, 만약 카운터를 실행한다 치면 load increment store의 세 과정이 atomic하지 않다. (1 or nothing)
그렇기에 순서가 꼬여 매번 다른 결과 도출.
영속성 => DRAM같은 건 휘발성, 즉 전원을 끄면 데이터 다 날라감.
하드웨어와 소프트웨는 영속성을 가져야함.
하드웨어 : SSDS HDD 등 사용.
소프트웨어 파일시스템 사용. -> Journaling 또는 copy-on-write로 기록 순서 보장.
'컴퓨터공학' 카테고리의 다른 글
HTTP & HTTPS (0) | 2022.09.03 |
---|---|
운영체제 정리 기록 -2 (0) | 2022.08.25 |
CORS가 무엇인가. (0) | 2022.08.24 |
세션 쿠키 그리고 JWT (0) | 2022.08.22 |
인터넷 계층, 데이터링크 계층을 처리하는 기기 (0) | 2022.08.19 |