Loading...
2021. 4. 6. 18:04

[운영체제] 공룡책 - 데드락 (Deadlock) 요약

데드락 어느 프로세스도 자기 일을 할 수 없는 상태 다른 프로세스가 종료되기를 기다리며 계속 기다리는 상태 blocked state: 프로세스가 특정 이벤트를 기다리는 상태 asleep state: 프로세스가 필요한 자원을 기다리는 상태 deadlock state 프로세스가 발생가능성이 없는 이벤트를 기다리는 경우 대기 상태와 교착 상태 비교 대기상태와 교착 상태가 발생하는 위치와 종류가 다르다 기아 상태의 경우 CPU를 운 나쁘게 계속 할당 못받은 것 (추후에 받을 수도 있음) 교착 상태는 앞으로도 해결될 가능성이 없다 선점 선점 자원: 선점 당한 후 다시 돌아와도 문제 없는 자원: 프로세서, 메모리 비선점 자원: 선점 당하면 진행에 문제가 생기는 자원: 디스크 드라이브 (롤백, restart 필요) ..

2021. 4. 6. 14:45

[운영체제] 공룡책 - 가상 메모리 Virtual Storage 요약

비연속 할당 사용자 프로그램을 여러 개의 block으로 분할한다 (Paging, segmentation) 실행 시 필요한 block만 메모리에 적재한다 (나머지는 swap device에 존재) 프로세스를 통째로 올리지 않고 일부만 올려놓고 사용한다 기법 paging system segmentation system hybrid paging/segmentation system Address Mapping 주소 매핑 가상 주소 = 상대 주소 = 논리주소: 연속된 메모리 할당을 가정한 주소 실제주소 = 물리주소 = 절대주소: 실제 메모리에 적재된 주소 Address mapping: 가상 주소를 실제 주소로 매핑하는 작업 Block Mapping 사용자 프로그램 block 단위로 분할 및 관리 Virtual Ad..

[운영체제] 공룡책 - 메모리 관리 Memory Management 요약

메모리(기억 장치 종류) 레지스터 -> 캐시 -> 메인 메모리 -> 보조기억장치 (계층 구조) 왼쪽으로 갈수록 비싸지고 용량이 작고 빠르다 I/O 병목현상 해결하기 위한 계층구조이다 레지스터와 캐시는 CPU 내부에 존재하여 HW가 관리하고 나머지 메모리 종류는 SW(OS)가 관리한다. Block단위 하드디스크 (보조 기억장치)에서 메모리로 데이터를 올릴 때 1비트를 읽더라도 효율성을 위해 해당 1비트만 가가져오는 것이 아니라 block단위로 데이터를 읽어온다. (보통 1~ 4kb) word 단위 메인 메모리에서 레지스터로 데이터를 word 단위로 읽어온다. 컴퓨터에서 32비트, 64비트 시스템은 워드 단위이다. Address Binding 프로그램의 논리 주소(cpu가 생성하는 주소)를 실제 메모리의 물..

2021. 3. 13. 20:46

[운영체제 1주차 스터디] 공룡책 2장 운영체제 구조 정리

목차 Operating system services System calls Types of system calls operating system structure 운영체제에서 제공하는 서비스 운영체제는 컴퓨터 프로그램이 실행되는 환경을 제공한다. 그를 위해서 위와 같은 서비스를 제공한다. 여러 프로그램을 돌리기 위해 멀티 프로세싱을 하게 되고 그런 과정에서 동기화 문제가 발생하며 데드락이 발생할 수 있다. 앞으로 (공룡책에서) 주로 배우게 될 서비스 ⇒ 프로그램 실행(관리 부문), file System 나머지는 상대적으로 마이너하다. 운영체제 각 서비스 정리 UI (유저 인터페이스) 부분 CLI: 사용자가 텍스트 명령으로 명령을 내리는 방식. (SHELL, MS-DOS, 애플 소프트 베이직) 배치 인터페..

multi 시리즈 (multi-processing, multi-threading, multi-programming)

멀티 프로세싱 (multi-processing) 두 개 이상의 프로세서(cpu)가 협력적으로 작업을 동시에 처리하는 것 각 프로세서가 하나의 작업만이 아니라 다수의 작업을 처리한다 하나의 작업은 다수의 프로세서에 의해서 처리된다 장점 여러 프로세스가 동일한 데이터를 사용한다면 이런 데이터를 하나의 디스크에 두고 모든 프로세서가 공유하도록 하면 비용적으로 저렴해진다 하나의 작업을 한 프로세서만 처리한다면 해당 프로세서가 고장났을 때 작업은 정지된다 멀티프로세서는 하나의 프로세서가 고장나도 느려질 뿐 작업이 멈추지 않는다 멀티 프로그래밍 (multi-programming) -자원의 낭비 최소화 특정 프로세스 a에 대해 프로세서가 작업 처리시 낭비되는 시간동안 다른 프로세스를 처리하는 것이다 (ex. SMT)..