일반적으로 하드웨어를 관리하고, 응용 프로그램과 하드웨어 사이에서 인터페이스 역할을 하며 시스템의 동작을 제어하는 시스템 소프트웨어로 정의한다.운영체제는 시스템의 자원과 동작을 관리하는 소프트웨어다.프로세스, 스레드스케줄링동기화IPC 통신운영체제에서 작동하는 응용 프로
어떤 작업을 위해 실행할 수 있는 명령어의 집합저장 장치에 저장돼있지만 메모리에는 올라가있지 않은 정적인 상태운영체제로부터 자원을 할당받은 작업의 단위실행되고 있는 동적인 상태의 프로그램프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위프로세스의 특정한 수행 경로기본
프로그램이 CPU에 의해 실행된다는 뜻은 프로세스가 생성되고 메모리에 프로세스 주소 공간이 할달됨을 의미합니다.프로세스 주소 공간에는 코드, 데이터, 스택으로 이루어져 있다.코드 Segment : 프로그램 소스 코드 저장데이터 Segment : 전역 변수 저장스택 Se
프로그램을 실행하는 도중에 예기치 않은 상황이 발생할 경우 현재 실행 중인 작업을 죽시 중단하고, 발생된 상황에 대한 우선 처리가 필요함을 CPU에게 알리는 것지금 수행 중인 일보다 더 중요한 일(ex. 입출력, 우선 순위 연상 등)이 발생하면 그 일을 먼저 처리하고
CPU의 프로세스가 여러개일 때, CPU 스케줄링을 통해 관리하는 것을 말함이때, CPU는 각 프로세스들이 누군지 알아야 관리가 가능함프로세스들의 특징을 갖고있는 것이 바로 Process MetadataProcess IDProcess StateProcess Priori
CPU가 이전의 프로세스 상태를 PCB에 보관하고, 또 다른 프로세스의 정보를 PCB에 읽어 레지스터에 적재하는 과정보통 인터럽트가 발생하거나, 실행 중인 CPU 사용 허가시간을 모두 소모하거나, 입출력을 위해 대기해야 하는 경우에 Context Switching이 발
프로세스는 독립적으로 실행된다. 즉, 독립되어 있는 다른 프로세스간에 통신을 해야하는 상황이 있을 시 이를 가능하도록 해주는 것이 바로 IPC 통신이다.프로세스 커널이 제공하는 IPC 설비를 이용해 프로세스간 통신을 할 수 있게 된다.커널운영체제의 핵심적인 부분으로,
CPU를 잘 사용하기 위해 프로세스를 잘 배정하기조건 : 오버헤드 ↓ / 사용률 ↑ / 기아 현상 ↓목표 :Batch System: 가능하면 많은 일을 수행. 시간(time) 보단 처리량 (throughout)이 중요Interactive System: 빠른 응답 시간.
프로세스가 자원을 얻지 못해서 다음 처리를 하지 못하는 상태로 시스템 적으로 한정된 자원을 여러 곳에서 사용하려고 할때 발생프로세스1과 2가 자원1,2를 모두 얻어야 한다고 가정해보자t1 : 프로세스1이 자원1을 얻음 / 프로세스2가 자원2를 얻음t2 : 프로세스1은
공유된 자원에 여러 프로세스가 동시에 접근하면서 문제가 발생할 수 있다. 이때 공유된 자원의 데이터는 한 번에 하나의 프로세스만 접근할 수 있도록 제한을 둬야 한다.이를 위해 나온 것이 바로 '세마포어'Dijkstra가 제안한 방법으로 상호 배제의 원리를 보장하는 알고
다중 프로그래밍 시스템에 여러 프로세스를 수용하기 위해 주기억장치를 동적 분할하는 메모리 관리 작업이 필요하기 때문연속 메모리 관리프로그램 전체가 하나의 커다란 공간에 연속적으로 할당되어야 함고정 분할 기법 : 주기억장치가 고정된 파티션으로 분할(내부 단편화 발생)동적
페이지 부재 발생 -> 새로운 페이지를 할당해야 함 -> 현재 할당된 페이즈 중 어떤 것 교체할 지 결정하는 방법가상 메모리는 요구 페이지 기법을 통해 필요한 페이지만 메모리에 적재하고 사용하지 않는 부분은 그대로 둔다.하지만 필요한 페이지만 올려도 메모리는 결국 가득