운영체제의 이해 #지은이 김용석 4

CPU 스케줄링

프로세스 큐와 큐잉 다이어그램프로세스 큐 : 운영체제는 프로세스들의 목록을 필요에 따라 적절한 방식으로 관리해야함.이들은 전통적으로 큐 (queue)의 이름으로 관리하는데, 큐는 First-Come First-Served (FCFS)의 의미를 가지지만 여기서는 단순히 프로세스들의 목록 또는 집합으로 간주.레디 큐 : 레디 큐는 프로세스들 중에서 Ready 상태의 프로세스들의 목록. 언제든 실행할 수 있는 상태로서 CPU에 의해 차례를 기다리고 있는 상태. picoKernel의 레디 큐에는 Ready 상태의 스레드 목록인 threadReadyList가 이에 해당.디바이스 큐 : 각 입출력 장치마다 하나씩 존재. 특정 입출력 장치에서 원하는 작업이 실행될 때까지 대기하는 프로세스들의 목록세마포/메일박스 : ..

운영체제 2023.09.17

프로세스 관리

프로세스가 실행되기 위해서는 일정한 메모리 영역을 확보하고, 여기에 프로세스가 실행해야 할 내용이 기록되어 있어야 함.하나의 프로세스가 차지하고 있는 메모리 영역은 크게 세 가지로 나누어 짐.메모리 상의 프로세스 구성코드 영역데이터 영역스택 영역 디스크 상의 실행 프로그램 파일 내용메모리 상의 프로세스 구성파일 헤더 (코드/데이터 섹션 정보) 코드 섹션(기계어 코드)코드 영역데이터 섹션(전역변수 등)데이터 영역 스택 영역 (메모리 영역만 확보, 스택 바닥부터 시작)  유닉스fork() 시스템 콜에 의해 새로운 프로세스 생성exec() 시스템 콜에 의해 실행 내용을 다른 프로그램으로 변경.  프로세스의 일생과 상태천이프로세스 상태Running : CPU에 의해 현재 실행되고 있는 상태Ready : 실행 가..

운영체제 2023.09.06

컴퓨터 구조와 어셈블리 언어

컴퓨터 시스템의 하드웨어 구성DMAC (Direct Memory Access Controller)디스크 제어기의 DMAC0x80000 읽기(1) 쓰기 (2)0x80001 디스크 블록 번호0x80002 메모리 주소0x80003 바이트 수 기록  프로세스 P2 :디스크의 200번 블록에서 1024 바이트를 읽어서 메모리의 0x5100 번지부터 채우라는 파일 요청운영체제 :mov $200, 0x80001디스크 블록 번호 레지스터에 200 기록mov $0x5100, 0x80002메모리 주소 레지스터에 0x5100 기록mov $1024, 0x80003크기 레지스터에 1024를 기록mov $1, 0x80000읽기를 표시하는 값 기록 프로세서의 프로그래밍 모델8086 프로세서마이크로프로세서 중의 하나  내부에는 범용..

운영체제 2023.09.06

운영체제의 기초

운영체제의 사용 멀티태스킹 운영체제 겉으로 보기에는 동시에 실행되고 있는 것처럼 보이지만, CPU는 하나이므로 적절한 시간 간격으로 돌아가면서 실행됨. 그러나 실행 작업들을 변경하는 것이 초당 수십번 이상의 빈도로 이루어져 계속 실행되는 것처럼 느껴지게 함. 프로세스(process) : 컴퓨터에서 실행되는 각 작업을 운영체제에서 칭하는 용어스케줄링(scheduling) : 특정 시점에 여러 개의 프로세스들 중에서 실행할 대상으로 어떤 것을 선택하는지 문맥교환(context switching) : CPU가 현재 실행하던 프로세스를 보류하고 스케줄링에 의해 선택된 프로세스를 실행하도록 변경하는 작업 멀티태스킹 (multi-tasking) 운영체제 : 여러 개의 프로세스들이 적절한 방법으로 돌아가며 독립 실행..

운영체제 2023.09.06