본문 바로가기

CS34

[운영체제 OS] Process Scheduler Process Scheduling Queues 프로세스를 스케줄링 하기 위한 3가지 큐가 존재한다. Job Queue - 모든 프로세스 저장하는 큐 Ready Queue - 실행 가능한 프로세스들이 CPU에 자원할당 받기 위해 기다리는 큐 Device Queue - I/O 장치에서 작업 처리하는 동안 프로세스들이 대기하는 큐 Long-term Scheduler (New -> Ready) 메모리는 한정되어 있는데 많은 프로세스들이 한꺼번에 메모리에 올라올 경우, 대용량 메모리(일반적으로 디스크)에 임시로 저장된다. 이 pool 에 저장되어 있는 프로세스 중 어떤 프로세스에 메모리를 할당하여 ready queue 로 보낼지 결정하는 역할을 한다. Time-sharing을 사용하는 현 컴퓨터에서는 사용하지 않.. 2021. 8. 18.
[운영체제 OS] Process / PCB / Context Switch Process란? 실행중인 프로그램으로 스케줄링의 기본 단위이다. 프로세스가 실행되기 위해서는 메모리 공간에 올라가 있어야하는데, 그 공간을 Process Address Space라고 한다. 프로세스의 주소공간 (Process Address Space) Stack - 함수 호출시 지역변수와 매개변수를 저장하며, 함수 종료시 사라짐 Heap - 동적으로 메모리 할당시에 사용하며 메모리 할당 해제 전까지 사라지지 않음 Static data - 정적 데이터를 저장하는 곳으로 한번 저장하면 바뀌지 않고 프로그램 종료시 사라짐 Code - 기계어 저장 프로세스 2가지 구분 a. CPU-bound process - I/O burst < CPU burst 로 주로 연산위주의 프로세스를 의미 (ex : 기상청, 슈퍼컴.. 2021. 8. 18.
[운영체제 OS] System Call System Call이란? 운영체제에서 실행될 동작을 사용자 프로세스가 요청할 수 있게 해주는 것으로, 사용자 모드에서 커널 모드로 진입하게 해주는 함수같은 개념이다. 그렇다면, 사용자 모드와 커널 모드는 무엇인가? 운영체제는 자원 보호(Protection) 목적으로 Dual-Mode Operation을 한다. 즉, 사용자 모드(User mode)와 커널 모드(Kernel mode) 2가지로 나누어 관리한다. 사용자 모드 말 그대로 우리가 사용하는 것으로, 프로세스 실행 등 간단한 명령은 할 수 있다. 하지만, I/O나 Memory와 같은 프로그램의 자원 접근이나 어떠한 특권을 가지는 명령어 사용에는 제한이 있다. 커널 모드 사용자 모드와 달리 모든 자원에 접근 및 명령어 사용이 가능하다. 컴퓨터 내부의.. 2021. 8. 18.
[운영체제 OS] Introduction 운영체제(Operating System)란 무엇인가? 운영체제란 소프트웨어와 하드웨어(CPU, I/O Device, SSD, HDD 등)간에 자원을 효율적으로 관리하여 사용자에게 편리한 환경을 제공하는 프로그램들을 말한다. 자원 할당자(Resource manager)라고도 불린다. 운영체제는 아래의 5가지 핵심을 따른다. Abstraction : 중요한 부분 통합하여 하나로 제조 Sharing : 한정된 자원을 효율적으로 사용 Protection : 어떠한 문서를 비사용자가 접근/수정 하는것으로 부터 방지 Fairness : 특정 자원을 누군가 계속 소유하는걸 방지 Performance : 항상 최고의 성능을 우선시하여 자원 관리 운영체제의 2가지 구분 운영체제는 커널의 구조와 형태에 따라 2가지로 구분.. 2021. 8. 18.