본문 바로가기

운영체제4

혼자 공부하는 운영체제 (4) - Scheduler 스케줄링 1. Scheduler 단기 스케줄러 ( short - term scheduler) 장기 스케줄러 ( long - term scheduler) 중기 스케줄러 ( medium - term scheduler) 1. 단기 스케줄러 - CPU 스케줄러라고 불리며 메모리에 ready queue 중 다음에 어떤 프로세스를 실행할 지에 대한 스케줄링을 한다. 2. 장기 스케줄러 - Job scheduler 라고 불린다. new 상태의 프로세스 중 어떤 프로세스를 admit 해서 ready queue 상태로 올릴지를 스케줄링 하는 역할을 한다. 예를 들어 10개의 프로세스를 수행해야 하는데 이 중에 메모리에는 6개 밖에 올릴 수 없는 상황이라면, 10개 중 6개를 선별해야 하는데 그 작업을 하는 schedul.. 2022. 10. 24.
혼자 공부하는 운영체제 (3) - 프로세스의 실행 프로세스의 실행 1. 프로그램의 실행 CPU가 어떤 프로그램을 실행시킬 때 가상공간(virtual space) 을 각 프로그램마다 구성한다. 이 가상공간에는 code, data, stack 가 저장되며 프로그램을 실행할 때 실제 메모리에 올리기 위해서는 Address translation 을 통해 필요한 부분만 physical memory 에 올리며 나머지는 swap area 에 위치한다. 2. 운영체제 커널 주소공간 1. code - code 에는 system call, interrupt 처리 관련 코드, 자원 관리 코드, 편리한 서비스를 제공하기 위한 코드 가 저장되어있다. 2. data - 각종 자료구조들이 저장되어 있으며, 각 프로세스 관리 자료구조인 프로세스 제어 블록 (Process Contr.. 2022. 10. 22.
혼자 공부하는 운영체제 (2) - 운영체제의 구조 운영체제의 구조 1. 컴퓨터의 구조 CPU Memory Disk I/O Device 1. CPU CPU 는 실제 Instruction (실행 해야하는 작업) 를 실행하는 주체로서, CPU Scheduling 을 통해 프로세스의 실행 순서를 정하여 평균적인 성능을 높이는 역할을 한다. 2. Memory Memory 는 한정된 자원을 가지고 최대한 효율적으로 사용할 수 있도록 메모리를 분배하여 메모리를 관리하는 역할을 한다. 3. Disk Disk 을 관리하는 역할을 한다. Disk Scheduling 을 통해 메모리의 움직임을 최소화 하여 빠른 처리를 할 수 있도록 한다. 4. I/O Device I/O Device 는 입출력을 관리하는 역할을 한다. I/O 작업은 Interrupt가 발생하면 처리하는 방.. 2022. 10. 18.
혼자 공부하는 운영체제 (1) - 운영체제란 무엇인가? 운영체제란 ? 1. 의미 운영체제는 하드웨어 바로 위의 소프트웨어 계층으로서 사용자 및 모든 다른 소프트웨어와 하드웨어를 연결하는 계층 을 의미한다. 운영체제는 사용자가 하드웨어를 직접 다루지 않고도 컴퓨터 시스템을 편하게 사용할 수 있도록 하드웨어를 다루는 복잡한 작업을 담당하며 자원관리자로서 모든 resource(프로세서, 기억장치, 입출력장치...)를 효율적으로 관리한다. '운영체제' 라는 단어는 협의의 운영체제 -> 커널을 의미하며 부팅 이후 메모리에 상주하는 부분을 말한다. (일반적으로 사용하는 운영체제의 의미) 광의의 운영체제 -> 커널과 주변시스템 유틸리티를 포함한 개념을 말한다. 2. 목적 자원을 효율적으로 관리 편리한 환경 제공 - 효율적인 자원 관리 * 주어진 자원에서 형평성을 지키며 .. 2022. 10. 13.