일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- level0
- 운영체제
- 수학
- level2
- 다익스트라
- dict
- BOJ
- 구현
- 가상메모리 관리
- 다이나믹 프로그래밍
- DP
- 프로그래머스
- 재귀
- 그리디
- BFS
- dfs
- 딕셔너리
- N과M
- 힙
- 파이썬
- 코딩테스트
- 백준
- level1
- 스택
- 브루트포스
- programmers
- 가상메모리
- level3
- python
- MYSQL
- Today
- Total
목록CS/운영체제 (27)
동캄의 코딩도장
Segmentation System 프로그램을 논리적 block으로 분할 - block의 크기가 서로 다를 수 있음 - stack, heap, main, procedure 등 특징 - 메모리를 미리 분할 하지 않음 - 공유 및 보호가 용이 함 - Address mapping 및 메모리 관리의 overhead가 큼 - No internal fragmentation Address mapping - virtual address v=(s,d) {s=segment number , d=offset} - SMT 사용 (segment length 와 protection bits가 존재) Memory management - VPM과 유사 (Segment 적재 시, 크기에 맞추어 분할 후 적재) Segment sharin..
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 발생 가능 한 상태 ..