함량 100%

함지의 개발일기

Computer Science/운영체제 3

[운영체제] 데드락(Dead Lock, 교착상태)

1. 데드락이란 - 두 개 이상의 프로세스나 스레드가 서로 자원을 얻지 못해서 다음 처리를 하지 못하는 상태입니다. - 즉, 무한히 다음 자원을 기다리는 상태입니다. - 시스템적으로 한정된 자원을 여러 곳에서 사용하려고 할 때 발생합니다. 2. 발생조건 - 데드락의 발생 조건은 다음 네가지 입니다. 네개를 모두 만족하는 경우에 데드락이 발생하며, 이 중 하나라도 만족하지 않는다면 데드락이 일어나지 않습니다. 1) 상호배제 : 자원은 한 번에 한 프로세스만이 사용할 수 있어야 한다. 2) 점유대기 : 최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용하고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 한다. 3) 비선점 : 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 ..

Process & Thread

키워드 실행단위 : CPU Core 에서 실행하는 하나의 단위로 프로세스와 스레드를 포괄하는 개념 프로세스 : 하나의 스레드만 가지고 있는 단일 스레드 프로세스. 운영체제 위에서 실행 중인 프로그램. 프로그램 명령어와 데이터들이 메모리에 올라오고 실행 중 또는 실행 대기중인 상태 동시성 : 한 순간에 여러가지 일이 아니라, 짧은 전환으로 여러가지 일을 동시에 처리하는 것처럼 보이는 것 프로그램 : 어떤 작업을 위해 운영체제 위에서 실행할 수 있는 파일 (ex. 웹 브라우저, 워드 프로세서, 카카오톡 등) 프로세서 : 프로세스가 동작될 수 있도록 하는 하드웨어(=CPU) PCB(Process Control Block) : 프로세스를 제어하기 위한 정보 모음 프로세스 식별자, 프로세스 상태, 다음에 실행할 ..

01. 컴퓨터 구조

1. 컴퓨터의 구성 (1) 하드웨어 하드웨어는 중앙처리장치(CPU), 기억장치(RAM, HDD), 입출력 장치(마우스, 프린터)로 구성되어있다. 이들은 시스템 버스로 연결되어 있다. 중앙처리장치(CPU)는 주기억장치에서 프로그램 명령어와 데이터를 읽어와 처리하고 명령어의 수행 순서를 제어한다. 중앙처리장치는 산술논리장치, 제어장치, 레지스터로 구성되어있다. - 산술논리장치(ALU): 비교와 연산을 담당한다. - 제어장치: 명령어의 해석과 실행을 담당한다. - 레지스터: 속도가 빠른 데이터 기억장소이다. 기억장치는 프로그램, 데이터, 연산의 중간 결과를 저장하는 장치이다. 주기억장치와 보조기억 장치로 나뉘어져 있다. 입출력장치는 입력장치(키보드, 마우스 등)와 출력장치(프린터, 모니터, 스피커 등)이 있다..