wjdtmfgh.log
로그인
wjdtmfgh.log
로그인
메모리 관리 - 2
Jeong seulho
·
2023년 2월 23일
팔로우
0
운영체제
0
운영체제
목록 보기
18/35
📌continuous memory allocation
프로세스(context)를 하나의 연속된 메모리 공간에 할당
프로그램, 데이터, 스택
고려해야할 점
메모리에 동시에 올라갈 수 있는 프로세스 수
각 프로세스에게 할당 되는 메모리 공간크기
메모리 분할 방법
📌uni-programming
하나의 프로세스만 메모리 상에 존재
programing degree = 1
❌유니 프로그래밍 문제점
프로그램 크기 > 메모리 크기일때, 해결법
overlay structure : 메모리에 현재 필요한 영역만 적재하는 것
사용자가 프로그램의 흐름 및 자료구조를 모두 알아야 함
커널 보호, 해결법
경계 레지스터 사용
low system resource utilization
low system performance
위의 자원 활용도, 성능 문제 해결 위해 multi-programming
📌multi-programing
📖fixed partition multi-programming
메모리 공간을 고정된 크기로 분할
이미 분할 해놓음
편한 메모리 관리
각 프로세스는 하나의 partition에 적재
partition의 수 = multiprogramming degree
커널 및 사용자 영역 보호
boundary register, boundary address사용으로 각 partition을 침범하지 않게 구분, 커널을 보호
❌fragmentation 단편화 발생
internal fragmentation
partition 크기 > 내부 process 크기로 메모리 남는 부분 발생
external fragmentation
남은 메모리 크기 > 들어오려는 process크기 인데도 진입 못하는 현상 발생(각 partiton에 조금씩 남아 있어서 합치면 많이 남아있는데도 사용 못함)
📖variable partition multi-programming
초기에 전체가 하나의 영역
프로세스 처리하는 과정에서 메모리 공간을 동적 분할
no internal fragmentation
❓남은 공간이 여러군데인데 어디에 배치할까
🔧배치 전략
first fit : 최초 적합
탐색하면서 처음으로 만난 충분한 공간의 partition 선택
best fit : 최적 적합
가능 공간의 partition중 가장 작은 곳 선택
탐색이 오래 걸림
크기가 큰 partition유지 가능
작은 크기의 partition이 너무 많이 발생(활용 못할 정도의)
worst fit : 최악 적합
가능 공간의 partition중 가장 큰 곳 선택
탐색 오래 걸림
크기가 큰 partition 확보 어려움
작은 크기의 partition발생 줄임
next fit : 순차 최초 적합
state table에서 마지막으로 탐색한 위치부터 탐색
이전에 어디에 선택했는지 기억하고 다음 탐색은 거기서 부터 시작, 이후 first fit
메모리 영역의 사용 빈도 균등화
❓배치할 자리가 없을때 전략
🔧coalescing holes 공간 통합
인접한 빈 영역을 하나의 partition으로 통합
Process가 memory를 release하고 나가면 수행
🔧storage compaction 메모리 압축
모든 빈공간을 하나로 통합
프로세스 처리에 필요한 적재 공간 확보가 필요할 떄 수행
모든 프로세스 재배치할때, 모두 중지해야한다(overhead)
Jeong seulho
팔로우
이전 포스트
메모리 관리 - 1
다음 포스트
가상 메모리 - 1
0개의 댓글
댓글 작성