
운영체제는 개발자가 공부해야 하는 필수과목 중 하나다. 이 과목을 공부하기에 앞서 운영체제가 무엇인지, 운영체제에서 무엇을 알아야 하는지에 대한 대략적인 가이드를 작성했다. 운영체제란? 사용자는 더블클릭으로 프로그램을 실행한다. 실행중인 프로그램을 닫기 버튼으로 종

사용자는 더블클릭으로 프로그램을 실행한다. 실행중인 프로그램을 닫기 버튼으로 종료한다. CPU가 1개인 PC에서 여러개의 프로그램을 실행시킬때, 마치 동시에 여러 프로그램을 실행시키는 느낌이 든다. 이는 모두 운영체제가 프로세스를 관리해주기 때문이다. 그렇다면 어떻

프로세스와 스레드 프로세스는 실행중인 프로그램을 뜻한다. 스레드는 프로세스안에서 실행단위를 뜻한다. 우리가 공부를 한다면, 공부안에는 국, 영, 수등 여러 과목이 있을 것이다. 공부를 프로세스에 비유하고, 스레드를 국어공부, 영어공부, 수학공부에 비유할 수 있다.

실행중인 프로그램은 CPU를 사용하는 작업과, I/O처리를 위해 CPU를 내려놓고 기다리는 과정의 반복이다.운영체제는 이러한 프로세스들이 원활하게 돌아가도록 스케줄링할 책임이 있다.CPU를 기다리는 프로세스 중에서, 어떤 프로세스를 고를지 담당하는 부분을운영체제의 CP

여러 곳에서 같은 자원을 사용할 때는 항상 조심해야 한다. 자원의 일관성이 깨질 수 있기 때문이다. 여러 곳에서 같은 자원에 접근하여 모순이 발생하는 상황을 Race Condition이라 한다. 그리고 공유 자원을 사용하는 코드영역을 Critical Section이라고

프로세스 1이 A라는 자원을 들고 있다.프로세스 1은 B라는 자원을 원한다.프로세스 2는 B라는 자원을 들고 있다.프로세스 2은 A라는 자원을 원한다.이 경우 두 프로세스는 영원히 기다려야 한다.이러한 상태를 Deadlock(교착 상태)라고 한다.데드락은 다음 4가지

프로그램을 실행하면 메모리에 프로세스가 올라가게 된다.과거에는 프로세스 전체가 메모리에 올라갔다.그러나 지금은 프로세스에서 필요로 하는 부분만 올라간다.이렇게 하게 되면 물리적 메모리 이상으로 프로그램을 실행시킬 수 있다.이를 가상 메모리(Virtual Memory)라
운영체제에서 파일을 관리하는 부분을 파일 시스템이라 한다.파일이란 연관된 정보의 모음이다. 파일에는 이름, 저장된 위치, 사이즈, 권한 등이 있다.이렇게 파일과 관련된 정보를 파일의 metadata라고 한다.디렉토리란 파일의 메타데이터 중 일부를 보관하고 있는 파일이다