운영체제란 ? > 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴픁를 편리하고 효과적으로 사용할 수 있는 환경을 제공하는 소프트웨어 운영체제는 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로 동작하는 시스템 소프트웨어의 일종으로 다른 응용 프로그램이 유용
프로세스 상태 스케줄러 > 어떤 프로세스에게 자원을 할당할 지 결정하는 운영체제 커널의 모듈을 지칭한다. 프로세스를 스케줄링하기 위한 큐에는 세가지 종류가 존재한다. Job Queue : 프로세스의 상태와 무관하게 시스템 내의 모든 프로세스를 관리한다. 따라서 작
CPU 스케줄링 > CPU가 하나의 프로세스 작업이 끝나면 다음 프로세스 작업을 수행해야 하는데, 이 때 어떤 프로세스를 다음에 처리할 지 선택하는 알고리즘을 말한다. 상황에 맞게 CPU를 어떤 프로세스에게 할당하여 효율적으로 처리하는지가 관건이다. CPU 스케줄링이
메모리에 적재되어 실행되고 있는 프로그램을 의미한다.운영체제로부터 시스템 자원을 할당받는 작업의 단위를 의미하기도 한다.CPU 시간 / 운영되기 위해 필요한 주소 공간 / 코드, 데이터, 스택, 힙의 구조로 되어있는 독립적인 메모리 영역 등의 시스템 자원을 할당받는다.
프로그램이 실행되면 프로세스 주소 공간이 메모리에 할당된다.프로세스 주소 공간에는 아래와 같은 영역이 존재한다.실행할 프로그램의 소스코드가 들어가는 부분이다. 텍스트 영역이라고도 한다.컴파일 타임에 결정되고 중간에 코드를 바꿀 수 없도록 Read-Only로 지정되어 있
시스템 콜 (System Call) > 운영체제의 커널이 제공하는 서비스에 대해 응용프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스 운영체제는 커널모드와 사용자모드로 나뉘어서 구동된다. 운영체제에서 프로그램이 구동되는데 있어 많은 부분이 커널 모드를 사용한다
인터럽트 (Interrupt) > CPU가 프로그램을 실행하고 있을 때, 입출력 하드웨어 혹은 소프트웨어에 의해 예외상황이 발생하여 처리가 필요한 경우에 CPU에게 이를 알려주는 것 예를들어 A라는 프로그램이 CPU를 할당받고 명령을 수행하고 있는데 인터럽트가 발생하
특정 프로세스에 대한 정보를 담고 있는 자료구조운영체제는 PCB에 담긴 프로세스 정보를 이용하여 프로세스를 관리하고 제어한다.프로세스가 생성될 때 마다 고유의 PCB가 생성되어 메인 메모리에 유지되고, 프로세스가 완료되면 제거된다.PCB는 프로세스의 중요한 정보를 포함
독립적인 구조를 가진 프로세스 간의 통신을 가능하게 해주는 것프로세스는 독립적으로 실행되어 다른 프로세스에게 영향을 받지 않기 때문에 별도의 설비 없이 통신을 할 수 없다.따라서 프로세스는 커널이 제공하는 IPC 설비를 이용해 프로세스 간 통신을 할 수 있게 된다.여러
교착 상태 (Deadlock) > 두 개 이상의 작업이 서로 상대방의 작업이 끝나기만을 기다리고 있어 아무것도 완료되지 못하는 상태 한정된 자원을 여러 곳에서 사용하려고 할 때 발생하는 문제이며, 프로세스가 자원을 얻지 못해서 다음 처리를 하지 못하는 상태이다. 프
공유 자원에 대해 여러 프로세스가 동시에 접근을 시도할 때, 타이밍이나 순서 등이 결과값에 영향을 줄 수 있는 상태공유 자원에 여러 프로세스가 동시에 접근할 때 자료의 일관성을 해치는 결과가 나타날 수 있다.커널 코드 실행 중에 인터럽트가 발생할 경우커널모드에서 데이터
정수값을 갖는 변수이며 자원의 개수를 의미한다 동기화 기법 중 추상적인 방법이며 여러 프로세스들에 의해 공유되는 변수로 정의된다. 이 변수는 오직 wait와 signal이라는 atomic한 연산에 의해서만 접근이 가능하다. 세마포어의 개수에 따라 counting sem
각 프로세스가 메모리 내의 연속된 단일 공간을 요청하고 사용하는 기법이며 과거의 운영체제에서 사용했다.프로세스가 100MB를 요구하면 연속된 100MB를 할당하는 것이 원칙이다.어느 순간에 작은 빈공간들이 메모리 전체에 띄엄띄엄 흩어져 있게 되는 단편화 현상이 발생하는
필요한 프로그램의 부분만 메모리에 적재하는 방법으로 가상 메모리 시스템에서 많이 사용된다.요구 페이징을 사용하는 가상메모리에서는 페이지들이 실행 과정에서 실제로 필요해질 때 적재된다.특정 페이지에 대해 CPU의 요청이 들어온 후에야 해당 페이지를 메모리에 적재하며, 한
CPU가 직접 접근할 수 있는 기억 장치프로그램이 실행되려면 해당 프로그램이 복사되어 메모리에 적재되어야 한다. (이 때 메모리에 적재된 프로그램을 프로세스라고 한다.)CPU는 연산을 수행한 후에 메인 메모리에 데이터를 저장하거나 필요한 데이터를 요구한다. RAM은 R
메모리 관리 장치(MMU) > 논리 주소를 물리 주소로 변환해주며 메모리 보호나 캐시 관리 등 CPU가 메모리에 접근하는 것을 총 관리해주는 하드웨어 메모리의 공간이 한정적이기 때문에, 사용자에게 더 많은 메모리를 제공하기 위해 가상 메모리라는 개념이 등장했다. 이