[운영체제] 교착상태 (DeadLock)
·
운영체제
교착상태(DeadLock)란?운영체제에서 교착상태라 함은 쉽게 정의한다면 시스템 자원에 대한 요구가 뒤엉킨 상태라고 할 수 있다. 즉, 둘 이상의 프로세스가 다른 프로세스가 점유하고 있는 자원을 서로 기다릴 때 무한 대기에 빠지는 상황을 말한다. 식사하는 철학자 문제이 문제로 교착상태를 설명할 수 있다.모든 철학자가 동시에 포크를 집어 식사를 하면 어떤 철학자도 식사를 할 수 없는 상황이 발생한다.모든 철학자가 왼쪽 포크를 집어 들면 모두가 오른쪽 포크를 집어 들 수 없기 때문이다. 다시 말해 모든 철학자는 다른 철학자가 포크를 내려놓을 때까지 기다리게 된다. 철학자는 프로세스나 스레드로, 자원은 포크로 빗대어 표현할 수 있다. 생각하는 행위 자체는 기다리는 것에 비유할 수 있다. 발생조건1. 상호 배제..
[운영체제] 시스템 호출 (System Call)
·
운영체제
사용자 프로그램이 운영체제의 기능을 요청하는 매커니즘이다.시스템 콜 (System Call) 이란사용자 모드에서 실행되는 프로그램이 커널 모드에서 사용되는 서비스를 사용하기 위해 인터럽트를 발생시키는 방식으로 작동한다.일종의 소프트웨어 인터럽트이다.커널이란?자원에 접근하게 하는 기능, 프로그램이 안전하고 올바르게 실행되게 하는 기능은 운영체제의 핵심 서비스이다. 이렇게 운영체제에서 핵심 서비스를 담당하는 부분을 커널이라고 한다. 운영체제는 사용자가 실행하는 응용 프로그램이 하드웨어 자원에 직접 접근하는 것을 방지하여 자원을 보호한다.만약 응용프로그램이 CPU, 메모리, 하드디스크에 마음대로 접근하고 조작하게 된다면 자원이 무질서하게 관리될 것이고 컴퓨터 전체에 큰 악영향을 끼칠 수 있게 된다.응용프로그램..