본문 바로가기

컴퓨터공학

운영체제 정리 기록 - 1

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