다양한 applications과 users 사이에 hardware의 사용을 제어하고 조절하는 Operation system
I/O장치와 CPU는 동시에 작동합니다.CPU, device controllers는 common bus를 통해서 이들이 공유하는 memory로 연결됩니다.이 동시에 실행되는 CUP 및 장치들은 memory cycles를 놓고 경쟁합니다.
운영체제는 컴퓨터와 사용자에게 프로그램과 서비스를 실행할 수 있는 환경을 제공합니다
System call이란 ?OS에서 제공하는 서비스에 대한 programming interface를 말한다.
다양한 방법으로 OS를 구조화할 수 있다.
OS가 실행하는 다양한 프로그램이 있다. batch system에서 jobs이나 time-shared systems에서 사용자 프로그램이나 tasks가 그렇다.
메모리의 프로세스들 중에서 어떤 것에 먼저 CPU를 할당해야 하는가? CPU의 사용을 극대화하고, 시간 공유를 위해서 빠르게 프로세스를 CPU로 switch한다.
시스템은 반드시 프로세스 생성, 종료, 그리고 프로세스 사이의 통신 등에 대한 메커니즘을 제공해야한다.
CPU scheduling은 멀티프로그래밍으로 CPU 활용을 극대화 하기 위해서 필요하다.
프로세스는 여러개가 동시에 실행될 수 있고, I/O 요청시 CPU는 idle하지 않고 다른 프로세스의 일을 처리한다. 동기화를 통해서 여러개의 프로세스가 CPU를 공유하면서 데이터를 수정한다.
다시 부팅을 해야하며, 시스템의 일부가 deadlock이 발생하면 재부팅 없이 복구가 가능하다.