[PintOS] - Project 1 - Alarm Clock (작성중)

Junyeong Fred Kim·2021년 12월 29일
0

운영체제

목록 보기
8/27

Alarm 개요

과제 목표

기상을 위해 정해진 시간이 되면(또는 지나면) 울리는 알람처럼 이번 과제에서의 Alarm(알람)은 호출한 프로세스를 정해진 시간 후에 다시 시작하는 커널의 내부 함수이다.

기본적으로 Pintos에서 제공하는 알람 기능은 Busy waiting을 이용하여 구현되어 있는데, 이번 과제에서는 Sleep/Wake up을 이용하여 수정하는 것이 목표이다.

Busy waiting

  • Thread가 CPU를 점유하면서 대기하고 있는 상태.
  • CPU 자원이 낭비 되고, 소모 전력이 불필요하게 낭비될 수 있다.

busy-looping 또는 spinning이라고도 불리는 이 기법은 프로세스가 반복적으로 조건을 만족하는지 체크한다. 계속해서 조건 만족 여부를 체크하기 때문에 충분한 숙면을 취하기 어려운 방식이다.

Sleep/Wake up

Busy waiting과는 달리 프로세스를 sleep 시키고 정해진 시간 후에 알람을 통해 깨우는 방식으로 알람이 울리기 전까지는 조건 만족 여부를 체크하지 않고 푹 잘 수 있다.

profile
기억보다 기록

0개의 댓글