Limetime's TimeLine
반응형
article thumbnail
[Operating System 8th] 9. 단일처리기 스케쥴링
System/OS 2025. 3. 10. 23:43

처리기 스케쥴링의 유형스케쥴링의 정의 : 어떤 목적을 위해 시스템 자원을 프로세스에게 할당하는 것목적 : 응답시간 낮추기, 처리량 향상, 효율성 증대자원 : 시스템, 실 메모리, 처리기, I/O 장치스케쥴링은 3단계로 나눌 수 있음장기 스케쥴링 : 프로세스에게 실행될 수 있는 자격을 부여할지 여부 결정중기 스케쥴링 : 프로세스 이미지를 주기억장치에 적재할 것인지를 결정단기 스케쥴링 : 처리기에 의해 실행될 다음의 프로세스를 결정⇒ 스케쥴러가 수행되는 기간스케쥴링과 프로세스 상태 전이의 관계장기 스케쥴링새로운 프로세스의 시스템 진입 허용 여부를 결정다중 프로그래밍의 정도를 제어하는 역할장기 스케쥴러가 실행되는 시점일괄처리 작업의 진입 : 생성⇒준비/보류대화형 작업의 로그인 : 생성⇒준비장기 스케쥴러의 결정..

article thumbnail
[Operating System 8th] 8-2. 가상메모리 - OS Software
System/OS 2025. 3. 7. 23:10

OS의 메모리 관리 부분 설계 시 3가지 기본적인 선택 영역가상 메모리 기술을 사용할지 여부페이징, 세그먼테이션 혹은 세그먼테이션/페이징 결합의 사용 여부⇒ 모두 H/W 플랫폼에 의존메모리 관리와 관련된 알고리즘 선택 ⇒ OS 영역(S/W)가상 메모리를 위한 OS 정책의 설계 이슈는 성능 ⇒ 가상 메모리의 성능은 Page Fault 발생과 관련어떤 페이지를 교체할 것인지 결정페이지를 Swap-out, Swap-in하기 위한 I/O 발생I/O가 진행될 동안 스케쥴링 발생프로세스 교환반입 정책 (Fetch Policy)⇒ 각 페이지를 언제 실 메모리로 적재할지 결정하는 정책요구 페이징 (Demanding Policy)해당 페이지에 포함된 하나의 논리 주소가 참조되었을 때 적재함프로세스 수행 시작 초기에 많은..

article thumbnail
[Operating System 8th] 8-1. 가상메모리 - 메모리 관리
System/OS 2025. 3. 6. 22:36

가상 메모리(VRAM) : 보조기억장치를 주기억장치처럼 주소지정이 가능하게 만든 저장 공간 할당 체제가상 주소 : 가상 메모리의 특정 위치에 배정된 주소 → VRAM에 배정된 주소가상 주소 공간 : 특정 프로세스에 할당된 가상 주소의 영역 → VRAM의 크기주소 공간 : 특정 프로세스에 가용한 주기억장치 주소(물리적 주소)의 영역 → RAM의 크기실 주소(물리적 주소) : 주기억장치 상의 특정 위치의 주소 → RAM의 주소하드웨어와 제어 구조Paging 메모리 관리의 2가지 기본 특성프로세스의 모든 메모리 참조 ⇒ 물리 주소→ 이는 동적으로 물리 주소로 변환한 프로세스의 주소 공간이 여러 블록으로 분할되고 수행될 때, 메모리의 연속된 영역에 위치할 필요XBut) 프로세스의 코드와 데이터 전체가 메모리에 ..

article thumbnail
[OS: Three Easy Piece] 1. Introduction
System/OS 2025. 3. 5. 17:24

프로그램은 매우 단순한 일을 한다. Fetch → Decode → Execute 즉, 명령어를 반입하고 파악(해석)하며 실행한다. 명령어 작업을 완료한 후 CPU는 다음 명령어를, 또 그 다음 명령어를 프로그램이 종료될 때까지 위의 과정을 반복한다. ⇒ 이것이 폰 노이만 아키텍처의 기초라고 한다.운영체제는 위 과정인 프로그램 실행, 프로그램 간의 메모리 공유, 장치와 상호작용 등을 가능하게 해주는 소프트웨어다.운영체제는 위의 일을 하기 위해 가상화(Virtualization) 기법을 사용한다. 프로세서, 메모리 or 디스크 같은 물리적(Physical) 자원을 이용하여 가상 형태의 자원을 생성한다. ⇒ OS를 가상 머신(Virtual Machine)이라고 부르는 이유다.사용자 프로그램의 프로그램 실행, ..

article thumbnail
Linux task_struct 구조체 분석
System/Linux System 2023. 10. 19. 00:18

task_struct- Linux의 커널에서는 task_struct 구조체를 사용하여 커널 영역의 메모리 프로세스를 표현한다. - 이 구조체에 포함되어 있는 멤버 변수를 이해하는 것은 프로세스 개념을 이해에 도움이 된다. - Linux에서의 프로세스 관리를 이해할 때, 도움이 된다. * https://elixir.bootlin.com/linux/v6.0-rc6/source/include/linux/sched.h 참조 구조체 분석struct task_struct {#ifdef CONFIG_THREAD_INFO_IN_TASK /* * For reasons of header soup (see current_thread_info()), this * must be the first element of task_s..

article thumbnail
Windows EPROCESS 구조체 분석
System/Windows System 2023. 10. 18. 23:58

EPROCESS- Windows의 커널에서는 EPROCESS라는 구조체를 사용하여 커널 영역의 메모리에 프로세스를 표현한다. - 이 구조체에 포함되어 있는 멤버 변수를 이해하는 것은 프로세스 개념 이해에 도움이 된다. - Windows에서의 프로세스 관리의 이해도를 높일 수 있다. 구조체 분석* windbg를 이용해 Windows10의 커널을 분석. nt!_EPROCESS +0x000 Pcb : _KPROCESS => 공통 디스패처의 개체 헤더(디스패칭)와 프로세스 페이지 디렉토리 포인터(메모리), 퀀텀(CPU 사용 시간), 기본 우선순위(스레드 스케쥴링) 등의 정보를 알 수 있다. +0x438 ProcessLock : _EX_PUSH_LOCK +0x440 UniqueProcessId : Ptr64 Vo..

반응형