All'alba vincerò

At dawn, I will win!

2025/05/25 2

컴파일과 프로세스

프로그래밍 언어프로그래밍 언어는 코드를 어떻게 실행하느냐에 따라 컴파일 언어와 인터프리터 언어로 나뉨 컴파일 언어: 개발자가 코드를 작성하고 컴파일 과정을 거쳐 0과 1로 된 기계어로 실행 파일을 만듦컴파일 과정에서 코드의 문법 검사를 시행하고, CPU에서 처리 가능한 기계어로 실행 파일을 만들어놓기 때문에 실행 속도가 빠름대표적인 컴파일 언어: C, C++, Go 등 인터프리터 언어: 개발자가 작성한 코드를 미리 기계어로 만들지 않고 실행 시 코드를 한 줄씩 해석해서 실행하는 언어미리 컴파일하지 않기 때문에 실행 도중에 오류가 발생할 수 있고, 실행 속도도 컴파일 언어에 비해 느림대표적인 인터프리터 언어: Python, JavaScript 등 컴파일 과정개발자가 작성한 코드가 실행 파일로 만..

CS/운영체제 2025.05.25

교착 상태(deadlock) 해결

교착 상태 회피 (Deadlock Avoidance): 프로세스에게 자원을 할당할 때, 자원을 어느 수준까지 할당하면 교착 상태가 발생하는지 파악해서 그 수준을 넘지 않도록 조절해서 할당함 교착 상태 회피는 전체 자원의 수와 현재 할당된 자원의 수를 기준으로 시스템의 상태를 두 가지로 나눔안전 상태(Safe State): 모든 프로세스가 정상적으로 종료될 수 있는 상태불안전 상태(Unsafe State): 당장은 문제가 없지만, 교착 상태로 이어질 가능성이 있는 상태불안전 상태라고 해서 무조건 교착 상태에 빠지는 건 아니지만 위험성이 커지므로 피하는 게 좋음 교착 상태 검출 방법1. 가벼운 검출: 타이머 사용프로세스가 일정 시간동안 작업을 진행하지 않으면 교착 상태가 발생했다고 간주하고 교착 상태를 ..

CS/운영체제 2025.05.25