하드웨어를 관리하고, 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 응용 프로그램과 하드웨어 간의 인터페이스로써 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해준다.즉, 운영 체제는 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는

프로세스 : 프로그램을 메모리 상에서 실행중인 작업스레드 : 프로세스 안에서 실행되는 여러 흐름 단위기본적으로 프로세스마다 최소 1개의 스레드 소유 (메인 스레드 포함)스레드는 프로세스의 코드에 정의된 절차에 따라 실행되는 특정한 수행 경로다.프로세스가 메모리에 올라갈
앞에서 프로세스를 다루면서, 우리는 프로세스에 대해 운영체제가 자원을 할당하는 단위 라고 언급했었다. > 프로세스가 메모리를 할당 받으면, 자신만의 방법으로 메모리를 관리하기 위해 이 공간들을 어떤 구조로 관리하는데, 우리는 이를 프로세스 주소 공간이라고 부른다.

프로그램을 실행하는 도중에 예기치 않은 상황이 발생할 경우 현재 실행 중인 작업을 즉시 중단하고, 발생된 상황에 대한 우선 처리가 필요함을 CPU에게 알리는 것지금 수행 중인 일보다 더 중요한 일(ex. 입출력, 우선 순위 연산 등)이 발생하면 그 일을 먼저 처리하고
OS는 다양한 서비스 들을 수행하기 위해 하드웨어를 직접적으로 관리한다. 이와 반면 응용 프로그램은 OS가 제공하는 인터페이스를 통해서만 자원을 사용할 수 있다. OS가 제공하는 이러한 인터페이스를 '시스템 콜 (system call)' 이라고 한다.시스템콜은 이러한

CPU가 프로세스가 여러개일 때, CPU 스케줄링을 통해 관리하는 것을 말함이때, CPU는 각 프로세스들이 누군지 알아야 관리가 가능함프로세스들의 특징을 갖고있는 것이 바로 Process MetadataProcess ID (프로세스 식별자)Process State (프
프로세스는 독립적으로 실행된다. 즉, 독립 되어있다는 것은 다른 프로세스에게 영향을 받지 않는다고 말할 수 있다. (스레드는 프로세스 안에서 자원을 공유하므로 영향을 받는다)이런 독립적 구조를 가진 프로세스 간의 통신을 해야 하는 상황이 있을 것이다. 이를 가능하도록

CPU 를 잘 사용하기 위해 프로세스를 잘 배정하기조건오버헤드 ↓ / 사용률 ↑ / 기아 현상 ↓목표Batch System: 가능하면 많은 일을 수행. 시간(time) 보단 처리량(throughout)이 중요Interactive System: 빠른 응답 시간. 적은 대

두 개 이상의 프로세스나 스레드가 서로 자원을 얻지 못해서 다음 처리를 하지 못하는 상태무한히 다음 자원을 기다리게 되는 상태를 말한다.시스템적으로 한정된 자원을 여러 곳에서 사용하려고 할 때 발생한다.현재 서로 원하는 자원이 상대방에 할당되어 있어서 두 프로세스는 무

가상기억장치를 모두 같은 크기의 블록으로 편성하여 운용하는 기법
메인 메모리(main memory) > CPU가 직접 접근할 수 있는 기억 장치