Operating System하드웨어를 효율적으로 관리하여 사용자나 응용프로그램에게 서비스를 제공하는 역할을 하는 소프트웨어운영체제의 역할프로세서에게 처리할 작업 할당 및 관리프로세스 생성 및 관리프로그램의 프로세서 사용 제어프로그램의 프로세서 사용시간 관리복수 프로
컴퓨터는 프로세서, 메모리, 주변기기 세가지로 나눌 수 있다CPU, GPU, 응용전용처리장치 등컴퓨터의 두뇌(중앙처리장치). 연산을 수행하며 컴퓨터의 모든 장치의 동작을 제어한다.CPU는 제어장치, 연산장치, 레지스터로 구성된다.ram, rom, 레지스터, 보조기억장치
크게 커널과 유틸리티, 두가지로 분류할 수 있다.핵심이라는 뜻의 영단어 Kernel에서 따왔다. OS의 핵심부분이며 메모리에 상주한다.커널은 가장 빈번하게 사용되는 시스템 관리와 같은 기능들을 담당하며,드라이버를 이용하여 CPU와 GPU와 같은 하드웨어를 제어하고, 여
커널에 등록된 실행단위(프로그램)이며, 사용자 요청/ 프로그램의 수행 주체이다.OS에서 프로세스 생성/삭제, 상태관리, 자원할당, 프로세스 간 통신 및 동기화, 교착상태 해결 등의 작업을 한다.프로그램이 커널 위에 등록된 상태가 프로세스이며, 각종 자원(프로세서, 메모
Thread 프로세스를 자원을 할당받아 제어하는 것으로 정의한다면 그 중 제어만 분리한 것을 스레드라고 한다. Light Weight Process(LWP)라고도 하며, 프로세스 활용의 기본단위이다. 하나의 프로세스 안에 여러개의 스레드가 존재할 수 있고, 그 스레드
여러 개의 프로세스가 시스템 내 존재하는 다중 프로그래밍 환경에서여러개의 프로세스 중, 자원을 할당해야 할 프로세스를 선택해야 하는데 이것을 스케줄링이라 한다.하나의 자원을 여러 스레드들이 번갈아가며 사용 ex)프로세서프로세스 스케줄링: 프로세서 사용 시간을 프로세스들
선착순선점 방식(한번 자원을 할당받으면 빼앗기지 않음)이며,도착시간(Ready Queue 기준)으로 먼저 도착한 프로세스를 먼저 처리한다.프로세스 변경에 의한 Context Switch Overhead가 낮고, 프로세스가 계속 일할 수 있어자원을 효율적으로 사용 가능하
독립적으로 존재하는 여러개의 프로세스들이동작을 맞추고, 서로 정보를 공유하는 것,즉 프로세스들이 서로 대화를 나누는 것을 동기화Synchronization라고 한다.프로세스들이 서로에 대해 모르는 것을 비동기적Asynchronous여러개의 프로세스들이 동시에 시스템에
Dekker's Algorithm Two process ME를 보장하는 최초의 알고리즘
Test와 Set을 한번에 수행하는 기계어기계어이므로 실행중 interrupt를 받지 않음을 보장한다(선점되지 않음)여전히 busy waiting 방식이라 비효율적이란 단점이 있다.TAS명령어인수로 받은 값을 true로 바꾸고, 리턴값은 바꾸기 전의 인수값을 그대로 리
Software solution과 Hardware solution의 busy waiting 문제를 해결하기 위해 OS의 도움을 받는 문제해결 방식이며 가장 대중적으로 사용하는 방식이다. Spin Lock 특별한 정수형 변수 S로 표현한다. 초기화, P(), V()
semaphore의 문제점인 wake-up이 비결정적임을 해결하기 위한 방안은행의 번호표와 비슷한 개념Busy waiting 문제 해결Starvation(무한대기현상) 문제 해결Semaphore보다 더 low level control이 가능하다정수형 변수이며, 생성시
SW, HW, OS supported의 방식들은 유연한 방식이지만 복잡하여 오류가 생기기 쉽다. 따라서 High Level인 Language level에서 제안하는 방안이다. > Monitor 프로그래밍이 ME를 서포팅 OOP와 유사 사용이 쉽다
Deadlock 교착상태에 빠지다 두개 이상의 프로세스가 서로 상대방의 작업이 끝나기를 기다리고 있어 결과적으로 아무것도 완료되지 못하는 상태 Blocked/Asleep state 프로세스가 특정 이벤트를 기다리는 상태 프로세스가 필요한 자원을 기다리는 상태 Dea
Graph ModelState Transition ModelNode와 Edge로 이루어진 그래프로 표현Node는 프로세스 노드(P1, P2), 자원노드(R1, R2)로 표현프로세스 노드에서 자원 노드로 가는 화살표는 자원을 요청자원 노드에서 프로세스 노드로 가는 화살표
Deadlock 해결 방법으론 다음 세가지가 존재한다Deadlock Prevention methods: 예방Deadlock Avoidance methods: 회피Deadlock detection and recovery methods: 탐지 및 복구4개의 dead loc
레지스터, 캐시는 HW가 관리 메인메모리, 보조기억장치는 SW(OS)가 관리 메모리 계층구조 > Block 보조 기억장치와 주 기억장치 사이의 데이터 전송 단위 Size: 1~4KB Word 주 기억장치와 레지스터 사이의 데이터 전송단위 (데이터버스의 크기) Si
사용자 프로그램을 여러개의 block으로 분할하고실행 시 필요한 block들만 메모리에 적재한다.나머지 block들은 swap device(Disk)에 존재한다.기법들Paging systemSegmentation systemHybrid Paging/Segmentatio
가상메모리Non countinuous allocation사용자 프로그램을 block으로 분할하여 필요한 부분만 적재/실행paging/segmentation system가상메모리 관리의 목적가상메모리 시스템 성능 최적화cost model다양한 최적화 기법여러가지 cost
가상메모리의 관리 기법 중 하나인 Replacement Strategies(교체기법)에 대해 서술한다.교체기법은 지역성을 기준으로 작동한다.Locality 지역성프로세스가 프로그램/데이터의 특정 영역을 집중적으로 참조하는 현상공간적 지역성: 참조한 영역과 인접한 영역을