일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 프로그래머스
- dfs
- BFS
- DP
- 파이썬
- 수학
- 운영체제
- python
- 재귀
- MYSQL
- level0
- 그리디
- 가상메모리 관리
- 브루트포스
- level1
- programmers
- 구현
- 코딩테스트
- 다익스트라
- level3
- 다이나믹 프로그래밍
- 딕셔너리
- 스택
- level2
- 가상메모리
- dict
- 힙
- N과M
- 백준
- BOJ
- Today
- Total
목록CS (49)
동캄의 코딩도장
Paging system - 프로그램을 같은 크기의 블록으로 분할 - page = 프로그램의 분할된 block - page frame = 메모리의 분할 영역, page와 같은 크기로 분할 특징 - 논리적 분할이 아님 (크기에 따른 분할) --> page 공유 및 보호 과정이 복잡 - simple and Efficient - No external fragmentation Address Mapping - virtual address v=(p,d) {p= page number, d = offset} - PMT 사용 Mapping 기법 Direct mapping -Block mapping 방법과 유사 문제점 - 메모리 접근 횟수가 2배 --> 성능 저하 - PMT를 위한 메모리 공간 필요 해결방안 - Assoc..
Vitual Storage (Memory) - Non-continuous allocation - 사용자 프로그램을 여러개의 block으로 분할 - 실행 시, 필요한 block들만 메모리에 적재 (나머지 block들은 swap device에 존재) 기법 paging system segmentation system hybrid system Address Mapping Virtual address (가상주소) = relative address - 논리주소 - 연속된 메모리 할당을 가정한 주소 Real address (실제주소) = absolute (physical) - 실제 메모리에 적재된 주소 Block Mapping -사용자 프로그램을 block 단위로 분할/ 관리 - vitual address: v=(b..
Continuous Memory Allocation - 프로세스(context)를 하나의 연속된 메모리 공간에 할당하는 정책 Uni-programming - 하나의 프로세스만 메모리 상에 존재 - 가장 간단한 메모리 관리 기법 문제점 프로그램 크기> 메모리크기 -Overlay structure( 프로그램의 영역을 잘라서 메모리에 적재) 커널 보호 - 경계 레지스터 사용 Low system resoucre utilization & preformance - Multi- programming 사용 Multi-programming Fixed partition Multiprogramming - 메모리 공간을 고정된 크기로 분할 - 각 프로세스는 하나의 partition에 적재 - 메모리 관리 간편 - 시스템 자원..
Backgrounds 레지스터,캐시 - HW가 관리 메모리, 보조기억장치 - SW가 관리 메모리 계층구조 Block - 보조기억 장치와 주 기억장치 사이의 데이터 전송 단위 - size: 1~4KB word - 주 기억장치와 레지스터 사이의 데이터 전송 단위 - size: 16~64 bits Address Binding - 프로그램의 논리 주소를 실제 메모리의 물리 주소로 매핑 하는 작업 Compile time binding - 프로세스가 메모리에 적재될 위치를 컴파일러가 알 수 있는 경우 - 위치가 변하지 않음 - 프로그램 전체가 메모리에 올라가야 함 Load time binding - 메모리 적재 위치를 컴파일 시점에서 모르면, 대체 가능한 상대주소를 생성 - 적재 시점(load time)에 시작 주..
Deadlock prevention Deadlock이 발생하지않게 조건발생을 막음 모든 자원의 공유 허용-->불가능 모든 자원 선점 허용--> 불가능 or 매우 비효율적 필요한 자원 한번에 모두 할당--> starvation 현상 발생, 자원 낭비 발생 circular wait 조건 제거--> 자원 낭비 발생 Deadlock prevention--> 심각한 자원낭비--> 현실적으로 불가능 Deadlock avoidance -시스템의 상태를 계속감시 - Deadlock 발생 가능성이 있는 자원 요청에 대해 요청 보류 - Safe state를 유지 Safe state - 모든 프로세스가 정상 종료가 가능한 상태 - safe sequence를 유지 Unsafe state -Deadlock 발생 가능 한 상태 ..
Deadlock (교착상태) - 프로세스가 발생 가능성이 없는 이벤트를 기다리는 경우 Deadlock vs starvation (자원/Event) // (CPU) (가능성x) // (가능성o) 자원의 분류 선점 가능 여부에 따른 분류 preemptible resources - 선점 당한 후, 돌아와도 문제가 발생하지 않는 자원 -processor, memory등 Non-preemptible resources - 선점 당하면, 이후 진행에 문제가 발생하는 자원 - disk drive등 할당 단위에 따른 분류 Total allocation resources - 자원 전체를 프로세스에게 할당 - processor, disk drive 등 partitioned allocation resources -하나의 자원..