Computer Science/🔒 Operating System 11

[운영체제/Operating System] CPU 스케줄링

"KOCW - 반효경 교수님의 운영체제" 를 듣고 정리한 내용입니다. CPU Scheduling CPU-burst Time의 분포 (사진 출처 - 티스토리) 여러 종류의 job (process)이 섞여있어 CPU 스케줄링이 필요하다. CPU와 I/O 장치 등 시스템 자원을 골고루 사용해야 한다. 프로세스의 특성 분류 I/O bound process many short CPU bursts 주로 사람과 interaction하는 프로세스 I/O 개입이 많아 CPU burst가 짧은 경우 CPU bound process few very long CPU bursts 계산 위주의 프로세스 ex) 10,000 by 10,000 행렬의 곱셈 연산 I/O 개입이 적어 CPU burst가 긴 경우 CPU scheduler..

[운영체제/OS] 프로세스 관련 system call

"KOCW - 반효경 교수님의 운영체제" 를 듣고 정리한 내용입니다. Process Management 프로세스 생성 (Process Creation) 부모 프로세스가 자식 프로세스 복제 생성 (모든 문맥) 프로세스의 계층 구조 형성 COW (Copy-on-Write) 사실 자식 프로세스가 생성될 때 바로 복제하는 것이 아니다. 부모 프로세스의 것을 공유하고 있다가 내용이 바뀌었을 때, 즉 write 시 복제한다. 프로세스는 자원을 필요로 함 운영체제로부터 받거나 부모와 공유 자원의 공유 부모와 자식이 모든 자원을 공유하는 모델 일부를 공유하는 모델 전혀 공유하지 않는 모델 수행 (Execution) 부모와 자식이 공존하며 수행되는 모델 자식이 종료될 때까지 부모가 기다리는(wait) 모델 주소 공간 (..

[운영체제/OS] 프로세스

"KOCW - 반효경 교수님의 운영체제" 를 듣고 정리한 내용입니다. Process 프로세스의 개념 Process is a program in execution 프로세스의 문맥 (context) 특정 시점을 놓고 봤을 때 CPU 수행 상태를 나타내기 위해 필요한 모든 요소들 CPU 수행 상태를 나타내는 하드웨어 문맥 PC (Program Counter) 각종 register 프로세스의 주소 공간 code, data, stack 프로세스 관련 커널 자료구조 PCB (Process Control Block) kernel stack 프로세스의 상태 (Process State) CPU는 하나밖에 없기 때문에 프로세스는 상태를 변경하며 수행된다. (사진 출처 - 블로그) Running : CPU를 잡고 instr..

[운영체제/OS] 컴퓨터 시스템 구조와 프로그램 실행

"KOCW - 반효경 교수님의 운영체제" 를 듣고 정리한 내용입니다. System Structure & Program Execution 컴퓨터 시스템 구조 (사진 출처 - KOCW 운영체제 강의) CPU는 평생 메모리에 접근하여 명령어를 실행하는 일만 한다. 명령어 하나를 처리하면 Program Counter를 1 증가시켜 다음 명령어를 실행한다. Mode bit 사용자 모드 (1) : 사용자 프로그램 수행 커널 모드 (0) : OS 코드 수행 운영체제가 CPU를 갖고 있으므로 모든 명령어 수행 가능 (메모리 접근, I/O 접근 등) interrupt 나 exception 발생 시 하드웨어가 mode bit을 0으로 바꾼다. 운영체제에서 사용자 프로그램으로 CPU를 다시 넘길 때에는 mode bit을 1..

[운영체제/OS] 운영체제란 무엇인가

"KOCW - 반효경 교수님의 운영체제" 를 듣고 정리한 내용입니다. Introduction to Operating System 운영체제란 ? (사진 출처 - 벨로그) 하드웨어 바로 위에 설치되어 사용자 및 다른 소프트웨어와 하드웨어를 연결하는 계층 좁은 의미의 운영체제 : 커널, 부팅 후 항상 메모리에 상주하는 부분 넓은 의미의 운영체제 : 커널 + 각종 시스템 유틸리티 포함 운영체제의 목적 컴퓨터 시스템 자원을 효율적으로 관리 시스템 자원은 CPU, memory, I/O 장치 등의 하드웨어 자원 과 프로세스, 파일, 메시지 등의 소프트웨어 자원 이 있다. 운영체제는 주어진 자원으로 최대한의 성능을 내도록 한다. 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공 사용자로 하여금 프로그램들이 각각 독..