본문 바로가기

개발59

[운영체제] 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.
NginX 웹서버 배포하기[Python+React+Gunicorn] NginX 웹서버 배포하기 웹서버 웹서버 요약 하드웨어 측면에서, web server는 소프트웨어와 컴포넌트 파일들을 저장하는 컴퓨터이다 컴포넌트 파일에는 HTML 문서, 이미지, css, js 파일들이 있다. web server는 인터넷에 연결되어 웹에 연결된 다른 기기들이 웹서버의 데이터(컴포넌트 파일들)를 주고받을 수 있도록 한다. 소프트웨어 측면에서, web server는 기본적으로 웹 사용자가 어떻게 호스트 파일들에 접근하는지를 관리한다. HTTP 서버는 URL과 HTTP의 소프트웨어 일부이다. 가장 기본적인 단계에서, 브라우저가 웹 서버에서 불려진 파일을 필요로 할때, 브라우저는 HTTP를 통해 파일을 요청한다. 요청이 올바른 웹 서버에 도달하였을 때, HTTP 서버는 요청된 문서를 HTTP를.. 2022. 11. 13.
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.