*동*
Bronze개인
팔로워0 팔로우
소개
등록된 소개글이 없습니다.
전문분야 등록된 전문분야가 없습니다.
판매자 정보
학교정보
입력된 정보가 없습니다.
직장정보
입력된 정보가 없습니다.
자격증
  • 입력된 정보가 없습니다.
판매지수
전체자료 1
검색어 입력폼
  • 운영체제의 메모리관리
    R E P O R T과 목 : 운영체제이론 및 실습담당교수 : 위성홍교수님학 과 : 컴퓨터정보통신학과학 번 : U101023107이 름 : 서 동 호◆ 목 차 ◆1) 메모리 관리 개념2) 연속 메모리 할당3) 분산 메모리 할당4) 세그먼트 메모리 관리 기법1. 메모리 관리 개념① 메인 메모리는 운영체제를 위한 영역과 실행 중인 프로그램을 위한 영역으로 구분한다.1) 메모리 관리 : 다중 프로그래밍 시스템에서 운영체제에 의해 동적으로 메모리의사용자 영역을 여러 프로세스가 상주 할 수 있도록 세분화 하는 과정.2) 메모리관리의 필요성 :메모리는 컴퓨터 운영함에 있어서 가장 조심하게다루어야 할 중요한 자원.② 메모리 관리 기법1) 반입 정책 : MM에 적재할 다음 프로세스의 반입시기를 결정하는 방법.(1) 요구 반입 기법- OS나 시스템 프로그램, 사용자 프로그램 등의 차모요구에 따라 MM에 적재하는방법으로 오랫동안 사용됨.(2) 예상 반입 기법- 시스템의 요구를 예측하여 메모리에 미리 적재하는 방법으로 최근 사용되기 시작함.- 요구되는 페이지 외의 다른 페이지도 함께 불러들이며, 탐색시간과 회전 지연시간을 갖는 보조기억 장치의 특성을 참조한 정책.2) 배치 정책 : 디스크에서 반입한 프로세스를 MM 어느 위치에 저장할 것인가를 결정하는 방법(1) 최초적합 : 주기억장치의 첫 번째 발견된 빈 공간에 배치(2) 최적적합 : 빈공간 중 배치 후 남는 공간이 가장 적은 곳에 배치(3) 최악적합 : 빈공간 중 배치 후 남는 공간이 많은 곳에 배치3) 대치 정책(1) 재배치 기법으로 MM에 있는 어떤 프로세스를 제거할 것인가를 결정하며 시기및 사용빈도에 따라 결정하는 등 여러 방법이 있다.③ 메모리 해석에 대한 두가지 관점1) 물리적 공간과 논리적 공간으로 구분(1) 물리적공간(물리적 주소)- 실제 데이터나 프로그램이 저장되는 공간- 메모리 칩(Chip) 또는 디스크 공간으로 생성, 사용되는 단위는 바이트(Byte)- 논리적 주소보다 크거나, 작거나, 같을 수 있음(2) 논연속 메모리 할당 방식 사용- 각 프로그램이 연속된 하나의 블록을 차지하도록 할당.- 직접 배치, 중첩(오버레이), 분할 기법 등이 해당됨.(2) 고정 분할 기법- 메모리 영역을 여러개의 고정된 크기로 분할하여 프로세스에 제공하며,메모리의 낭비(내부 단편화)를 유발함(3) 동적(가변) 분할 기법- 각 프로세스의 크깅 따라 메모리를 분할하는 방식으로, 고정 분할 기법의문제점을 해결하기 위해 제시됨- 다중 프로그래밍 기법에 적용하며, 분산 메모리 할당방식이 제시됨=> 동적 분할기법이 분산 메모리 할당 방식으로 발전 됨(4) 분산 메모리 할당 방식- 사용자의 프로세스가 페이지나 세그멘테이션 등의 단위로 보조기억장치에적재되어 있다가 프로세스의 요구에 의해 여러 영역에 할당되는 방식- 페이지, 세그멘테이션 등은 프로세서, 메모리, 보조기억장치 등에서 데이터를처리하는 규격 혹은 단위이다.⑤ 주소 바인딩(Binding)1) 논리적 주소를 물리적 주소로 변환하는 과정(1) 프로그램에 있어서의 주소를 절대 주소로 바꾸어 MM의 고정된 부분에 적재하는 것2) 방식에 따라 다음과 같이 단계별로 구분(1) 컴파일(Compile)- 프로세스가 메모리 내에 적재될 위치를 컴파일 과정에서 알수 있다면 컴파일러는물리적 주소(절대주소)를 생성할 수 있음- 절대 재배치 : MM의 실제 주소로 변환되는 과정(2) 적재시간- 정적 재배치ㄱ. 프로세스가 메모리 내의 어디에 적재되어야 할 것인가를 컴파일러에 알려주지않으면 컴파일러는 재배치 가능 상대 주소를 생성함ㄴ. 상대 주소는 프로그램의 시작 주소가 0으로 생성 되므로⑥ 동적 적재(Dynamic Loading)1) 메모리 공간 이용의 효율적 운영을 위해 제안됨(1) 모든 루틴은 호출될 때까지 메모리 내에 적재되지 않고 재배치 가능한 형태로 디스크에 저장(2) 주 프로그램은 메모리에 적재되어 수행됨(3) 주 프로그램(호출 루틴)이다른 루틴을 호출할 필요가 있을 때, 호출 루틴은 호출될 루틴이 메모리에 적재되어 있는지 조사(4) 적재되어 있지 않다면다.(2) 사용자에 의해 파일을 기억 장치 안으로 읽어 들이고, 그 기억 장치로 분기하여새로운 읽기 명령을 수행시키는 간단한 파일 구조를 사용함으로써 완전하게 구현할 수 있다.(3) 운영체제는 평상시보다 더 많은 입출력이 있다는 사실만을 인식한다.3) 단점(1) 프로그래머는 오버레이 구조를 적절하게 설계하고 프로그램해야 한다.(2) 프로그래머는 코딩 시에 프로그램 구조, 코드 또는 자료구조를 완전히 이해해야 한다.(3) 복잡한 오버레이 구조를 갖는 프로그램인 경우에는 그 프로그램을 충분히이해하기가 어렵고 수정하기가 어렵다.(4) 마이크로 컴퓨터나 실제 기억 장치가 제한된 하드웨어에서는 중첩의 사용이지원되지 않으므로 특수 시스템에 제한된다⑧ 교체1) 다중 프로그래밍 환경에서 프로세스는 사용자 프로그램이 끝날 때까지 MM에 저장됨.2) 순환 할당 알고리즘이나 우선순위에 바탕을 둔 프로세서 알고리즘에서 사용하기적합하지 않음.3) 프로세서 할당이 끝나고 수행이 완료된 프로세스는 보조기억장치로 이동, 새롭게시작되는 프로세스를 불러와야 함.(1) 프로세스가 수행되기 위해 메모리 내에 위치해야 하므로, 일시적으로 보조기억장치로이동 후 다시 메모리에 적재해야 함.4) 롤인(Roll-In), 롤 아웃(Roll-Out)(1) 더 높은 우선순위를 가진 프로세스 도착 시 메모리 관리 장치는 우선순위가 높은프로세스를 수행하기 위해 낮은 우선순위의 프로세스와 스왑(교체) 가능.(2) 높은 우선순위의 프로세스가 끝나면, 낮은 우선순위의 프로세스는 다시 스왑되어 계속 수행됨.5) 스왑 과정(1) 주소 바인딩 방법에 따라 다름(2) 바인딩이 어셈블 시간이나 적재시간에 이루어지면 프로세스는 다른 위치로 이동 불가(3) 수행시간에 바인딩이 이루어지면 교체 가능6) 교체 시간(1) 속도가 빠른 보조기억장치가 필요하며, 문맥교환시간이 중요함(2) 사용자 프로세스가 100KB이고, 보조기억장치는 초당 1MB의 전송률을 가진 디스크를 가정(3) 보조기억장치에서 실제 전송은 (100KB/초, 1000K 시스템에 메모리 요쳥에 대한 정보 변화를 유지- 동적 메모리 요청을 가진 프로세스는 변화하는 메모리 요구를 OS에 제공할 수있는 시스템 호출(메모리요청,해제)이 필요함9) 실제 사용되는 프로세스를 교체하려면 완전히 유휴상태에 있음을 확인해야 함(1) 어떤 입출력에 대한 대기(입출력 완료를 기다리는 상태)는 중요함(2) 프로세스가 입출력 동작을 위해 기다리면 메모리를 회수하도록 교체 가능(3) 입출력 버퍼가 사용자 메모리를 비동기적으로 엑세스하면 프로세스 교체 불가10) 두가지 문제의 해결 방법(1) 대기입출력을 가진 프로세스는 교체를 수행하지 않고, 입출력 동작이 있는 OS의버퍼 내에서만 교체를 수행해야 함(2) 교체 작업은 초기 시분할 시스템에서 채택되었으며, 현재 페이지 시스템으로 발전함2. 연속 메모리 할당① 연속 메모리 할당 개념1) 초기 컴퓨터 시스템에 적용한 메모리 관리 기법(1) 실행될 모든 프로그램은 필요한 영역만큼 연속적인 메모리 공간을 할당 받아 메모리에 적재(2) 한번에 적재 불가능하면 실행이 불가능하므로, 프로그램 수정 및 작은 모듈로 구성해야 함② 단일 사용자 연속 메모리 할당1) 메모리 영역을 사용자를 위한 공간과 OS상주를 위한 공간으로 구분(1) OS를 메모리 의 하위나 상위에 두는 것이 가능함(2) 메모리를 OS루틴이 들어있는 부분(모니터)과 사용자 프로그램이 들어있는 부분(사용자),사용되지 않는 부분으로 구분(3) 사용자가 모든 MM에 대한 제어권을 가짐2) 문제점(1) 사용자 프로그램의 적재- 컴퓨터 주소공간이 0000부터 시작하더라도 사용자 프로그램의 처음 주소는0000번지가 아니라 기준 레지스터 값 이후가 되므로, 기준 주소가 변하면 다시 적재 해야함③ 고정 분할 다중 프로그래밍1) MTF(Multiprogramming with a Fixed number of Tasks) 메모리 할당 방법(1) IBM OS/360에서 사용 되었으나, 현재는 사용되지 않음(2) 고정된 크기의 분할 영역에 프로세스(작업)가 각각 할당됨(3) 너무 적어 분할 전체가 빈공간으로 있을 때의상태를 말함⑤ 가변 분할 다중 프로그래밍1) 주기억 장치의 다중 프로그래밍 기법이다.2) 고정분할에서의 단편화 현상을 줄이기 위하여 가장 합리적인 분할의 크기를결정하여 각 작업에게 주기억 장치를 할당하는 기법⑥ 메모리 배치 기법1) 최초적합2) 최상적합3) 최악적합⑤ 압축1) 사용 가능한 메모리를 하나의 큰 블록으로 구성3. 분산 메모리 할당① 페이징 기법 : 처리할 작업을 동일한 크기의 페이지로 나누어 처리하는 방법<논리와 물리적 메모리의 페이징 모델>② 페이징 시스템 하드웨어1) 가상 주소가 페이지 테이블을 참조하여 실 메모리 주소를 구함2) V=(p,d) / 가상주소 = (페이지 번호,변위)(1) 가상 주소 = 프로세스에서 사용하는 주(2) 페이지 번호 : 페이지 테이블 색인(메모리에서의 각 페이지의 기준주소(f) 유지)(3) 변위: 상대주소(페이지 시작위치로부터 프레임 내 위치 표시)③ 페이지 번지1) 페이지(프레임) 크기 - 하드웨어에 의해 정의2) 페이지 : 512B∼16MB ( 2의 제곱으로 증가)- 만약 논리 주소 공간의 크기가 2^m이고, 페이지가 2^n 크기라면 논리 주소의상위 m-n 비트는 페이지 번호를 나타내고 하위 n비트는 페이지 변위를 나타낸다.3) 2단계 페이징 시스템 : 페이지 테이블 자체가 다시 페이지화되는 것- 32비트 시스템에서 페이지의 크기가 4KB라면 페이지 테이블은 100만개의 항목으로구성됨 각 항목은 4B로 구성되기 때문에 페이지 테이블의 크기는 4MB의 공간을필요이 4MB의 공간을 페이지단위로 나누는 것④ 페이지 스케쥴링1) 한 프로세스가 실행되기 위해 도착2) 그 프로세스의 크기가 페이지 몇 개 분에 해당하는가를 조사3) 프로세스가 n개의 페이지를 요구4) N개의 프레임이 사용 가능하면 프로세스에 할당⑤ 페이지 테이블의 구현1) 직접사상에 의한 페이지 주소 변환(1) 페이지 사상표 = 메모리 혹은 캐시메모리에 유지(2) 메모리 주소(b+p) = 페이지 사상표 시작주소(b)만을
    공학/기술| 2012.10.15| 17페이지| 2,000원| 조회(490)
    미리보기
전체보기
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2026년 04월 22일 수요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
9:23 오전
문서 초안을 생성해주는 EasyAI
안녕하세요 해피캠퍼스의 20년의 운영 노하우를 이용하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 AI가 방대한 정보를 재가공하여, 최적의 목차와 내용을 자동으로 만들어 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 이용권를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감