메인 메모리
cpu가 실제로 접근 할 수 있는 메모리.
프로세스가 되도록 하는 기반.
각 프로세스에는 별도의 메모리 공간이 존재한다
개별적인 메모리 공간을 보호하고, 병행적 실행을 위해 존재함.
특정 프로세스만 접근 할 수 있는 합법적인 메모리 주소 영역을 설정.
메모리 보호를 위한,
메모리 할당과 단편화
메모리는 일반적으로 상주 운영 체제용/ 유저 프로세스용으로 구분됨.
일반적으로 여러 유저 프로세스가 메모리에 적재되어 있는 것이 바람직하다.
-> 메모리에 가져오기를 기다리고 있는 프로세스에 사용 가능한 메모리를 할당하는 방법을 고려야해야함
메모리 보호
재배치레지스터 : 가장 작은 물리 주소의 값 저장
상한 레지스터 : 논리 주소의 범위 값 저장
각 논리 주소는 상한 레지스터에 의해 지정된 범위 내에 존재해야함.
mmu는 동적으로 논리 주소에 재배치 레지스터를 더하여 주소 변환을 함
cpu의 논리 주소가 상한 레지스터보다 작다면 mmu가 물리 주소로 변경, 메모리에 적재 된다
메모리 할당
다중 파티션 방식:
메모리를 고정된 크기의 여러 파티션으로 나눈다.
각 파티션은 정확히 하나의 프로세스를 포함 할 수 있다.
멀티프로그래밍의 정도는 파티션 수에 의해 결정된다.
파티션이 비어있다면 입력 큐에서 프로세스가 선택되어 비어있는 파티션에 로드된다
프로세스가 종료되면 파티션을 다른 프로세스에서 사용할 수 있게 된다
-> 파티션이 비워지면 새로 로드, 프로세스 종료 시 할당된 파티션을 다른 프로세스에서 사용 가능.
가변분할:
os는 사용 가능 메모리 부분과 사용 중인 메모리 부분을 나타내는 테이블을 유지한다.
-> 사용중 미사용중을 구분 할 수 있다
'CS' 카테고리의 다른 글
파일 시스템 File System (0) | 2024.03.17 |
---|---|
가상 메모리 (0) | 2024.03.10 |
CPU 스케줄링 (1) | 2024.03.07 |
동기화 기법- 뮤텍스락, 세마포어, 모니터 (1) | 2024.03.06 |
교착상태 Deadlock (0) | 2024.03.04 |