Computer(인강)/운영체제(41)
-
세그멘테이션 기법
안녕하세요 bannavi입니다^ㅅ^ 아니 여러분, 대박적인 사실을 알았어요 오늘 제 블로그 방문자수가 무려.... 무려...!!!!!! 8명인거 있죠!!!!! 와아아앙 부끄러워서 태그도 잘 안달아놨었는데 혹시 잘못된 정보를 전달해드리진 않을까 더 마음 졸이게 되네요 저도 배우는 입장이기때문에 틀린것같다 좀 표현이 어색하다 싶은 부분은 말씀해주시면 더 감사드릴것 같습니다 헤헤..^ㅅ^ 그럼 이 분위기 그대루~~ 오늘은 가상메모리의 매커니즘 중 하나인 세그멘테이션 기법에 대해서 살펴보도록 하겠습니다! 세그멘테이션(Segmentation) 가상 메모리를 서로 크기가 다른 논리적 단위인 세그먼트(Segment)로 분할 - 페이징 기법에서는 가상 메모리를 같은 크기의 블록으로 분할 - 예: x86 리얼모드(인텔 ..
2021.02.26 -
페이지 교체 알고리즘
안녕하세요 bannavi입니다^ㅅ^ 오늘은 페이지 교체 알고리즘에 대해 살펴볼게요 바로 시작하겠습니다^ㅅ^ 페이지 교체 정책(page replacement policy) * 운영체제가 특정 페이지를 물리 메모리에 올리려 하는데, 물리 메모리가 다 차있다면? - 기존 페이지 중 하나를 물리 메모리에서 저장 매체로 내리고(저장) - 새로운 페이지를 해당 물리 메모리 공간에 올린다. 페이지 교체 알고리즘(FIFO) * FIFO Page Repalcement Algorithm - 가장 먼저 들어온 페이지를 내리자 페이지 교체 알고리즘(OPT) * 최적 페이지 교체 알고리즘 (OPTimal Replacement Algorithm) - 앞으로 가장 오랫동안 사용하지 않을 페이지를 내리자 - 일반 OS에서는 구현 불..
2021.02.25 -
페이지 폴트
안녕하세요 bannavi입니다^ㅅ^ 오늘은 페이지 폴트에 대해서 다뤄보려고 합니다. 바로 시작해볼게요! 요구 페이징 (Demand Paging 또는 Demanded Paging) * 프로세스 모든 데이터를 메모리로 적재하지 않고, 실행 중 필요한 시점에서만 메모리로 적재함 - 선행 페이징(anticipatory paging 또는 prepaging)의 반대 개념: 미리 프로세스 관련 모든 데이터를 메모리에 올려놓고 실행하는 개념 - 더이상 필요하지 않은 페이지 프레임은 다시 저장매체에 저장(페이지 교체 알고리즘 필요) 페이지 폴트(page fault) 인터럽트 - 어떤 페이지가 실제 물리 메모리에 없을 때 일어나는 인터럽트 - 운영체제가 page fault가 일어나면, 해당 페이지를 물리 메모리에 올림 만..
2021.02.25 -
다중 단계 페이징 시스템과 페이징 시스템 장점
안녕하세요 bannavi입니다^ㅅ^ 오늘은 다중 단계 페이징 시스템과 페이징 시스템 장점에 대해 살펴볼거에요 바로 시작하겠습니다^ㅅ^ 다중 단계 페이징 시스템 * 32bit 시스템에서 4KB 페이지를 위한 페이징 시스템은 - 하위 12bit는 오프셋 - 상위 20bit가 페이징 번호이므로, 2의 20승(1048576)개의 페이지 정보가 필요함 * 페이징 정보를 단계를 나누어 생성 - 필요없는 페이지는 생성하지 않으면, 공간 절약 가능 페이지 번호를 나타내는 bit를 구분해서, 단계를 나눔(리눅스는 3단계, 최근 4단계) 해당 페이지 번호를 찾아서 그 페이지 번호와 OFFSET정보를 가지고 물리주소에 정보(데이터)를 가지고 온다 MMU와 TLB(컴퓨터 구조) MMU가 물리 주소를 확인하기 위해 메모리를 갔..
2021.02.25 -
페이징 시스템
안녕하세요 bannavi입니다^ㅅ^ 오늘은 가상메모리 시스템에서 가장 많이 쓰이는 매커니즘인 페이징 시스템에 대해 알아볼거에요 바로 시작하겠습니다. 페이징 시스템(paging system) * 페이징(paging) 개념 - 크기가 동일한 페이지로 가상 주소 공간과 이에 매칭하는 물리 주소 공간을 관리 - 하드웨어 지원이 필요. 예) Intel x86 시스템(32bit)에서는 4KB, 2MB, 1GB 지원 - 리눅스에서는 4KB로 paging - 페이지 번호를 기반으로 가상 주소/물리 주소 매핑 정보를 기록/사용 실질적으로 페이징 시스템이 어떻게 동작하는지를 알아보겠습니다. 리눅스의 경우, 프로세스가 4GB라고 말씀드렸죠! 1) 프로세스(4GB)의 PCB에 Page Table 구조체를 가리키는 주소가 들어..
2021.02.25 -
가상 메모리 개념
안녕하세요 bannavi 입니다^ㅅ^ 오늘은 가상메모리 개념에 대해서 다뤄볼거에요 그럼 바로 시작해보겠습니다! 가상 메모리 실제 각 프로세스마다 충분한 메모리를 할당하기에는 메모리 크기가 한계가 있음. 예) 리눅스는 하나의 프로세스가 4GB임. - 통상 메모리는 8GB? 16GB? 폰노이만 구조 기반이므로, 코드는 메모리에 반드시 있어야함 가상 메모리가 필요한 이유 * 하나의 프로세스만 실행 가능한 시스템(배치 처리 시스템 등) 1. 프로그램을 메모리로 로드(load) 2. 프로세스 실행 3. 프로세스 종료(메모리 해제) * 여러 프로세스 동시 실행 시스템 1. 메모리 용량 부족 이슈 2. 프로세스 메모리 영역간에 침범 이슈 가상 메모리 가상 메모리: 메모리가 실제 메모리보다 많아 보이게 하는 기술 * ..
2021.02.25