가상메모리 - 교체알고리즘


컴퓨터

Written by 블럭 on 2013. 12. 13. 22:40

Page Replacement 알고리즘
Page Fault 가 발생하면 OS는 프로세서가 요구하는 워드를 포함한 페이지를 하드디스크로부터 물리메모리(메인메모리)로 이동시키는 데, 이때 이미 메인 메모리에 저장되어 있던 page를 교체하는 방법

가상메모리 시스템 중 교체 알고리즘에 대한 예제
FIFO, LRU, Clock 세 가지

 

  HIT

 USED

 

FIFO교체
메모리 내에 가장 오랫동안 있었던 페이지를 교체하는 알고리즘이다. 이 방법은 가장 오래전에 적재된페이지가 다시 사용될 확률이 적다는 논리를 이용해서, 메모리에 가장 오래 있었던 페이지를 교체하는 것이다. 각 페이지가 주기억장치에 적재될 때마다 그때의 시간을 기억시켜 둬야 한다.

2, 3, 4, 2, 6, 2, 5, 6, 1, 2 페이지에 대한 요청

 요청 

 PF0 

2

2

2

6

6

6

6

1

1

PF1

 

3

3

3

3

2

2

2

2

2

PF2

 

 

4

4

4

4

5

5

5

5

 

 

 


적중률은 3/10 = 30% 이다.

LRU교체
메모리 내에 적재된 페이지 중에서 사용되지 않은 채 가장 오래 있었던 페이지를 교체하는 알고리즘이다. 각 페이지가 참조될 때마다 그때의 시간을 테이블에 기억시켜 두고, 페이지가 교체될 때마다 가장 오랫동안 있었던 페이지를 교체한다. 지역성의 원리를 따른다면, 이 페이지는 향후 참조될 가능성이 가장 적을 것으로 판단된다. 구현이 어려우며, 참조될 때마다 시간을 기억하는 것은 오버헤드가 많다.

요청 

 PF0 

2

2

2

2

2

2

2

2

1

1

PF1

 

3

3

3

6

6

6

6

6

6

PF2

 

 

4

4

4

4

5

5

5

2

 

 

 

적중률은 3/10 = 30% 이다.

Clock교체
FIFO알고리즘을 수정한 것으로서, 주기억장치 내에 적재된 페이지의 시간과 사용빈도를 고려한다. 그래서 이 교체 방법을 FINUFO라고도 한다. 이 방법을 구현하는 데는 페이지 사용을 나타내는 사용 비트와 페이지가 적재되는 위치를 나타내는 포인터가 사용된다.

 

 Pnt

Pnt+1 

 

 REQ

 

 

 

 

 

 

 

 

 

 

 

 PF0

 PF1

 

 

 0

 PF2

 

 

 

 

 

 

 

Clock 알고리즘은 사용비트가 1이면 사용 비트를 0으로 변경 후 포인터를 증가시킨다. 새로운 포인터가 가리키는 곳에 Page가 변경이 되면 포인터를 다시 증가시킨다.  Hit시에는 포인터가 증가하지 않음
적중률은 4/11 = 36% 이다.

 

[컴퓨터 구조] SRAM 설계


컴퓨터

Written by 블럭 on 2013. 11. 27. 22:08

 

메모리셀의 배열이 64 * 64
512*8의 메모리칩의 내부 구조
총 9개의 주소선과 8개의 데이터 선이 필요하다.

이를 이용하여 4K * 1, 1K * 4, 256 * 16 등의 다른 메모리 구성 설계도 해보자.

프로그래밍, 그 놀라운 힘


컴퓨터

Written by 블럭 on 2013. 11. 5. 23:58

 

 

 

가끔 가다보면 컴퓨터 폴더 내 파일목록을 문서에서 목록으로 만들 필요가 있을 때가 있다.
드래그해서 복사하고 문서에 붙여넣어 보지만, 당연히 이름만 붙여넣어질리가 없다.
이 경우 cmd의 명령어와 엑셀로 간단하게 해결해줄 수 있다.

1. 시작 - 실행 - cmd / 윈도우키+R - cmd
2. 만약 폴더가 C:\폴더001에 있고 현재 경로가 C:\Users 라면 아래 명령어를 입력하여 폴더001로 이동한다.

C:\Users> cd.. 엔터
C:\> cd 폴더001 엔터
C:\폴더001>

- 이제 폴더 내 파일 및 하위 폴더를 보여주는 명령어 dir을 이용해 txt파일로 추출한다.
3. dir을 이해하기 위해 dir을 입력한다.

C:\폴더001>dir
C:\폴더001 디렉터리

2012-01-09 오후 08:35     <DIR>        .
2012-01-09 오후 08:35     <DIR>        ..
2012-01-09 오후 08:35     <DIR>        폴더002
2012-01-09 오후 08:35           58,681  abcd.jpg
            1개 파일                       58,681 바이트
            3개 디렉터리            90,732,137,472 바이트 남음

위 화면처럼 폴더에 있는 파일 및 폴더를 자세하게 보여주었다.
이제 이 화면을 txt로 추출해보자.
4. dir > text.txt를 입력한다. dir의 결과를 > text.txt의 파일로 저장한다는 뜻이다.

C:\폴더001> dir > text.txt

이제 저장이 되었는지 확인을 해보겠다.

C:\폴더001>dir
C:\폴더001 디렉터리

2012-01-09 오후 08:35 <DIR> .
2012-01-09 오후 08:35 <DIR> ..
2012-01-09 오후 08:35 <DIR> 폴더002
2012-01-09 오후 08:35 58,681 abcd.jpg
2012-01-09 오후 08:43   1,091  test.txt
2개 파일 59,772 바이트
3개 디렉터리 90,732,136,381 바이트 남음

아랫부분에 test.txt파일이 생성 된 것을 확인할 수 있다.
이제 그 파일을 열어서 모두 복사 한다음 엑셀에 붙여넣는다.

엑셀 부분은 간단하게 설명을 해두겠다.
1. A1셀에 붙여넣기를 했으면 A를 눌러 전체 선택을 한다.
2. 데이터 - 텍스트 나누기를 선택한다.
3. 구분 된 기호사용 - 탭, 공백을 선택 후 마침을 누른다.
4. 쓸데없는 데이터는 지운 뒤 (A~D의 내용) 편집 후 저장한다.

생각보다 복잡한 절차가 있어보이지만 실제로 숙달 후 하면 30초도 걸리지 않는 작업이다.
더 이상은 파일명 추출에 끙끙거리지 말자!

 

흔한 dll 에러 vb6ko.dll 해결방법입니다.
요즘에는 dll파일 찾으러 다니면 exe 파일로 된 악성코드 및 광고파일이 혼합되어
다운로드가 되고있더라구요, 컴퓨터 아프게 하지말고 깨끗한 dll파일 받으시고
시원하게 해결하길 바랍니다 ^^.


"vb6ko.dll 을 찾을 수 없습니다." 혹은 "vb6ko.dll'could not be found"에러
비주얼 베이직 vb6로 짜여진 프로그램을 실행했을 때
컴퓨터에 필요한 vb6ko.dll이 없을 때 발생하는 에러입니다.

해결법은 간단합니다.

vb6ko.dll
위 파일을 다운받고 운영체제별로 다운로드 경로를 지정해줍니다.
 windows2000, windowsXP, windows7 / C:\Windows\system32
 windows98, windowsMe                    / C:\Windows\system

해결이 되었는지 확인 후 여전히 오류가 뜬다면 아래 내용을 참조해주세요.

vb6ko.dll의 속성을 누른 후 아래 보안에서 차단해제(K)를 눌러 적용 및 확인 누릅니다.

여전히 해결이 되지 않았다면 다음의 방법을 참조해주세요.

※아래 작업이 귀찮으신분은 받아주세요 >>vb6koReg.bat자동입력bat파일입니다.

1. 시작 - 실행 - cmd 입력 or 윈도우키 + R - cmd 입력
2. 화면에 regsvr32 /u C:\windows\system32\vb6ko.dll를 입력하여 dll정보를 해지합니다.
3. 화면에 regsvr32 C:\windows\system32\vb6ko.dll를 입력하여 dll정보를 등록합니다

이 방법으로도 해결이 되지 않았다면 오류 메시지를 댓글로 달아주시면 해결해드리겠습니다.
좋은하루 되세요 ^^

 

[동영상변환] mkv - > avi 변환툴


컴퓨터

Written by 블럭 on 2012. 12. 3. 15:55

오늘 동영상 한편을 다른기기를 통해 보려고 했는데 mkv를 지원하지 않더군요..
그래서 avi로 변환이 필요해 Any Video Converter라는 프로그램을 이용하여 변환했습니다.
간편하고 초보자들이 쉽게 사용할 수 있어 추천해봅니다.

 다운은 네이버 자료실 >> http://file.naver.com/pc/view.html?fnum=337051&cat=40

다운로드가 완료되면 avc-free357.exe 파일을 실행하여 설치를 완료 후 실행합니다.

 

1. Add Video Files 혹은 원하는 동영상 파일을 화면으로 드래그앤드롭합니다.

2. Output profile: 아래 애플로고(사과)를 클릭하면 다양한 플랫폼에 대한 선택권이 주어집니다.
    현재는 동영상 avi로 변환을 원하기 때문에 Video Files를 선택해줍니다.

3. 오른쪽 Flash Video Movie(*.flv)를 클릭하여 파일의 확장자 (포맷방식)에 대해 선택을 합니다.
   제가 원하는 avi 형식의 파일인 Customized AVI movie (*.avi)가 보입니다. 선택합니다.
   여기까지 기본적인 mkv > avi파일변환 준비는 모두 완료되었습니다.
   마지막으로 자신에게 맞는 동영상 파일의 설정만 해주면 끝이에요.


General / Output Duration / Video Options / Audio Options
총 네가지 설정을 할 수 있으며 따로 설정이 필요하신분만 설정하면 되겠습니다.

4. 이제 왼쪽 위에있는 Convert Now! 버튼만 클릭하면 자동으로 변환이 시작됩니다.

   파일 용량에 따라 분~시간이 걸릴 수 있으니 변환하는 동안 다른 작업하고 계시면 될거같아요 ^^
수고하셨습니다! 유용하게 쓰시길 바랄게요!