일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 네트워크
- 웹
- spritekit
- 대외활동
- TCA
- widgetkit
- Swift
- cs
- 멋쟁이사자처럼
- 운영체제
- SwiftUI
- c++
- Protocol
- 후기
- 스위프트
- composable architecture
- 알고리즘
- 리액트
- widget
- 위젯킷
- 스유
- uikit
- 1일1알골
- 멋사
- 영남대
- swift concurrency
- 문법
- 백준
- dispatchqueue
- 컴퓨터그래픽스
- Today
- Total
목록운영체제 (5)
맛동산이
페이지 교체(page replacement): 현재 메모리에 적재되어야 하는데 그렇지 못하기 때문에 프레임중 하나를 비우고 이곳에 요청된 페이지를 적재하는 과정을 의미한다. 페이지 폴트는 페이지 폴트 핸들러에 의해서 실행된다.Victim fram : 비우기로 선택된 프레임Victim page : 희생 프레임에 들어가있는 페이지 페이지 교체 순서디스크에 필요한 페이지확인프리 프레임을 찾음없다면, 희생 프레임을 선택한다.페이지를 디스크로 부터 읽어 프레임에 저장한다.프로세스 재 실행 페이지 교체가 일어날때 희생 프레임을 어느 프로세스에서 얻어올지에 대해서 2개의 방법이 있다.지역교체 : 각 프로세스는 자신이 사용중이 프레임 중에서 교체할 프레임을 선택전역교체 : 전체 프레임 중에서 교체 대상 프레임을 교체지..
각 프로세스마다 실행에 필요한 최소 페이지 프레임이 확보되어야 한다.프레임수가 줄어들면 페이지 폴트가 발생한다. 따라서 실행이 중단되면 instruction cycle이 발생하기 때문에 딜레이가 계속해서 발생된다. 또한 하나의 프로세스가 돌아갈때도 참조하는 모든 페이지는 동시에 한 메모리에 적재되어야 한다.그래서 결국 가장 효율적인 프레임 할당은. 작업집합을 약간 넘나드는 크기가 적당하다.그래서 이처럼 최소 최대 프레임 수는 다음과 같이 결정된다. 최소의 프레임 할당수컴퓨터 구조에 의해서 좌우되고한 명령어 수행을 위해 모든 페이지를 수용할수 있는 프레임 수최대 프레임 할당 수는물리메모리의 크기프레임 할당 알고리즘균등할당 : 모든 프로세스에게 같은 프레임 수를 할당비례할당 : 각 프로세스 크기에 비례해서 ..
가상메모리물리메모리의 한계는 결국 메모리 주소 버스 크기에 좌우된다.32비트의 cpu면 2^32 가 물리메모리가 4gb가 되고. 64비트라면 2^64가 될것이다. 하지만 실제적으로는 비용상 8~32gb정도 장착된다.그렇다면 만약 프로그램이 5gb처럼 큰 프로세스는 돌아갈수 없으며, 동시수행되는 프로세스의 크기의 총합은 물리메모리 보다 클수가 없다는 단점이 발생한다.즉 프로세스보다 메모리가 작으면, 할당이 될수가 없다. 이를 해결하는 방법은프로세스의 메모리와 보조저장장치에 동시에 프로세스를 나눠서 저장하게 되면 프로세스는 실행하기에 충분한 메모리가 잇다고 착각하게 된다.스와핑(swapping)을 통해서 해결할수 있다. 메모리가 부족할때 실행에 필요하지 않는 부분은 보조저장장치에 이동 하는것이다.이렇게 하..
세그멘테이션(segmentation) 페이징은 분명, 외부단편화가 생기지 않고, 간단하게 메모리 효율을 높일수 있었지만,하나의 문제점이 발생한다.바로, 하나의 프로세스를 구성하는 논리적인 의미의 코드나 데이터들을 나눌수 없었던 것이다.즉 하나의 프로세스 안에서 영역을 나눌수 없었다. segmentation은 프로세스의 데이터를 데이터, 힙 스텍 코드 영역을 나누고 코드영역을 함께 나눠서 사용할수 있도록 하기 위해서 하나의 페이지 안에서 데이터 종류에 따라 세그먼트 단위를 할당하는 방식을 의미한다.즉, 페이징은 프로세스 별로 메모리를 할당하는것이고, 세그멘테이션은 할당된 프로세스를 좀더 잘게 나누는 방법이다. Segment라는 서로 다른 길이를 가질수 있는 블럭을 구성해주기 때문에 비연속 할당또한 하기 때..
페이징 한 프로세스의 논리 주소 공간을 연속적인 하나의 긴 메모리가 아닌, 메모리를 여러개의 포스트잇과 같이 작은 동떨어진 공간들에 배정할수 있도록 하는 방법이다. 이를 통해 외부단편화를 해결할 수 있다. 모든 논리 주소는 페이징 하드웨어에 의해서 물리주소로 매핑된다.Frame : 물리메모리를 고정된 크기로 분할한 것.Page : 논리주소를 물리메모리 처럼 분할한 것논리주소를 물리주소로 변환하기 위해서 페이지 테이블을 이용하게 된다. 페이징 특징구현이 고정크기로 분할하기 때문에 쉽다.Cpu에 의존하는게 없다. 이식성이 높다.시스템에 따라 page크기를 다르게 설정도 가능하다. 융통성이 높다.시간 오버헤드 적에서 우수하다. 외부단편화가 생기지 않고, 홀 선택 알고리즘을 실행할 필요가 없다.페이징 또한, 내..