PintOS Project 1

PintOS Project 1

Alikhan Oitan

There are steps you should take before starting the project 1:

  1. THOROUGHLY READ SECOND CHANCE NOTICE AND ITS INSTRUCTIONS (you can find the two links in the announcements on the blackboard)
  2. PintOS Manual (https://web.stanford.edu/class/cs140/projects/pintos/pintos.html#SEC_Top)

A) 1. Introduction

B) A.2. Threads

C) A.3. Synchronization

D) E. Debugging Tools

E) 2. Project 1: Threads

Notes:

  • No DESIGNDOC is needed
  • No late submission
  • There are some students who are suffering from make grade error due to permission denial of make-grade file.

In that case, you have to enter this command

cd your_pintos_directory/tests
chmod +x make-grade

After these steps, you have to check whether you can see your grade after entering make grade command.

  • If you have any problems, please email heejin5178@unist.ac.kr
  • You can see error message during debugging with GDB.

The reason you failed running pintos with gdb is somebody else already had occupied the port 1234.

In your local machine, no one uses the port 1234, but there must be race condition in uni server as many students are concurrently working on it.

TA found a way to change port number, and applied to uni06 server.

This is how to debug alarm-single.

a) Open Terminal 1: $ pintos -v -k --gdb --uport -- -q run alarm-single

b) Then you can see message with:

qemu-system-i386 -device isa-debug-exit -drive format=raw,media=disk,index=0,file=/tmp/55ltYZ9t2c.dsk -m 4 -net none -nographic -gdb tcp::27306 -Sin tcp::27306

Note that 27306 is assigned port number.

c) Open Terminal 2: $ cd threads/build/

d) Terminal 2: $ pintos-gdb kernel.o

e) Terminal 2: (gdb) target remote localhost:Assigned number, in this case 27306

f) Terminal 2: (gdb) b timer_sleep

g.)Terminal 2: (gdb) c

Report Page