본문 바로가기
728x90
반응형

Computer Science45

04. 스케줄링 알고리즘 스케줄링 알고리즘은 프로세스를 어떻게 실행시킬지 결정하는 방법이다. 시분할 시스템은 프로세스 응답 시간을 짧게, 멀티 프로그래밍은 CPU 활용도를 최대로 높혀서 프로세스를 빨리 실행하는 것이 목표이다. 각 알고리즘은 이와 같은 목표를 갖고 있다. 1. FIFO 스케쥴러 : 프로세스가 저장매체를 읽거나 프린팅을 할 때 쭉 CPU를 끝까지 사용한다. 가장 간단한 스케쥴러로 FCFS라고도 불린다. 다음과 같은 우선순위를 갖는 process가 있을 때 스케쥴링 알고리즘에 따라 작업 실행 순서는 다르다. 2. SJF 최단 작업 우선 스케쥴러 : 가장 프로세스 실행시간이 짧은 프로세스부터 먼저 실행을 시키는 알고리즘이다. 3. 우선순위 기반 스케쥴러 - 정적 우선순위 : 프로세스마다 우선순위를 미리 지정 - 동적 .. 2021. 7. 19.
03. 프로세스 스케쥴링 1. 배치 처리 시스템 컴퓨터 프로그램 실행 요청 순서에 따라 순차적으로 프로그램을 실행하는 방식으로 자료 구조형 중에 queue와 같다. 하지만, 먼저 실행하고 있는 프로그램의 실행 시간이 너무 긴 경우 뒤의 프로그램은 이전 프로그램 실행이 종료 될 때까지 기다려야 한다. 그리고, 노래를 들으며 문서를 작성하는 등의 동시 작업을 처리할 수 없고, 여러 사용자가 한 프로그램을 사용할 때 동시 처리가 안되는 점을 반영하기위해 시분할 시스템, 멀티 프로그래밍이 등장하게 된다. 2. 시분할 시스템 다중 사용자 지원을 위해 컴퓨터 응답 시간을 최소화한다. 3. 멀티 태스킹 단일 CPU에서 여러 응용 프로그램이 동시에 실행되는 것처럼 보이도록 하는 시스템이다. 4. 멀티 프로세싱 여러 cpu에서 하나의 프로그램을.. 2021. 7. 18.
02. 운영체제 구조 1. 운영체제의 역할 1 ) 응용 프로그램이 요청하는 메모리를 허가하고, 분배한다. 2 ) 응용 프로그램이 요청하는 CPU 시간을 제공한다. 3 ) 응용 프로그램이 요청하는 IO Devices 사용을 허가/제어한다. 운영체제는 사용자 인터페이스를 제공한다. * 쉘(shell) : 사용자가 운영체제 기능과 서비스를 조작할 수 있도록 인터페이스를 제공하는 프로그램(CLI, GUI) 운영체제는 응용 프로그램을 위해서도 인터페이스를 제공한다. * API (Application Programming Interface) : 요청서의 집합이라고 보면 좋음 * 보통은 라이브러리 형태로 제공한다. 2. 시스템콜 : 운영체제는 커널모드와 사용자모드로 나뉘어 구동되는데, 이 때 파일 읽기/쓰기/메세지 출력 등의 대부분을 커.. 2021. 7. 15.
01. 운영체제 역할과 응용 프로그램 1. 운영체제의 역할 1 ) 시스템 자원 관리자 (Operating System, OS) - 시스템 자원 = 컴퓨터 하드웨어이며 스스로 할 수 있는 것이 없다. - CPU(중앙처리장치), Memory - In/Out Devices(입출력장치) : monitor, mouse, keyboard, network - 저장매체 : SSD, HDD - 대표적 운영체제 : Windows OS, Mac OS, UNIX OS 2 ) 사용자와 컴퓨터간의 커뮤니케이션 지원 3 ) 컴퓨터 하드웨어와 프로그램 제어 운영체제는 저장매체(SSD/HDD)에 저장이 된다. 2. 응용 프로그램 - 프로그램 = 소프트웨어 = 운영체제, 응용 프로그램 = Application, App 3. 운영체제와 응용 프로그램의 관계 - 운영체제는 응.. 2021. 6. 21.
00. 운영체제 History 1950년대 - ENIAC : 운영체제가 없기 때문에 응용 프로그램이 직접 시스템 자원을 제어하였다. 1960년대 초기 - 프로그램 A(예상 실행 시간 12시간), 프로그램 B(예상 실행 시간 1분) 일 때 A --> B를 실행하고자 하면 A가 무조건 끝난 뒤에 B를 실행시킬 수 있었다. 시스템에 A와 B를 실행할 것이라고 입력해두면 시스템이 자동으로 실행하도록 하는데 배치 처리 시스템(Batch Processing system) 이라고 한다. 이를 기반으로 운영체제가 출현하게 된다. 1960년대 후반 응용 프로그램이 CPU 를 사용하는 시간을 쪼개서 여러개의 응용 프로그램을 동시에 실행하는 새로운 개념이 제안되었다. 1 ) 시분할 시스템(Time Sharing System) : 다중 사용자를 지원하고 .. 2021. 6. 6.
728x90
반응형