운영체제는 Interrupt DrivenInterrupt는 어디서 발생 ?→ 하드웨어나 소프트웨어 에서 발생된 인터럽트를 운영체제가 감지해서 처리하는 역할을 수행함 Interrupt하는 이유 ?Maxmization CPU use (CPU를 busy상태로 사용하기 위해)
프로세스란 ? 개념 : 프로세스는 실행중인 프로그램 프로세스 제어 블록(PCB) 운영체제는 프로세스를 관리하는데 사용한다. 각 프로세스 마다 갖고 있다. PCB에 들어 있는 것 PID Process Status >: 생성(create), 준비(ready),
현재 진행하고 있는 Task(Process, Thread)의 상태를 저장하고 다음 진행할 Task의 상태 값을 읽어 적용하는 과정을 말합니다.OS : Interrupt driven 프로세스 P0와 P1이 존재할 때, P0가 CPU를 점유중(excuting)이었고 P1이
쉽게 설명하면, 프로그램을 여러 개 키는 것보다 하나의 프로그램 안에서 여러 작업을 해결하는 것이다.개념 :두개 이상 다수의 프로세서(CPU)가 하나 이상의 작업(Task)를 동시에 처리하는 것( 병렬처리 )각 프로세스 간 메모리 구분이 필요하거나 독립된 주소 공간을
커널 영역에 생성됨⇒ 프로세스 생성시 만들어지고, 실행이 끝나면 폐기됨 ⇒ CPU 자원은 한정적임 동시 사용할 수 없고 한정된 시간 만큼 이용하고, 타이머 인터럽트 발생시 차례를 양보함 (운영체제는 인터럽트 기반)프로세스의 상태정보를 저장해 놓은 구조체프로세스를 관리할
개념 : 하나의 CPU가 한번에 하나의 프로세스만 실행하는 것이 아니라 여러 프로세스를 번갈아 가면서 실행하도록 하는 것을 의미한다.멀티 프로그래밍은 효율적인 자원 사용에 초점을 맞춘 것이다.한 프로그램이 입출력 작업등으로 대기상태 일때 CPU는 다른 프로그램을 실행해
한정적인 메모리를 여러 프로세스가 효율적으로 사용할 수 있도록 다음 실행 시간에 실행할 수 있는 프로세스 중에 하나를 선택하는 역할즉, 자원을 할당하는 작업그러면 스케쥴링은 왜 하는가 ?공정한 스케쥴처리량의 극대화, 응답시간 최소화(Maximize CPU use)균형있
동시다발적으로 실행되는 프로세스들은 공동의 목적으로 서로 협력하는데 프로세스들은 실행 순서와 자원의 일관성을 보장하기 위해 동기화를 함공유 데이터의 동시 접근(Concurrent access)은 데이터의 불일치 문제를 발생시킬 수 있다. 따라서, Race conditi
(가변분할방식 위주의 설명)프로세스 A는 A의 크기 만큼 메모리 주소를 할당 받아 연속적으로 배치되고, 프로세스 B는 A 이후에 B의 크기만큼 연속적인 메모리 주소를 할당받아 배치한다.이렇게 프로세스에 연속적인 메모리 공간을 할당하는 방식을 연속 메모리 할당이라고 한다
개념 : 실제 물리적 메모리(RAM)의 용량을 넘어서는 메모리 요구를 처리하기 위한 기법이다. 메모리 종류는 크게 2가지로 분류한다.물리적 메모리, 가상 메모리물리적 메모리주소 : 실제 메모리 상에 존재하는 주소를 의미한다.논리적 메모리주소 : 프로세스에 메모리가 할당
→ 가상 메모리를 관리하는 기법→ 가상메모리사용, 외부 단편화 해결, 내부 단편화 존재프로세스를 일정크기로 자르고, 이를 메모리에 불연속적으로 할당해서 외부단편화 문제를 해결함프로세스의 논리주소 공간을 페이지(page)라는 일정 단위로 자르고,메모리의 물리 주소 공간을
가상 메모리를 통해서 물리 메모리보다 큰 프로세스를 실행 할 수 있지만,그럼에도 물리 메모리의 크기는 한정되어있다.→ 기존에 적재된 불필요한 페이지를 선별해 보조기억장치로 내보내고, → 프로세스들에게 적절한 수의 프레임을 할당해야한다.처음부터 모든 페이즈를 적재하지 않
스택은 함수 호출시 전달되는 인자, 복귀 주소값 및 함수 내에서 선언하는 변수 등을 저장하기 위해 사용되는 메모리 공간.스택 메모리 공간이 독립적이라는 것은 독립적인 함수 호출이 가능함을 의미하고 이는 독립적인 실행 흐름이 추가된다는 것이다. 따라서 스레드의 정의에 따