GOLD
GOLD 등급의 판매자 자료

Pintos Project 1 한국어 설명서 (design report) - Alarm clock, Priority Scheduling, Advanced Scheduling

38 페이지
어도비 PDF
최초등록일 2024.06.15 최종저작일 2023.09
38P 미리보기
Pintos Project 1 한국어 설명서 (design report) - Alarm clock, Priority Scheduling, Advanced Scheduling
  • 미리보기

    소개

    pintos 1을 한국어로 쉽게 설명해놓은 design 보고서입니다.
    방대한 파일의 코드들 중, 어느 부분을 어떻게 고쳐야 할지 관련 개념과 함께 설명되어 있습니다.

    목차

    0. analysis
    0.1. thread
    0.1.1. struct thread
    0.1.2. thread functions
    - [thread 시작 관련 function]
    - [thread 관리 function]
    - [thread 동작 관련 function]
    - [scheduling function]
    - [timer 관련 function]
    0.1.3. list
    - [list function]
    0.1.4. how to switch thread
    0.2. synchronization
    0.2.1. meaning of synchronization
    0.2.2. disabling interrupts
    0.2.2.1. meaning of disabling interrupts
    0.2.2.2. caution
    0.2.2.3. implement
    0.2.3. semaphore
    0.2.3.1. meaning of semaphore
    0.2.3.2. implementation
    0.2.4. lock
    0.2.4.1. meaning of lock
    0.2.4.2. implementation
    0.2.5. condition
    0.2.5.1. meaning of condition
    0.2.5.2. implementation
    0.2.6. interrupt handling
    0.2.6.1. external interrupt handling

    1. alarm clock
    1.1. current implementation
    1.1.1. timer.c functions
    1.1.2. busy-waiting
    1.2. new implementation

    2. priority scheduling
    2.1. current implementation
    2.2. new implementation
    2.2.1. priority scheduling modification
    2.2.2. synchronization modification
    2.2.3. priority donation modification

    3.advanced scheduling
    3.1. MLFQS
    3.2. Priority scheduling
    3.2.1. ready queue 관리
    3.2.2. priority 관리
    3.2.3. priority 계산
    3.3. fixed-point arithmetic
    3.4. implementation

    본문내용

    0.1. thread
    pintos에서는 thread creation과 thread completion, Round-Robin 방식의 thread switching(simple scheduler)을 이미 구현해 두었다.
    0.1.1. struct thread
    kernel thread의 struct는 “threads/thread.h”에 선언되어 있다.
    thread structure은 4kB page를 차지한다. struct thread는 page of memory의 시작부터 공간을 차지한다. page의 나머지 부분은 thread의 stack을 위해 이용되는데, 이는 end of the page로부터 아래쪽 방향으로 내려가며 진행된다.

    따라서 kernel stack을 위한 공간을 위해 struct thread는 너무 크기가 크면 안 된다. base struct thread는 1kB 미만이어야 한다. 그리고 kernel stack도 너무 크면 안 된다. stack에서 overflow가 발생하면 thread state를 침범할 것이므로 kernel function은 struct와 array에 non-static local variable 같이 너무 많은 공간을 할당하지 않고, malloc()이나 palloc_get_page() 같은 동적 할당 function을 써야 한다.
    [Member of struct thread]
    tid_t tid
    thread identifier를 뜻한다. 각 thread를 분간한다. 현재는 int 자료형에 1부터 numbering되게끔 짜여져 있다.

    참고자료

    · 한양대 pintos 자료, postech pintos 자료
  • 자료후기

      Ai 리뷰
      pintos의 thread 관리 기능에 대한 이해도를 높이고 효율적인 thread 구현을 위한 핵심 정보를 제공하고 있습니다.
    • 자주묻는질문의 답변을 확인해 주세요

      해피캠퍼스 FAQ 더보기

      꼭 알아주세요

      • 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
        자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
        저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
      • 해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.
        파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
        파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우
    문서 초안을 생성해주는 EasyAI
    안녕하세요. 해피캠퍼스의 방대한 자료 중에서 선별하여 당신만의 초안을 만들어주는 EasyAI 입니다.
    저는 아래와 같이 작업을 도와드립니다.
    - 주제만 입력하면 목차부터 본문내용까지 자동 생성해 드립니다.
    - 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
    - 스토어에서 무료 캐시를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
    이런 주제들을 입력해 보세요.
    - 유아에게 적합한 문학작품의 기준과 특성
    - 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
    - 작별인사 독후감
    해캠 AI 챗봇과 대화하기
    챗봇으로 간편하게 상담해보세요.
    2025년 07월 31일 목요일
    AI 챗봇
    안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
    11:03 오전