목 차1. 서론※ 페이징의 개요2. 기술배경3. 기술적기반1). 장기스케줄링2). 페이지 테이블의 관리(1)직접사상에 의한 페이지 주소변환(2)연관사상에 의한 페이지 주소변환(3)연관/직접 사상을 결합한 페이지 주소변환3). 공유페이지(Shared Pages)4). 보호(Protection)※ 사용방법 및 기능설명○ CR3레지스터○ 페이지디렉토리○ 페이지테이블○ Windows에서의 페이지디렉터리와 테이블○ Windows에서의 PDE, PTE○ Windows의 페이지 특권레벨○ 공유 메모리와 공유모듈4. 가능문제점5. 문제점해결을 위한 방법6. 결론참고문헌1. 서론※ 페이징의 개요페이징이란 프로그램 중 자주 사용되지 않는 부분의 작업 메모리를 주기억장치인 메모리로부터 보조기억장치인 하드디스크로 옮기는 방식을 통해, 활용 가능한 메모리 공간을 증가시키기 위한 기법 중 하나이다. 이때, 한번에 옮겨지는 메모리 용량 단위를 페이지라 부른다. 메모리 관리장치는 메모리 접근 요청들을 감시하고, 또한 각 주소를 페이지 번호와 페이지 내의 오프셋으로 분할한다. 메모리 관리장치는 페이지 표에 있는 페이지 번호를 확인하는데, 페이지 표에는 해당 페이지가 메모리에서 디스크로 옮겨졌는지 또는 메모리에 아직 존재하는지에 관한 정보들이 표시되어 있다. 만약 메모리에 존재하는 페이지에 대해 접근하려는 시도가 있는 경우라면, 가상의 주소가 실제 주소로 번역된 후 접근이 즉시 허용된다. 그러나 요청된 페이지가 이미 디스크로 옮겨진 상태라면, 먼저 메모리에 현존하는 다른 페이지를 디스크로 옮겨서 빈 공간을 만들어야만 한다. 그 다음 디스크의 스왑 공간 상에 있던 해당 페이지가 주기억장치인 메모리로 읽혀 들여진다. 이때 그 페이지가 이제는 주기억장치 내에 존재한다는 표시와 함께 메모리 상의 물리적인 주소 등 페이지 표의 정보도 함께 갱신된다. 메모리 관리장치는 주기억장치로 불려 들어온 이후에 내용이 수정된 페이지가 어떤 페이지인지에 관한 정보 기록도 유지한다.만약 수정이 된 적이 없고 디스크로을 수 있다. 예를 들어 페이지가 2048바이트 이면 77,766바이트의 프로세스는 35페이지와 1086바이트가 필요하다. 36개의 프레임이 할당되면 2048-1086=962 바이트의 내부 veks편화를 만들게 된다. 최악의 경우에 이 프로세스는 n 페이지와 1워드만을 필요로 할 수 있다. 이대 n+1 개의 프레임이 할당될 것이다. 만약 프로세스의 크기가 페이지의 크기와 독립적이면, 프로세스당 평균 반 페이지의 내부 단편화가 예상된다. 따라서 단순한 내부 단편화 현상만을 생각하면 작은 페이지 크기가 바람직하다는 것을 암시한다. 그러나 각 페이지 테이블 유지에 부담이 될 수 있다. 이러한 부담은 페이지 크기를 증가시킴으로써 감소시킬 수 있다.각 운영체제는 페이지 테이블을 저장하기 위하여 자체적인방법을 갖는다. 일반적으로 각 프로세스에 하나의 페이지 테이블을 할당한다.2). 페이지 테이블의 관리페이지 테이블의 가장 간단한 하드웨어 구성으로 전용 레지스터를 사용하여 구현 할 수 있다. 이들 레지스터는 페이징 주소 변환을 매우 효율적으로 하기 위하여 초고속 논리회로로 설계된다. 기억 장치의 모든 접근은 페이징 테이블 정보에 의해 수행해야 하므로, 효율이 주요 고려 대상이 된다.페이지 테이블을 위한 레지스터의 사용은, 만약 페이지 테이블이 적으면, 예를 들어 256항목 정도라면 상당히 만족스럽다. 그러나 대부분의 기존 컴퓨터는 페이지 테이블은 매우 크다. 예를 들면 수백만 개의 항목으로 구성될 수 있다.이때 사상 방법에 따라(1)직접사상에 의한 페이지 주소변환(2)연관사상에 의한 페이지 주소변환(3)연관/직접 사상을 결합한 페이지 주소변환으로 구별된다.(1) 직접사상에 의한 페이지 주소 변환직접 사상에 의한 페이지 주소변환은 완전한 페이지 사상표가 주기억장치 혹은 고속의 캐시기억장치에 유지된다.페이지 사상표의 시작주소 b를 페이지 번호p에 더하여 페이지 사상표 내의 p에 관한 항목의 주기억 장치 주소는 b+p를 얻는다. 이 항목은 페이지 프레임 p'가 논리 페이지 p에지만을 연관기억장치에 유지하고 연관기억장치에 그 페이지가 없을 때는 직접사상을 한다.지역성을 이용하여 최근에 참조한 페이지는 곧 다시 사용하기 쉽다는 사례를 이용한다.예를 들면 현재 수행중인 프로그램이 페이지 p를 찾기 위하여 연관 기억장치의 모든 항목을 동시에 조사한다. 그 결과 페이지 p에 해당되는 페이지 프레임(page frame)p'이 발견되면, d와 접속(concatenate)하여 실 주소 r = p' + d 를 얻는다. 그러나 만약 p와 일치하는 항목이 연관사상표에 없으면 논리주소의 페이지 번호(p)를 페이지 사상표의 시작점 레지스터의 bd와 합하여 p+b의 직접 페이지 테이블의 p에 대응하는 페이지 프레임 p‘를 얻는다. 이어서 p'+d의 실제주소 r을 생성한다.그림 8 연관/직접 사상을 통한 페이지 주소 변환.페이지 번호가 연관 레지스터에서 발견되는 비율을 적중률이라고 부른다. 80%가 적중률이란 연관 레지스터에서 원하는 페이지 번호를 발견할 확률이 80%라는 것을 의미한다. 만약 연관 레지스터를 탐색하는 50나노초 걸리고 기억 장치에 접근하는데 750나노초가 걸리면 사상된 기억 장치 접근은 페이지 번호가 연관 레지스터에 있을 때 800나노초가 걸린다. 만약 연관 레지스터에서 페이지 번호를 찾지 못했다고(50나노초) 우선 페이지 테이블과 프레임 번호를 접근한 다음 메모리에서 원하는 워드를 접근한다.(750나노초). 이때 총 1550나노초가 소요된다.유효 접근 시간 = 0.80*800+0.20*1550=950나노초이 예에서 메모리 접근 시간에서 26.6%가 늦어졌다. (750나노초에서 950나노초로) 만약 90% 적중률이라면유효 접근 시간 =0.09%*800+0.10*1550=875나노초이 증가된 적중률은 메모리 접근시 23%로 준다. 분명히 적중률은 연관 레지스터의 번호와 관계된다. 16과 512사이의 연관 레지스터와 함께 80%~90%적중률이 얻어진다. Motorola 68030 처리기는 22 엔트리 보조 예비기억 장치(TLB)를 가지고 있다.인 시도는 운영 체제에게 트랩 되는 과정을 보여주고 있다.앞의 그림에서 페이지 0-5는 정상적으로 발생된 경우이다. 그러나 페이지 6이나 페이지 7인 경우 ‘비타당’으로 분류하여 운영체제로 트랩 되고 있다. 프로그램은 우선 10468번지로 제한되므로 나머지 영역에 대한 참조는 불법적이다. 그러나 페이지 5는 12287까지 합법적으로 처리되었기 때문에 ‘타당’으로 분류하였으나 나머지 12268에서 16383에 이르는 영역은 ‘비타당’으로 분류하였다.※ 사용방법 및 기능설명1)Linear address: 부호가 없는 32비트의 정수 값으로 메모리주소를 지정하는데 사용2)Physical address: 실제메모리주소3.TLB(TranslationLookasideBuffer) : 메모리변환에 드는 시간을 줄이기 위해 사용, 변환에 사용 되었던 가상주소의 위치정보와 실제 매핑 되어진 메모리의 위치정보를 일정 개수만큼 유지시킴메모리 낭비를 줄이기 위해 페이지테이블인덱스 부분을 페이지 디렉터리 인덱스와 페이지테이블인덱스 두 부분으로 나누어 관리한다.CR3레지스터선형 주소를 실제 물리적 주소로 바꾸기 위한 첫 번째 작업은 페이지 디렉터리를 찾는 것이며 페이지 디렉터리의 위치 정보는 CR3레지스터의 11비트에서 31비트 사이의 20 비트를 통하여 얻게 된다. 그리고 이것의 PFN은 물리적 주소의 페이지 프레임 번호를 저장하고 있다. 인텔 마이크로프로세서에서는 4KByte 단위의 페이지로 나누어 다룬다. 그리고 이것은 매우 중요한 역할을 하게 되는데, 이 레지스터에 의하여 각각의 프로세서가 독립적인 메모리 주소 공간을 가질 수 있기 때문이다. CR3 레지스터의 페이지 디렉터리 PFN을 바꾸어줌으로써 해당 프로세스가 사용하는 가상 메모리를 전혀 다른 물리적 주소와 매핑시킬 수 있게 하는 것이다. 위의 내용을 정리하면 다음과 같다.페이지 디렉터리의 베이스 어드레스를 저장해 주는 레지스터이다.프로세스마다 다른 값을 가지고 있다.CR0의 PG비트가 세트 되어 있을 때 사용 한다.PG비이 페이지에 대한 접근이 가능하게 된다.Read/Write(1Bit)페이지의 보호 기능을 위한 비트로 이 비트가 1로 세팅되어 있을 경우에는 읽기와 쓰기 모두 가능하지만 0일 경우에는 읽기만 가능해진다.Present(1Bit)이 페이지가 유효한지를 나타내는 비트로 만약 이 비트가 1일 경우에는 현재 물리적인 메모리에 이 페이지가 존재하고 있다는 뜻이며, 0일 경우에는 이 페이지가 현재의 메모리에 존재하고 있지 않다는 것이다.페이지테이블이전 단계에서 프로세서가 액세스하고자 하는 메모리가 4MByte단위로 구성되어 있다면 마이크로프로세서는 페이지 디렉터리의 PFN 필드를 통하여 페이지 테이블을 참조하고 이 페이지 테이블 중 앤트리를 사용할 것인지는 선형 메모리의 12~21비트 사이의 10비트를 인덱스로 사용하여 결정하게 된다. 최종적으로 결정된 PFN 값을 취하여 실제 물리 메모리의 위치를 결정하게 되고 선형 주소의 나머지 0~12비트를 사용하여 물리 메모리 오프셋을 결정하여 최종적인 물리 메모리에 접근하게 된다.페이지테이블의 엔트리정보엔트리설명PFN(20Bit)실제 물리적 메모리의 페이지 프레임 번호(Page Frame Number)를 나타내는 것으로 만약 이 값이 1일 경우 0x1000의 물리적 메모리 주소를 나타내며, 2일 경우 0x20000의 물리적 주소를 나타내게 된다.Avail(3Bit)프로그래머가 사용할 수 있는 여유공간이다.G(Global)(1Bit)이 비트는 Pentium Pro부터 출현한 비트로, 이 비트와 CR4 레지스터의 PGE(Page Global Enable)플래그가 세트되어 있을 경우 운영체제에서 CR3 레지스터를 변경하여 메모리 변환에 사용되는 페이지 디렉터리를 변경한다 할지라도 TLB의 내용에서 이 페이지에 대한 정보를 리셋하지 않도록 해준다. 이러한 행위는 커널 코드와 같이 모든 프로세스에서 공통적으로 사용되는 내용에 대하여 새로운 TLB의 내용으로 갱신을 수행하지 않게 하므로 프로세스의 메모리 변환을 보다 효율적으로 만들어주게 된
홈페이지 구축 및 웹 서버운용※지도교수 : 김재면 ※조원 : 신현대, 이진홍, 서승철, 성보람,정혜리, 김성희홈페이지 구축의 목적정보통신과 홍보 재학생과 졸업생의 커뮤니티 조성 학과 과목에 관련된 자료공유 취업관련 자료공유요구되는 기술HTML JAVA Script 나모, 드림위버 포토샵 플레쉬 Mysql, ASP습득 후 기술Web서버관리 능력 습득 (Windows server) DB 관리능력 습득 (Mysql, ASP) 그래픽 툴 사용 능력 습득 (Photoshop, Flash) 홈페이지 제작기술 습득 (HTML, JAVA script)본 과제의 최대 문제점 3가지서버 보안관련 취약 (Windows NT 사용) 홈페이지 유지 및 관리 기술 부족 (Windows NT 사용) 커뮤니티 활성화 대책방안 강구 (적극적인 홍보 필요) -포털 사이트 등록 및 학교 홈페이지 이용기존의 SYSTEM과의 차이점기존의 획일화된 디자인에서 벗어남 (학과를 알리는 것 뿐만아닌 시각적효과 창출) 커뮤니티 강화 (선후배 및 졸업 재학생의 커뮤니티조성) 확장성의 용이 (Windows NT 사용)현재 기술 동향 및 추이초기의 단순한 택스트 위주의 홈페이지현재 기술 동향 및 추이인터넷의 발전으로 개인홈페이지 및 블로그 등이 등장현재 기술 동향 및 추이현재의 멀티미디어의 기술이 강화된 홈페이지계획표{nameOfApplication=Show}