버퍼는 속도에 차이가 있는 두 장치 사이에서 그 차이를 완화하는 역할을 한다. 일정량의 데이터를 모아 옮김으로써 적은 노력으로도 많은 양의 데이터를 옮길 수 있으므로 속도의 차이를 완화하는 장치라고 볼 수 있다. ex) 동영상 스트리밍, 모니터 버퍼('\\n')스풀은
예전엔 CPU가 직접 입출력장치에서 데이터를 가져오거나 내보내는 폴링(Polling) 방식을 사용했는데, 지금의 컴퓨터에는 많은 주변장치들이 존재하기도 하고 CPU가 모든 입출력에 관여를 하게되면 작업 효율이 현저하게 떨어지게 된다. 인터럽트는 이러한 문제를 해결하기
프로그램은 저장장치에 저장되어 있는 정적인 상태이고 프로세스는 실행을 위해 메모리에 올라온 동적인 상태이다.프로그램은 어떤 데이터를 사용하여 어떤 작업을 할지 그 절차를 적어놓은 것이고 프로세스는 '실행한다'라고 표현하는데, 이는 프로그램으로 작성된 작업 절차를 실제로
프로세스의 실행 단위로, 한 프로세스 내에서 동작되는 여러 실행 흐름으로 프로세스 내의 주소 공간이나 자원을 공유할 수 있다. 스레드는 스레드 ID, 프로그램 카운터, 레지스터 집합, 그리고 스택으로 구성된다. 같은 프로세스에 속한 다른 스레드와 코드, 데이터 섹션,
프로세스를 스케줄링하기 위한 Queue에는 세 가지 종류가 존재한다.Job Queue : 현재 시스템 내에 있는 모든 프로세스의 집합Ready Queue : 현재 메모리 내에 있으면서 CPU를 잡아서 실행되기를 기다리는 프로세스의 집합Device Queue : Devi
프로세스 간 통신(IPC) > 프로세스는 시스템 내에서 독립적으로 실행되기도 하고 서로 통신을 하며 데이터를 주고받고 협업을 하기도 한다. IPC에는 같은 컴퓨터 내에 있는 프로세스뿐만 아니라 네트워크로 연결된 다른 컴퓨터에 있는 프로세스와의 통신도 포함된다. Mes
프로세스 P1과 P2는 임계영역에 진입하기 전에 코드를 통해 임계구역에 잠금이 걸려 있는지 확인한다(lock == true). 잠겨있다면 다른 프로세스가 임계영역에서 작업하고 있다는 뜻이므로 잠금이 해제될 때까지 무한 루프를 돌며 기다린다(lock == false).
임계구역에 진입하기 전에 스위치를 사용 중으로 놓고 임계구역에 들어간다. 이후 도착한 프로세스는 앞의 프로세스가 작업을 마칠 때까지 기다린다. 프로세스가 작업을 마치면 세마포어는 다음 프로세스에 임계구역을 사용하라는 동기화 신호를 보낸다. 세마포어는 다른 알고리즘과 달
2개 이상의 프로세스가 다른 프로세스의 작업이 끝나기만 기다리며 작업을 더이상 진행하지 못하는 상태를 말한다.starvation과 비슷하지만 starvation은 운영체제가 잘못된 정책을 사용해 특정 프로세스의 작업이 지연되는 문제이고, deadlock은 여러 프로세스
보조기억장치의 프로그램, 데이터를 주기억장치에 적재시키는 시기나 적재 위치를 지정하여 한정된 주기억장치의 공간을 효율적으로 사용하기 위한 것이다.종류반입(Fetch)배치(Placement)교체(Replacement)보조기억장치에 보관중인 프로그램이나 데이터를 언제 주기
보조기억장치의 일부를 주기억장치처럼 사용하는 것으로 용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼 사용하는 기법이다.프로그램을 여러 개의 작은 블록 단위로 나누어서 가상기억장치에 보관해놓고, 프로그램 실행 시 요구되는 블록만 주기억장치에 불연속적으로 할당하여 처
Page fault가 발생하면 가상기억장치에서 필요한 페이지를 찾아 주기억장치에 적재해야 하는데, 이 떄 주기억장치의 모든 페이지 프레임이 사용중이면 어떤 페이지 프레임을 선택해 교체할 것인지 결정하는 기법앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 기법페이지
선형 자료구조LIFO(Last In First Out)서브루틴 호출시 복귀 주소 저장재귀 프로그램 수행할 때인터럽트 발생할 때 상태 저장후위식(Postfix) 변환버퍼트리(Inorder, Postorder, Preorder)DFS 탐색퀵 정렬미로 찾기Text : 프로그
FCFS, SJF
우선순위 스케줄링, 라운드 로빈
Segmentation, Paged segmentation