본문 바로가기
728x90

CS/Operating System9

[OS]CPU 스케줄링 알고리즘 스케줄링 알고리즘 종류 비선점형 알고리즘 : FCFS 스케줄링, SJF 스케줄링, HRN 스케줄링 선점형 알고리즘 : 라운드 로빈 스케줄링, SRT 스케줄링, 다단계 큐 스케줄링, 다단계 피드백 큐 스케줄링 둘 다 가능 : 우선순위 스케줄링 스케줄링 알고리즘 평가 기준 CPU 사용률 : 전체 시스템 동작 시간 중 CPU가 사용된 시간을 측정하는 방법 처리량 : 단위 시간당 작업을 마친 프로세스의 수, 클수록 좋음 대기 시간 : 작업을 요청한 프로세스가 작업을 시작하기 전까지 대기하는 시간, 짧을 수록 좋음 응답 시간 : 프로세스 시작 후 첫 번째 출력/반응이 나올 때까지 걸리는 시간, 짧을 수록 좋음 반환 시간 : 프로세스가 생성된 후 종료되어 사용하던 자원을 모두 반환하는 데 걸리는 시간, 대기 시간 .. 2021. 12. 2.
[OS] CPU 스케줄링 CPU 스케줄링 CPU 스케줄러 : 프로세스가 생성된 후 종료될 때까지 모든 상태 변화를 조정하는 일을 함 스케줄링 : 여러 프로세스의 상황을 고려하여 CPU와 시스템 자원을 어떻게 배정할지 결정하는 일 스케줄링의 단계 - 고수준 스케줄링 고수준(high level), 장기(long-term), 작업(job), 승인(admission) 스케줄링 가장 큰 틀에서 이루어지는 CPU 스케줄링 전체 작업의 수를 조절 (작업 : 일의 가장 큰 단위, 1개 또는 여러 개의 프로세스로 이루어짐) 시스템 내에서 동시에 실행 가능한 프로세스의 총 개수 결정 - 저수준 스케줄링 저수준(low level), 단기(short-term) 스케줄링 가장 작은 단위의 스케줄링 어떤 프로세스에 CPU를 할당할지, 어떤 프로세스를 대.. 2021. 12. 2.
[OS] 스레드 프로세스와 스레드 프로세스 스레드 운영체제 입장에서 작업 단위 CPU 입장에서 작업 단위 서로 독립적 프로세스A가 비정상 종료되어도 프로세스B는 정상 작동 서로 강하게 연결 프로세스가 종료되면 프로세스 내의 스레드도 강제종료 데이터를 주고 받을 때, 프로세스 간 통신(IPC) 이용 변수, 파일을 공유하고 전역 변수나 함수 호출을 통해 통신 스레드 CPU 스케줄러가 CPU에 전달하는 일 하나 하나의 프로세스에는 여러 개의 스래드가 존재할 수 있음 - 관련 용어 멀티 스레드 : 프로세스 내 작업을 여러 개의 스레드로 분할함으로써 작업의 부담을 줄이는 프로세스 운영 기법 멀티 태스킹 : 운영체제가 CPU에 작업을 줄 때 시간을 잘게 나누어 배분하는 기법 (시분할 시스템) 멀티 프로세싱 : CPU를 여러 개 사.. 2021. 11. 2.
[OS] 프로세스 프로그램 vs 프로세스 - 프로그램 저장장치에 저장되어 있는 정적인 상태 - 프로세스 실행을 위해 메모리에 올라온 동적인 상태 프로그램으로 작성된 작업 절차를 실행에 옮김 하나의 작업 단위 (=태스크, task) - 프로그램에서 프로세스로 전환 프로그램이 운영체제로부터 프로세스 제어 블록 (PCB, Process Control Block)을 받으면 프로세스가 됨 프로세스 = 프로그램 + 프로세스 제어 블록 프로세스 상태 - 생성 상태 (create status) 프로그램이 메모리에 올라오고 운영체제로부터 프로세스 제어 블록 할당받은 상태 메모리 할당, 프로세스 제어 블록 생성 - 준비 상태 (ready status) 프로세스가 CPU를 얻을 때까지 기다리는 상태 프로세스 제어 블록은 준비 큐 (ready.. 2021. 11. 2.
728x90