: 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층.: 컴퓨터 시스템의 자원을 효율적으로 관리. 사용자간 형평성있게 자원을 분배하며, 주어진 자원으로 최대 성능을 내도록 한다.HW 자원 (프로세서/ 기억장치/ 입
운영체제를 본격적으로 시작하기에 앞서,컴퓨터 시스템이 어떻게 동작하고, 프로그램들이 하드웨어 위에서 어떻게 돌아가는지 알아보자.: 쉽게 말해 컴퓨터(CPU, 메모리)가 호스트고, 입출력 장치(하드디스크, 키보드/마우스, 프린터, 모니터 등)와 정보를 주고 받는다. 사이
: 프로세스는 실행 중인 프로그램이라는 뜻이다. 프로그램이 메인 메모리에 올라와 실행되고 있다면, (CPU가 이를 다룰 수 있는 상태) 프로세스라고 한다.: 현재 어디서, 어떤 instruction을 수행했고, 어떤 상태인지를 나타내는 프로세스의 모든 실행정보.CPU가
부모 프로세스가 자식 프로세스를 복제생성한다. 문맥(주소공간, program counter)을 모두 복제해 생성한다. (효율적인 OS에서는 일단 copy하지 않고, 자식이 부모의 주소공간을 공유하다가 내용이 달라져야할 때, 일부를 copy. 즉, (내용을 바꾸는)wri
: CPU를 연속적으로 수행하는 단계와 I/O를 수행하는 단계가 연속적으로 나옴.=> 여러 종류의 job(=process)이 섞여 있으므로, 'CPU 스케줄링'이 필요하다.Interactive job이 오래 기다리지 않도록 적절한 응답 제공 요망 (interactive
: 하나의 자원을 한 순간에 하나의 프로세스만이 이용하도록 제어하는 것.공유 데이터의 동시 접근은 데이터의 불일치 문제를 발생시킬 수 있다.일관성 유지를 위해서는 협력 프로세스 간의 실행 순서를 정해주는 매커니즘(동기화)이 필요.: 컴퓨터 시스템 안에서 데이터에 어떻게
Deadlock (교착상태) > : 일련의 프로세스들이 서로가 가진 자원을 기다리며 block된 상태 각자 자원을 가지고 있으면서, 상대방의 자원을 더 요청하는.. 더 이상 진행이 되지 않는 상황. (어느 누구도 양보하지 않으면 진행이 안됨.) Resource (자