본문 바로가기

개발/컴퓨터 사이언스6

[운영체제] Memory Management Memory Management 목차 Segmentation 기법 segment 단위로 메모리를 관리 external fragmentation Buddy system Paging Page table TLB internal fragmentation virtual memorySegmentation 기법 Segmentation 기법 segment 단위로 메모리를 관리 memory segment : 같은 성격의 데이터를 모아둔 곳 (ex) code segment, static/global segment, const segment, heap segment, stack segment 단점 : external fragmentation (외부 단편화) Buddy system 메모리 저장 영역을 선택하는 방법으로, 메모.. 2022. 12. 4.
스케쥴링 스케쥴링 목차 소스코드의 컴파일 과정 Preprocessing(전처리) Compile -> assembly Liking 스케쥴링 선점형(Preemptive) 스케쥴링 Round Robin MFQ(multi feedback queue) 스케쥴링 주요 문제점 starvation problem DeadLock 비선점형(Non-Preemptive) 스케쥴링 소스코드의 컴파일 과정 프로그램이 되기 위해서는 main 함수가 필요하다. Preprocessing(전처리) 코드 줄바꿈 없애고 한줄로 바꿈(c언어) 컴파일할수 있는 단계까지 전처리 매크로 대체, 조건부 컴파일 지시문 테스트, file include Compile -> assembly(binary file(=object file)로 바꿔줌. .o file) .. 2022. 11. 20.
Process와 Thread Process와 Thread 목차 Process Thread User Level Thread Kernel Level Thread Kernel Thread Context Process 프로그램을 실행시키면 프로세스라는 형태로 메모리에서 관리가 된다. 프로세스는 하나 이상의 스레드(thread of control)를 가진다. 프로세스간에 서로 통신하려면 IPC를 거쳐야한다. 프로세스는 스케쥴링의 대상이 된다. 스케쥴링의 대상은(Process, Thread, Data-Flow)이다. 프로세스는 스레드가 동작하는 환경이다 Thread( of control) 프로세스 코드가 진행되는 흐름을 스레드라고 함 스레드를 LWP(light weight process)라고도 한다. 필수요소에는 context(PC등의 reg.. 2022. 10. 11.
운영체제와 Kernel 운영체제 목차 운영체제의 구성 프로그램 부트 로더 Kernel Shell Kernel의 구성요소 Process Management synchronization memory management file system management I/O managemant(device drivers) hardware interrupt system call user level 과 kernel level 운영체제의 구성 프로그램 부트 로더 컴퓨터가 켜졌을 때 운영체제에 필요한 조치를 취하고 하드 디스크 드라이브에 기록되어 있는 운영체제를 실행하는 프로그램이다. BIOS setup => Boot loader(GRUB) => 운영체제 코드위치로 PC를 이동시켜준다. MBR이라는 하드 디스크의 첫번째 섹터 구간에 운영체제 코드.. 2022. 10. 4.
Instruction과 Pipelining Instruction과 Pipelining 목차 Instruction 구조 타입 address와 메모리 Pipelining Five Stage Pipelining Hazards Data Hazards Structural Hazards Control Hazards Instruction CPU의 PC 레지스터에 의해 instruction memory 영역에 불러들여진 4byte 단위(32bit 운영체제 기준)의 기계어 코드이다. 구조 4bit는 opcode로 명령어와 매핑된다. rs, rt, td는 레지스터를 가리킨다. address: 메모리 주소를 나타낸다. 타입: opcode에 따라 instruction의 타입이 결정된다. R-type: 두 레지스터를 더한 결과값을 레지스터에 저장하는 instructio.. 2022. 9. 27.
CPU와 RAM CPU와 RAM 목차 하드웨어 구성요소 CPU RAM Memory 계층 구조 clock 프로그램과 프로세스 프로그램 프로세스 하드웨어 구성요소 CPU (Central Processing Unit) RAM (Random Access Memory) HDD / SSD mainboard power 정격전압을 주기위해 필요하다. CPU CPU overview 레지스터 instruction memory ALU CPU에서 수행하는 일 (arithmetic 또는 Logical 연산일 때) PC(Program Counter - 현재 수행할 instruction을 가리키고 있는 레지스터)가 가리키고 있는 현재 수행되고 있는 Process의 code 영역에 저장된(또는 운영체제의 kernel code) instruction.. 2022. 9. 21.