정의하드웨어를 관리하고, 응용 프로그램과 하드웨어 사이에서 인터페이스 역할을 하며 시스템의 동작을 제어하는 시스템 소프트웨어이다.시스템의 자원과 동작을 관리하는 소프트웨어운영체제를 큰 틀로 나눠보자프로세스, 스레드스케줄링동기화 IPC 통신운영체제에서 작동하는 응용 프로
정의프로그램을 실행하는 도중에 예기치 않은 상황이 발생할 경우 현재 실행 중인 작업을 즉시 중단하고, 발생된 상황에 대한 우선 처리가 필요함을 CPU에게 알리는것지금 수행중인 일보다 더 중요한 일(ex. 입출력, 우선 순위 연산 등)이 발생하면, 그 일을 먼저 처리하고
정의Programming Interface to the services provided by the OS 프로세스와 OS 사이의 인터페이스Mostly accessed by programs via high level Application Programming Inter
정의실행중인 프로그램 (Program in execution)동작을 하는 능동적 개체 (Active)프로그램 : 동작을 하지 않는 정적, 수동적 개체 (Passive)프로세서 : 하드웨어적인 측면에서 "컴퓨터 내에서 프로그램을 수행하는 하드웨어 유닛" 이다. 구성Te
부모 프로세스가 연산을 통해 자식 프로세스를 트리구조로 생성합니다.생성된 자식 프로세스 또한 부모 프로세스가 되어 새로운 자식 프로세스를 생성할 수 있습니다.각 프로세스를 각각 식별하고 관리하고 위하여 고유의 PID(Process Identifier) 를 가지게 됩니
정의프로세스는 독립적으로 실행된다. 즉, 독립 되어있다는 것은 다른 프로세스에게 영향을 받지 않는다고 말할 수 있다.이런 독립적 구조를 가진 프로세스 간의 통신 을 해야 하는 상황이 있을 것이다. 이를 가능하도록 해주는 것이 바로 IPC 통신 이다.프로세스 간의 통신이
정의프로세스 내에서 실제로 작업을 수행하는 주체를 의미합니다.프로그램(프로세스)의 실행의 단위모든 프로세스에는 한 개 이상의 스레드가 존재하여 작업을 수행합니다.스레드는 독립적인 작업 수행을 위해 각자의 스텍과 PC 레지스터 값을 갖고 있다.스택을 독립적으로 할당하는
정의프로세스가 자원을 얻지 못해서 다음 처리를 하지 못하는 상태'교착 상태'라고도 부름시스템적으로 한정된 자원을 여러 곳에서 사용하려고 할 때 방생Dead Lock이 일어나는 경우프로세스1과 2가 자원 1,2를 모두 얻어야 한다고 가정해보자Thread1 : 첫번째 mu
정의공유 자원에 대해 여러 프로세스가 동시에 접근할 때, 결과값에 영향을 줄 수 있는 상태동시 접근 시 자료의 일관성을 해치는 결과가 나타남방생하는 경우커널 작업을 수행하는 중에 인터럽트 발생문제점 : 커널모드에서 데이터를 로드하여 작업을 수행하다가 인터럽트가 발생하여
Peterson (피터슨) 알고리즘 정의 2 프로세스의 동기화 문제에 대한 해결책 현재 컴퓨터 구조에 대해서는 동작하지 않지만, 좋은 구조를 가지고 있다. 용어 load, store : 해당 지시어들은 atomic 이다. (can not be interrupted)
Semaphore는 실제로 매우 오래된 동기화 도구이다. 현재는 monitor라는 동기화 도구를 주로 사용한다.특징동기화 도구로서 편리하고 효율적인 기능을 제공하는 높은 수준의 추상화된 데이터 형태이다.공유 자원에 접근하기 위한 키 획득과 자원 사용 후 해제를 모두 모
정의메인 메모리는 CPU가 직접 접근할 수 있는 기억장치프로세스가 실행되려면, 프로그램이 메모리에 올라와야 함메인 메모리는 주소가 할당된 일련의 바이트들로 구성되어 있다.Memory Protection (보호)오직 1개의 프로세스만이 메모리의 특정 주소(위치)에 접근하
NonContiguous allocation하나의 프로세스가 메모리의 여러 영역에 분산되어 올라갈 수 있음기법 : Paging, Segmentation정의프로세스의 virtual 메모리를 동일한 사이즈의 page로 나누어 physical 메모리에 불연속적으로 배치(저장
NonContiguous allocation하나의 프로세스가 메모리의 여러 영역에 분산되어 올라갈 수 있음기법 : Paging, SegmentationPaging 기법은 Logical Address를 Page단위로, Physical Address를 같은 크기의 Fram
이전까지의 메모리 관리에서는 하나의 프로그램 전체를 실제 메모리에 올리는 방식을 사용했으나, 가상 메모리를 사용한다면 당장 실행에 필요한 부분만 실제 메모리에 올려서 실행하게 됩니다.정의프로그램 전체가 아닌 필요한 일부분만 실제 메모리에 올리는 기법장점프로그램은 더 이
정의실제 메모리에 Free Frame이 존재하지 않을 시 해결책실제 메모리에 있는 Frame을 지금 당장 실행해야 할 Page에게 넘겨줄 Victim Frame을 찾는 과정입니다.가장 오래된 Frame을 Victim Frame으로 지정합니다.실제 메모리에 올라온 지 (
정의Demand Paging에서는 프로세스가 당장 수행해야 할 부분에 대해서 최소한의 Frame만을 할당하게 됩니다.프로세스에게 Frame을 할당해주는 여러가지 방법들이 존재합니다.Fixed Allocation프로세스에게 고정된 양의 Frame을 할당해줍니다.Equal
I/O 장치의 종류Storage (저장장치) : SSD, HDD, DVD-ROMTransmission (전송장치) : 네트워크 카드, 모뎀Human-Interface (사용자 인터페이스 장치) : 모니터, 키보드, 마우스I/O 장치와 컴퓨터 시스템 사이의 통신Port
정의논리적인 저장 단위로, 관련된 정보 자료들의 집합에 이름을 붙인 것이다.일반적으로 레코드(Record) 혹은 블록(Block)단위로 비휘발성 보조기억장치에 저장된다.구조MetaData : 데이터 영역에 기록된 파일의 이름, 위치, 크기, 시간정보, 삭제유무 등의 파
Process VS Thread 프로세스는 메모리 상에서 실행중인 프로그램을 말하며, 스레드는 이 프로세스 안에서 실행되는 흐름 단위를 말한다. 프로세스마다 최소 하나의 스레드를 보유하고 있으며, 각각 별도의 주소공간을 독립적으로 할당받는다. 스레드는 Stack만