OperatingSystemalgorithms
목차
소개
- Java로 구축 된 메모리 할당 시뮬레이터는 운영 체제 에서 메모리 할당이 어떻게 작동하는지 더 잘 이해합니다. 공통 메모리 할당 전략을 시뮬레이션합니다.
이 저장소에는 코드도 포함되어 있습니다
- 일정 알고리즘
- 페이지 교체 알고리즘
- 페이징 시뮬레이터
- 디스크 스케줄링 정책
데모
- 메모리 할당 시뮬레이터에 오신 것을 환영합니다.
- 먼저, 사용자가 값을 입력 하려는지 여부를 묻습니다. 그렇지 않은 경우 몇 가지 값이 이미 하드 코딩되어 있습니다.
- 하드 코드 값은 이해, 디버깅 및 시간을 절약하는 데 중요합니다.

- 메모리 부서의 입력 값, 현재 상태 (무료/없음) 및 프로세스 번호를 취한 후 메모리 할당의 현재 테이블을 인쇄합니다.

- 이제 입력 프로세스의 크기를 취하고 메뉴가 나타납니다.




알고리즘
Java로 구축 된 간단한 메모리 할당 시뮬레이션으로 운영 체제 에서 메모리 할당이 어떻게 작동하는지 더 잘 이해합니다. 공통 메모리 할당 전략을 시뮬레이션합니다.
- 첫 번째 적합
- 첫 번째 적합한 접근법에서는 프로세스를 수용 할 수있는 첫 번째 자유 파티션 또는 홀을 충분히 할당하는 것입니다.
- 장점 : 첫 번째 적합한 무료 파티션을 찾은 후에 마무리됩니다. 최대한 적은 검색이기 때문에 가장 빠른 알고리즘.
- 단점 : 내부 조각화 - 할당 후 남은 남은 미사용 메모리 영역은 너무 작아서 폐기물이됩니다. 따라서 더 큰 메모리 요구 사항에 대한 요청은 달성 할 수 없습니다.
- 최고 적합
- Best Fit은 요청 프로세스의 요구 사항을 충족하는 가장 작은 무료 파티션을 할당하는 것을 다룹니다. 이 알고리즘은 먼저 무료 파티션의 전체 목록을 검색하고 가장 적합한 가장 작은 구멍을 고려합니다.
- 장점 : 그런 다음 필요한 실제 공정 크기에 가까운 구멍을 찾으려고합니다. 메모리 활용은 가장 작은 프리 파티션을 먼저 검색하므로 첫 번째 적합보다 훨씬 낫습니다.
- 단점 : 느리게 진행되며 작은 쓸모없는 구멍으로 메모리를 채우는 경향이 있습니다.
- 최악의 적합
- 최악의 접근 방식은 남은 부분이 유용 할 정도로 커질 수 있도록 최대의 사용 가능한 프리 부분을 찾는 것입니다. 그것은 가장 잘 맞는 반대입니다.
- 장점 : 작은 간격의 생산 속도를 줄입니다.
- 단점 : 더 큰 메모리가 필요한 프로세스가 이후 단계에 도착하면 가장 큰 구멍이 이미 분할되어 점유되어 있기 때문에 수용 할 수 없습니다.
모든 시뮬레이션을 처리하기 전에 사용자는 현재 메모리 부서/할당 , 즉 메모리 부서, 상태, 프로세스 이름을 입력해야합니다.
현재 메모리 할당은이 예제의 시간을 절약하고 쉽게 디버깅 할 수 있도록 하드 코딩 되었습니다.
현재 메모리 할당

입력 프로세스가 크기가 200kb 인 경우 :
메모리 할당 - 첫 번째 적합

메모리 할당 - 가장 적합합니다

메모리 할당 - 최악의 적합

로컬 설정
- Java -Java SE -Downloads의 최신 버전 다운로드 | 신탁.
- 저장소 복제 :
git clone https://github.com/tusharnankani/MemoryAllocationSimulator.git - 이 디렉토리를 Command Promt 또는 Shell에서 엽니 다.
- 명령을 사용하여 파일을 컴파일합니다 :
javac MemoryAllocation.java - 명령을 사용하여 파일을 실행하십시오 :
java MemoryAllocation
작가
Tushar Nankani
LinkedIn | 지저귀다
특허
GPU 라이센스