반응형

컴퓨터 이론/운영체제 2

[운영체제] 데드락(Deadlock)에 대해서 알아보자.

오늘은 OS의 데드락(Deadlock)에 대해서 알아보는 시간을 갖도록 하겠다. (1) 개념 - 데드락은 두 개 이상의 작업이 서로 상대방의 작업이 끝나기 만을 기다리고 있기 때문에 결과적으로 아무것도 완료되지 못하는 상태를 가리킨다. 즉, 프로세스가 자원을 얻지 못해서 다음 일을 처리하지 못하는 상태이다. 교착 상태라고도 말하는데 보통 시스템적으로 한정된 자원을 여러 곳에서 동시에 사용하려고 할 때 발생한다. 다중 프로그래밍 환경에서 흔히 발생할 수 있는 문제이다. ex) 프로세스 1이 리소스 1을 사용하고 있고, 리소스 2를 사용하기 위해 요청했으며 프로세스 2가 리소스 1을 사용하기 위해 요청했고, 리소스 2를 사용하고 있다면 프로세스 1 -> 리소스 1(사용 - Lock) / 리소스 2(요청 - ..

[운영체제] 프로세스와 스레드에 대해서 알아보자.

오늘은 기술면접 단골질문인 프로세스와 스레드에 대해서 알아보는 시간을 갖도록 하겠다. 프로세스와 스레드의를 이해하기 위해서는 프로그램/프로세스/스레드의 자세한 개념을 이해할 필요가 있다. 차근차근 알아보자. ① 프로그램 (Program) (1) 정의 - 어떤 작업을 위해 실행할 수 있는 파일 - 파일이 저장장치에 저장되어 있지만 메모리에는 올라가 있지 않은 정적인 상태 한마디로 설치는 되어있지만 실행되지 않은 상태라고 생각하면 될것같다. ② 프로세스 (Process) (1) 정의 - 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 - 메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립적인 객체) - 운영체제로부터 시스템 자원을 할당받는 단위 - 오류로 인해서 종료가 될 때 다른 프로세스의 영향을 ..

반응형