OS

프로세스와 컨텍스트 스위칭/다시 PC, SP에 주목하자- PC(Program Counter) + SP(Stack Pointer)/ Stack, Heap, Data(Bss,Data), Text(CODE) PCB=>PC,SP는 어디에 저장하나?PCB (Process Control Block)에 저장!*Process Context Block 이라고도함1. ProcessID2. Register 값 (PC, SP등)3. SCheduling Info (Process State)4. Memory Info (메모리 사이즈 limit)PCB : 프로세스가 실행중인 상태를 캡텨/구조화 해서 저장
2019년 01월 02일 인터럽트 처리 예 - CPU가 프로그램을 실행하고 있을때.- 입출력 하드웨어 등의 장치 이슈 발생->파일 처리가 끝났다는 것을 운영체제에 알려주기->운영체제는 해당 프로세스를 block state에서 실행대기 상태로 프로세스 상태 변경하기- 또는 예외 상황이 발생-> 0으로 나누는 계산이 발생해서, 예외 발생을 운영체제에 알려주기-> 운영체제가 해당 프로세스 실행중 중지/에러 표시 이벤트와 인터럽트>인터럽트는 일종의 이벤트라고 불림>이벤트에 맞게 운영체제가 처리 주요 인터럽트 (Interrupt)1. 계산하는 코드에서 0으로 나누는 코드 실행시 (Didvide-by-Zero Interrupt)123456789101112131415#include int main(){ printf(..
2019년 01월 01일 스케줄러 구분 ( 정책, policy 라고도 함 ) - FIFO(FCFS), SJF, Priority-based 는 어떤 프로세스를 먼저 실행 시킬지에 대한 알고리즘 + (비선점형 스케줄링에 가까움)- RoundRobin 은 시분할 시스템을 위한 기본 알고리즘 + (선점형 스케줄러) 여러 알고리즘을 조합하여 스케줄러를 만든다ex) 1. 시분활 시스템 2. 프로세스 상태 고려 3. 정적 우선 순위 기반 4. 선점형 * 가볍게 듣기렉?: 마우스/ 키보드 반응이 느린 경우?>스케줄러가 해결해야하는 이슈!>다양하고 복잡한 스케쥴링 알고리즘 필요- 리눅스 스케쥴러: O(1), CFS (스케줄링 알고리즘 이름)와 같이 다양한 방식으로 변경 시도 중-인터렉티브,IO,CPU 중심 프로세스로 미..
2018년 12월 21일 * Cpu IDLE 상태 - idle : 게으른 - Cpu가 스케줄링 중간에 아무 프로세스도 처리 하지 않고 쉬는 상태 저번 시간에 애기했던 상태만으로 어떤 프로세스를 선택해서 상태를 바꿔줘야되는 모르기 때문에 다른 무언가 필요하다고 했었다.각 상태 별로 큐를 만들어 준다Ready State Queue, Running State Queue, Block State Queue를 만들어서 FIFO (선입선출)을 이용하여 프로세들은 나름 균등하게 실행시킨다.이것이 프로세스 상태기반 스케줄링 알고리즘의 가장 기본적인 내용이다.
2018년 12월 21일 멀티 프로그래밍과 Wait > 멀티 프로그래밍 : CPU 활용도를 극대화 하는 스케줄링 알고리즘> Wait : 간단히 저장매체로부터 파일 읽기를 기다리는 시간으로 가정+ 일정 프로세스가 CPU에 넣어지고나서 기다리는 시간Program A |Run| | | |Run| | | |Program B | |Run| | | |Run| | |Program C | | |Run| | | |Run| |Combined |Run|Run|Run| |Run|Run|Run| |*빈칸은 wait--> 이렇게 하기 위해서는 어떤 특정 시점에 어떤 프로세스를 실행시킬지 판단해야함 그 요소 중 하나가 프로세스 상태(Process Status)이다. 프로세스 상태 (Process Status)출처:https://z..
_으량_
'OS' 태그의 글 목록