컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있는 환경을 제공하는 소프트웨어운영체제는 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로 동작하는 시스템 소프트웨어의 일종으로 다른 응용 프로그램이 유용한 작업을 할 수 있
https://velog.velcdn.com/images%2Fklloo%2Fpost%2Fa322d826-7ed9-47c5-bdff-c78c1def6af8%2Fimage.pngnew: 프로세스 생성 중커널 공간에 PCB가 만들어진 상태 (메모리 할당 받기 전)r
CPU가 하나의 프로세스 작업이 끝나면 다음 프로세스 작업을 수행해야 하는데, 이 때 어떤 프로세스를 다음에 처리할 지 선택하는 알고리즘을 말한다. 상황에 맞게 CPU를 어떤 프로세스에게 할당하여 효율적으로 처리하는지가 관건이다.CPU 스케줄링이 이루어지는 경우runn
메모리에 적재되어 실행되고 있는 프로그램을 의미한다.운영체제로부터 시스템 자원을 할당받는 작업의 단위를 의미하기도 한다.CPU 시간 / 운영되기 위해 필요한 주소 공간 / 코드, 데이터, 스택, 힙의 구조로 되어있는 독립적인 메모리 영역 등의 시스템 자원을 할당받는다.
https://velog.velcdn.com/images%2Fklloo%2Fpost%2Fa1c356ed-6c44-44a6-bf62-07ff339bbd8c%2Fimage.png프로그램이 실행되면 프로세스 주소 공간이 메모리에 할당된다.프로세스 주소 공간에는 아래
운영체제의 커널이 제공하는 서비스에 대해 응용프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스운영체제는 커널모드와 사용자모드로 나뉘어서 구동된다.운영체제에서 프로그램이 구동되는데 있어 많은 부분이 커널 모드를 사용한다.시스템 콜은 이러한 커널 영역의 기능을 사용자
CPU가 프로그램을 실행하고 있을 때, 입출력 하드웨어 혹은 소프트웨어에 의해 예외상황이 발생하여 처리가 필요한 경우에 CPU에게 이를 알려주는 것예를 들어 A라는 프로그램이 CPU를 할당받고 명령을 수행하고 있는데 인터럽트가 발생하면 A는 현재 수행중인 명령의 위치를
특정 프로세스에 대한 정보를 담고 있는 자료구조운영체제는 PCB에 담긴 프로세스 정보를 이용하여 프로세스를 관리하고 제어한다.프로세스가 생성될 때 마다 고유의 PCB가 생성되어 메인 메모리에 유지되고, 프로세스가 완료되면 제거된다.PCB는 프로세스의 중요한 정보를 포함
독립적인 구조를 가진 프로세스 간의 통신을 가능하게 해주는 것프로세스는 독립적으로 실행되어 다른 프로세스에게 영향을 받지 않기 때문에 별도의 설비 없이 통신을 할 수 없다. 따라서 프로세스는 커널이 제공하는 IPC 설비를 이용해 프로세스 간 통신을 할 수 있게 된다.여
두 개 이상의 작업이 서로 상대방의 작업이 끝나기만을 기다리고 있어 아무것도 완료되지 못하는 상태한정된 자원을 여러 곳에서 사용하려고 할 때 발생하는 문제이며, 프로세스가 자원을 얻지 못해서 다음 처리를 하지 못하는 상태이다.https://images.velo
공유 자원에 대해 여러 프로세스가 동시에 접근을 시도할 때, 타이밍이나 순서 등이 결과값에 영향을 줄 수 있는 상태공유 자원에 여러 프로세스가 동시에 접근할 때 자료의 일관성을 해치는 결과가 나타날 수 있다.커널 코드 실행 중에 인터럽트가 발생할 경우 : 커널 모드에서
정수값을 갖는 변수이며 자원의 개수를 의미한다동기화 기법 중 추상적인 방법이며 여러 프로세스들에 의해 공유되는 변수로 정의된다.이 변수는 오직 wait와 signal이라는 atomic한 연산에 의해서만 접근이 가능하다.세마포어의 개수에 따라 counting semaph
각 프로세스가 메모리 내의 연속된 단일 공간을 요청하고 사용하는 기법이며 과거의 운영체제에서 사용했다.프로세스가 100MB를 요구하면 연속된 100MB를 할당하는 것이 원칙이다.어느 순간에 작은 빈공간들이 메모리 전체에 띄엄띄엄 흩어져 있게 되는 단편화 현상이 발생하는
필요한 프로그램의 부분만 메모리에 적재하는 방법으로 가상 메모리 시스템에서 많이 사용된다.요구 페이징을 사용하는 가상메모리에서는 페이지들이 실행 과정에서 실제로 필요해질 때 적재된다.특정 페이지에 대해 CPU의 요청이 들어온 후에야 해당 페이지를 메모리에 적재하며, 한
CPU가 직접 접근할 수 있는 기억 장치프로그램이 실행되려면 해당 프로그램이 복사되어 메모리에 적재되어야 한다. (이 때 메모리에 적재된 프로그램을 프로세스라고 한다.) CPU는 연산을 수행한 후에 메인 메모리에 데이터를 저장하거나 필요한 데이터를 요구한다.RAM은 R
논리 주소를 물리 주소로 변환해주며 메모리 보호나 캐시 관리 등 CPU가 메모리에 접근하는 것을 총 관리해주는 하드웨어메모리의 공간이 한정적이기 때문에, 사용자에게 더 많은 메모리를 제공하기 위해 가상 메모리라는 개념이 등장했다. 이 가상 메모리의 논리 주소를 가지고