[크래프톤 정글/Week 09] 키워드 정리
·
활동/크래프톤 정글
☑️ 유저 모드 vs 커널 모드(User Mode vs Kernel Mode)운영체제에서 하드웨어의 주요 권한을 응용 프로그램으로부터 보호하기 위해 사용되는 기법  ⭐  커널이란?  영문 사전에서 커널(Kernel)은 '핵심'을 의미한다.컴퓨터 과학 용어들은 단어의 뜻 그대로를 가리키는 경우가 많다.커널도 운영체제에서 핵심을 의미한다.커널의 주요 기능은 다음과 같다.메모리의 할당 및 해제를 관리한다.프로세스 생성 및 소멸을 관리하며 어떤 프로세스가 CPU에 할당될지 결정한다.하드웨어 장치를 제어하고 입출력 작업을 처리한다.응용 프로그램에서 요구하는 요청을 처리한다. ⭐  유저 모드 vs  커널 모드  커널은 위와 같이 컴퓨터 하드웨어의 핵심적인 역할을 담당한다.이러한 커널이 응용 프로그램에서 다뤄지게 된..
[크래프톤 정글/Week 08/PintOS] Priority Scheduling ( 높은 우선순위 먼저 실행하기 )
·
활동/크래프톤 정글
🖐️Priority Scheduling ( 높은 우선순위 먼저 실행하기 ) 1️⃣ 우선순위 정렬 함수 만들기// thread.cbool compare_priority(const struct list_elem* a, const struct list_elem* b, void* check UNUSED){ struct thread *thread_a = list_entry(a, struct thread, elem); struct thread *thread_b = list_entry(b, struct thread, elem); return thread_a->priority > thread_b->priority;}// thread.hbool compare_priority(const struct list_elem*,..
[크래프톤 정글/Week 08/PintOS] Priority Scheduling ( 정리 )
·
활동/크래프톤 정글
🖐️Priority Scheduling ( 정리 )PintOS에서 우선순위 스케쥴링 방식을 구현해 보자! Alarm Clock을 구현하면서 PintOS가 어렵지 않다고 생각했는데 이번 과제를 구현하면서 생각이 많이 달라졌다. Local 환경도 아니고 Docker에서 PintOS를 구현하기 때문에 디버깅이 쉽지 않은 것은 물론이고 이슈 찾기가 무척 어렵다. 무엇보다 과제의 난이도가 올라갔다.. 그래서 우선순위 스케쥴링(Priority Scheduling)은 구현 방법을 소개하기 앞서 과제에 대한 정리를 하고 들어가고자 한다. ☑️ 과제의 최종 목표FIFO 방식의 스케쥴링을 우선순위 스케쥴링으로 변경하기!" 이번 과제는 달성하기 위해서 Alarm Clock에 비해서 복잡한 구현을 진행해야 한다. 조금 더 ..