ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [후기] [서울대]컴공 후기 2003/10/2
    정리필요3 2008. 9. 2. 15:34

    2004년 전기 오후반이었고요. 10월18일 토요일 오후반으로 봤습니다.

    문제는 총 3문제였고 각문제내에 소문제그룹으로 나뉘어져서 전체대답할수는 7가지였습니다.
    10분 문제풀 시간을 줬고요 10분대답시간.

    문제
    1)컴구조
    1-1) mips는 성능평가를 위한 적절한 척도가 아니다. 왜아닌가?
    1-2) mips가 상대적인 성능평가를 위한 올바른 기준이라 할때
    서로다른 mips를 가지는 프로그램들의 평균을 어떻게구하나?

    2)알고리즘
    2-1) 0~100 중 임의의수 k 를 구하는 효율적 알고리즘은?
    2-2) 0보다 큰수 k를 구하는 효율적 알고리즘은?

    3)운영체제
    3-1)페이지 교체알고리즘중 FIFO의 문제점은?
    3-2)실제로 교체알고리즘중 LRU를 잘안쓰고 LRU근접 알고리즘을 쓰는
    이유는?
    3-3)Working set 알고리즘이 threshing방지에 어떻게 도움을주나.?

    저는 컴구조를 들은지가 오래되었고 준비도 가장못했던 과목이라
    1-2번 대답에서 버벅버벅. 허튼소리한것같습니다.

    두분교수님이 계셨는데 사전정보가 전혀없는지라
    면접끝난 지금도 두분이 누구신지 모르겠네요 -_-;;
    당시 상황을 올리자면...
    (교수님1,교수님2 , 나)


    교1:이름이 뭔가?
    교2:(물끄러미 바라봄)
    나:***입니다
    교1:대답해보게
    나:순서대로 해야합니까?
    교1:그래
    나:우선 1-1번은 명령어마다 사용하는 CPI(clock per instruction)가 다르기때문에 초당실행한 백만단위 명령어 수(millions instruction per second, MIPS)으로 성능을 평가하면 어떤 명령어로 평가하는가에따라 MIPS가 달라집니다.
    교1:그래 2번
    나:mips * cpi / 수행시간 하면 실제 사용한 cpu타임을 알수있을것같습니다.
    교1: 아닌데.
    교2:(물끄러미 바라봄)
    나: -_-;;; 뭐라뭐라~ 어버버버~ 여기서 땀 흘렸습니다. 답을 유도해보시려 힌트를 던지시는듯했지만 결국 원하시는 답을 이야기하지 못한듯.ㅠㅠ

    교1:다음문제 대답해보게
    나:이진탐색을 사용합니다. 50에서 시작해서 크면 75, 작으면 25, 비교값을 반씩줄여가면서요.
    교1:그래 2번은.
    교2:(물끄러미 바라봄)
    나:이진탐색의 응용으로 상한선이 구해지지 않은 경우이므로 기준값을 정해 그것을 2배씩 올려가며 값의 범주를 먼저 찾습니다.
    예를 들면 1000보타 크다면 2000증가시킨 값 고담에4000. 8000...
    교1:(노려보며)내가 생각하고있는 수를 맞춰보게
    나:1000보다 크십니까
    교1:크네
    나:3000보다 크십니까(+2000)
    교1:크네
    나:7000보다 크십니까(+4000)
    교1:크네
    나:15000보다 크십니까(+8000)
    교1:크네
    나:31000보다 크십니까(+16000)
    교1:크네
    나:63000보다 크십니까(+32000)
    교1:한참 크네
    나:-_-;;
    교1:더 좋은 방법이 있는데.
    교2:(물끄러미 바라봄. 반했나-_-;)
    나:(데굴데굴.)지금의 경우 2배씩 증가시킨것은 기울기가 1차이기때문에
    기울기가 더 큰 함수를 쓰면 될것 같습니다.
    교1:그럼 뭐가있나
    나:지수를 쓰면 될것같습니다
    교1:그럼 실제로 어떻게 되나
    나:2,4,16,256...
    교1:다음 문제 대답해보게
    교2:(대충 맞는것 같다는 눈빛)


    나:3-1은페이지 교환 알고리즘에서 FIFO교체를 쓰면 두가지 문제점이 있습니다. 첫번째는 FIFO알고리즘은 프로세스의 locality 특성을
    이용하지 못한다는 점입니다. 이것은 문제점이라기보다 비효율적인 것이
    되겠고요. 두번째가 실제 문제점인데 FIFO를 사용할경우
    '벨러디의 모순'(:프로세스에 프레임을 더 할당하는데 페이지 폴트 발생횟수는 증가하는 현상이죠)이 발생합니다.
    교2:(고개 끄떡끄떡)
    교1:다음
    나:페이지 교체 최적의 알고리즘은 '가장오랫동안 사용하지 않을 페이지를 교체하는것'이지만 실제로 프로세스의 어떤 페이지가 가장 오랫동안 사용되지 않는지 알수가 없습니다. 때문에 LRU알고리즘을 쓰는것이고요
    실제로 LRU알고리즘 대체알고리즘을 쓰는것은 LRU를 실제구현하려면
    스택을 써야하는데 폰노이만 구조하에서 스택은 비효율적으로 작동합니다. 때문에 하드웨어적인 이유로 LRU근접알고리즘을 씁니다
    (이때 시간다됨. 문똑똑)
    교1:그래 나가보게
    나:저 3-3번문제는-_-.
    교1:그래 해봐.
    나:threshing은 프로세스에 할당된 프레임이 너무 적어 빈번한 페이지 폴트가 발생해 cpu가 스와핑만 하느라 유용한 작업을 하지 못하는 상태입니다.working set은 프로세스작업을 위한 최소프레임을 보장해 줌으로써 쓰레싱을 막습니다.


    교수님이 원하시는 정도의 답인지는 모르겠지만
    제가하는 전공지식내에서는 1-2번을 제외하고는 맞는 쪽 답인것 같습니다. 발표까지 아직 5주나 남았네요.
    좀 일찍 발표해주면 좋을텐데..

    하나라도 건질게 있는 후기였으면 합니다.
    이곳에서 많은 정보 많이 얻으시고요.
    원하시는 대학원에 꼭 선택되시길 바랍니다.

    행복하세요^^


    출처: cafe.daum.net/goMS

Designed by Tistory.