| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- Spin Lock
- 게임 서버 아키텍처
- MongoDB
- 강한 연결 요소
- Prisma
- Strongly Connected Component
- 비트필드를 이용한 dp
- R 그래프
- PROJECT
- 최소 공통 조상
- JavaScript
- 이분 탐색
- ccw 알고리즘
- DP
- 자바스크립트
- 비트마스킹
- 벨만-포드
- 분리 집합
- Express.js
- SCC
- 트라이
- Binary Lifting
- Github
- localstorage
- 그래프 탐색
- LCA
- 2-SAT
- Behavior Design Pattern
- trie
- map
- Today
- Total
목록Operating System (13)
dh_0e
File Concept파일(File): Byte들의 배열(Array of Bytes)로 정의되며, 관련 정보들의 집합(A Collection of Related Information)으로도 정의추상화된 파일 객체를 다룸 File SystemFile과 Physical Disk Block 간의 Mapping을 제공하며, Disk 위치 배치를 담당File Blocks >> Disk Blocks독립성(Independence): 사용자는 File이 저장된 물리적 위치를 알 필요 없음Disk에 저장된 전체 File들을 총칭하며, File System 종류에 따라 File들의 배치나 구성이 달라질 수 있음이 외에 Time(수정된 시각), Data(수정된 날짜), User Information, etc ..Curren..
Page ReplacementMemory 과다 할당 상태 (Over Allocation of Memory)발생 원인: Multi Programming System에서 메모리 내 사용자 프로세스 수가 증가함에 따라 발생개인 PC같은 메모리가 크지 않은 상황에서 흔히 발생상황: 모든 User Process가 사용하는 Page 수보다 물리 메모리의 Frame 수가 적은 상황해결 방법: Page Fault 처리에 Page Replacement를 추가하여 해결 Page Replacement물리 메모리에 위치한 Page를 Disk(보조 저장 장치)에 저장하고 (Page Out), 요구된 Page가 해당 Frame을 할당받도록 하는 방법 (Page In)과정디스크에서 요구된 Page의 위치를 찾는다.물리 메모리에서 ..
범용 컴퓨터 시스템의 목적CPU의 활용률(Utilization)을 극대화사용자에게 빠른 응답을 제공보다 많은 Progam을 Memory에 올려서 실행(Multi-Programming)여러 Program을 동시에 실행시키기 위한 Scheduling 기법 등장Memory 관리의 필요성 등장여러 Program이 동시에 Memory에 적재되어 실행되면서, Memory를 공유할 필요가 생김Computer의 Memory는 한정된 자원실행하는 Program이 많아지면 Memory 요구량이 증가 주소 공간(Address Space)정의: 프로세스가 참조할 수 있는 주소들의 범위 또는 집합특징프로세스와 1:1 관계를 가짐사용자 스레드(thread)는 이 주소 공간을 공유함주소 공간의 크기: CPU의 주소 버스(Addre..
동기화의 고전 문제 3가지Bounded-Buffer Problem Readers and Wrtiers ProblemDining Philosophers Problem Bounded-Buffer Problem (생상자-소비자 문제)N개의 Item을 저장할 수 있는 버퍼(Buffer)에 여러 생산자(Producer)와 소비자(Consumer)가 접근생산자(Producer): 하나의 Item을 생산해 Buffer에 저장Race Condition공유 데이터에 대해 여러 Process가 동시에 접근, 변경을 시도하는 상황= 한 Buffer에 대해 여러 Producer가 동시에 item을 추가하려는 상황 소비자(Consumer): Buffer에서 하나의 Item을 가져옴동작 조건: Buffer의 상태가 Empty면 ..
Race Condition(경쟁 상태)공유 가능한 자원: 스레드 간에 공유되지 않는 지역 변수와 달리 전역 변수와 동적 할당 객체는 여러 스레드가 접근할 수 있음Race condition: 여러 프로세스(또는 스레드)가 공유 데이터에 동시에 접근하고 변경을 시도하여, 프로그램 결과가 실행 타이밍에 따라 달라지는 비결정적인(non-deterministic) 상태를 의미데이터의 일관성을 해치는 결과를 초래동기화를 걸지 않는 이상 해결이 불가능ex) 은행 입출금 문제잔고가 1000원인 계좌에 500원 입금과 500원 출금이 동시에 발생할 경우, 최종 잔고는 스케줄링 순서에 따라 500원 또는 1500원이 될 수 있음 Critical Section(임계 영역)여러 프로세스가 공유 데이터에 접근하고 변경하는 코드..
Process 복습Process는 시스템에서 다음과 같은 추상화 단위를 나타냄Execution Unit(실행 단위): 스케줄링의 기본 단위Protection Domain(보호 영역): 소유하고 있는 자원에 대한 보호를 제공Program과의 관계기존의 프로세스 개념은 단일 실행흐름(single thread of control)을 가진 채 실행 중인 프로그램을 의미"만약 1개의 실행 흐름을 여러 개로 만든다면?" 스레드 등장의 배경이 됨 Thread정의Execution Unit: Process 내의 실행 흐름Finer Grain(더 작은 단위): Process보다 더 작은 실행 단위linux에선 light-weight process(LWP)라 명명하고 사용Process가 제공하는 Protection Do..