728x90
반응형
728x90
반응형
출처 : https://www.youtube.com/watch?v=_gNeoGQx-Tc&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN&index=8 다중 프로그래밍(Multi-programming) 여러개의 프로세스가 시스템 내 존재 자원을 할당 할 프로세스를 선택 해야 함 스케줄링(Scheduling) 자원 관리 방법은 2가지가 있다. 시간 분할(time sharing) 관리 하나의 자원을 여러 스레드들이 번갈아 가며 사용 ex) 프로세서 (Processor) 프로세스 스케줄링 (Process scheduling) 프로세서 사용시간을 프로세스들에게 분배 공간 분할 (space sharing) 관리 하나의 자원을 분할하여 동시에 사용 ex) 메모리 스케줄링(Scheduling)의..
출처 : https://www.youtube.com/watch?v=YlnvCIZQDkw&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN&index=7 프로세스(Process)와 스레드(Thread) 프로세스가 하는 일은 자원을 할당 받고, 할당받은 자원을 제어해서 작업(목적)을 수행(달성)하는 것이다. 즉, 프로세스는 자원과 제어라는 2가지 요소로 나뉜다. 이 중, 제어하는 부분을 스레드라고 한다. 하나의 프로세스가 여러 자원을 할당받을 수 있다.(하나의 프로세스 안에 여러 자원을 제어하는 여러 개의 스레드가 있을 수 있다.) 위 그림에서 오른쪽이 리소스, 왼쪽이 제어(스레드) 이다. 스레드는 제어 정보와 지역 데이터, 스택 등으로 이루어져있고, 하나의 프로세스 안에 여러 개의 스..
출처 : https://www.youtube.com/watch?v=MJTr37lgaMA&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN&index=6 인터럽트(Interrupt) 예상치 못한, 외부에서 발생한 이벤트 Unexpected, external events 인터럽트의 종류 I/O interrupt Clock interrupt Console interrupt Program check interrupt Machine check interrupt Inter-process interrupt System call interrupt 인터럽트 처리 과정 인터럽트가 발생하면 커널이 개입해서 내가 작업중이던 프로세스를 중단시킨다. 발생한 인터럽트를 처리한다(Interrupt handlin..
출처 : https://www.youtube.com/watch?v=jZuTw2tRT7w&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN&index=5 작업(Job) / 프로그램 (Program) 작업 : 우리가 만든 혹은 실행 할 프로그램과 데이터의 묶음 디스크에 저장만 되어있고, 컴퓨터 시스템에 실행 요청 전의 상태 프로세스(Process) 실행을 위해 시스템(커널)에 등록된 작업 시스템 성능 향상을 위해 커널에 의해 관리 됨 작업(Job)은 프로그램과 데이터의 묶음으로 존재하고 디스크에 저장되어있다. 이 작업을 실행하기 위해 시스템에게 요청 메시지를 전송한다. 이 작업이 시스템에 등록된 상태를 프로세스(Process)라고 한다. 즉, 디스크에 있는 프로그램은 작업, 시스템에 등..
출처 : https://www.youtube.com/watch?v=knF9lzHA3LI&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN&index=4 운영체제의 구조는 2가지로 구성되어있다. 커널(Kernel : 알맹이, 핵심) OS의 핵심 부분 (메모리 상주 : 계속 빈번하게 사용되므로 메모리에 상주되어있음) 가장 빈번하게 사용되는 기능들을 담당 시스템 관리 (프로세서, 메모리, 등) 등 동의어 핵(neucleus), 관리자(supervisor) 프로그램, 상주 프로그램(resident program), 제어 프로그램(control program) 등 유틸리티(Utility) : 운영체제에서 커널을 제외한 부분 비상주 프로그램 UI 등 서비스 프로그램 운영체제의 구조는 위 그림과..
출처 : https://www.youtube.com/watch?v=hzXVQIlSSos&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN&index=3 맨 처음 컴퓨터가 등장했을 때에는 운영체제라는 개념 자체가 존재하지 않았다. 그로인해, 사용자가 기계어로 직접 프로그램을 작성하고, 하드웨어 관리를 직접 관리해야 했다. 또한, 실행하는 작업을 순차적으로 처리하여야 하기 때문에 각 작업에 대한 준비 시간(오버 헤드)가 컸다. 각각의 작업에 대한 준비 시간을 줄이기 위해 등장한 것이 Batch System(일괄처리 시스템)이다. 예를 들어 작업에 종류가 C언어 파일, JAVA파일, Python 파일들이 있다고 했을 때, C언어 파일이 100개가 모이면 한번에 작업하고 그 다음에 Java..