Go Back   2018-2019 StudyChaCha > StudyChaCha Discussion Forum > General Topics

Old December 5th, 2017, 05:21 PM
Posts: n/a
Default IIITH Pintos

Hi I would like to know what Pintos is as well as having the detailed information about getting started with Pintos?
Reply With Quote Quick reply to this message
Old December 6th, 2017, 09:26 AM
Educhamp's Avatar
Super Moderator
Join Date: May 2011
Location: Delhi
Posts: 38,230
Default Re: IIITH Pintos

Pintos is PC programming, a basic instructional working framework structure for the 80x86 processor engineering. It bolsters portion strings, stacking and running client programs, and a record framework, yet it executes these in an extremely straightforward manner. It was made at Stanford University by Ben Pfaff in 2004.

It began as a trade for Not another Completely Heuristic Operating System (Nachos), a comparative framework initially created at UC Berkeley by Thomas E. Anderson, and was outlined along comparable lines. Like Nachos, Pintos is expected to acquaint students with ideas in working framework plan and usage by expecting them to execute huge parts of a genuine working framework, including string and memory administration and document framework get to. Pintos additionally shows understudies important troubleshooting abilities.

Not at all like Nachos, Pintos can keep running on real x86 equipment, however it is frequently keep running on a x86 emulator, for example, Bochs or QEMU. Nachos, by differentiate, keeps running as a client procedure on a host working framework, and focuses on the MIPS design (Nachos code must keep running on a MIPS test system). Pintos and its going with assignments are likewise composed in the programming dialect C rather than C++ (utilized for unique Nachos) or Java (utilized for Nachos 5.0j).

Getting started with Pintos

1. Install Qemu
Ubuntu users can install it using following command:
$ sudo apt-get install qemu
If you are using Fedora, qemu is called qemu-system-i386. You need to do the following
$ ln -s /bin/qemu-system-i386 /bin/qemu

2. Download Pintos
Download Pintos and extract it in some directory say $HOME/os-pg/

Now open the script ‘pintos-gdb’ (in $HOME/os-pg/pintos/src/utils) in any text editor. Find the variable GDBMACROS and set it to point to ‘$HOME/os-pg/pintos/src/misc/gdb-macros’.

4. Compile the Utilities
$ cd $HOME/os-pg/pintos/src/utils
$ make
This will compile the utilities in the folder.
If you get an error saying “Undefined reference to ‘floor'”, make following changes:
Edit “Makefile” in the current directory and replace “LDFLAGS = -lm” by “LDLIBS = -lm” and redo the step.

5. Edit Make.vars in threads directory
Open the file “$HOME/os-pg/pintos/src/threads/Make.vars” and change the last line to:

6. Compile Pintos Kernel
$ cd $HOME/os-pg/pintos/src/threads/
$ make

7. Edit Pintos utiltiy
Make these three changes in “$HOME/os-pg/pintos/src/utils/pintos” :
a. Change line no. 103 to “$sim = “qemu” if !defined $sim;” to enforce qemu as simulator
b. On line no. 257, replace “kernel.bin” to path pointing to kernel.bin file at “$HOME/os-pg/pintos/src/threads/build/kernel.bin”.
c. Comment line no. 622 that says push (@cmd, ‘-no-kqemu’); That is replace line no. 622 to “#push (@cmd, ‘-no-kqemu’);”

8. Edit Pintos.pm file
Open “$HOME/os-pg/pintos/src/utils/Pintos.pm” and replace “loader.bin” at line no. 362 to path till loader.bin located at “$HOME/os-pg/pintos/src/threads/build/loader.bin”

9. Run Pintos
$ cd $HOME/os-pg/pintos/src/utils/
$ pintos run alarm-multiple

10. Add to PATH variable
pintos and other utilities are used to talk to Pintos. To run these utilities from any directory, add below mentioned line at the end of $HOME/.bashrc file and restart the terminal:
export PATH=$HOME/os-pg/pintos/src/utils:$PATH
(Note: Replace $HOME by your home directory path in every step)
This will create 5 threads and sleep for some predefined times. You can see all these messages in the terminal as well as in a Qemu terminal. Now you are ready to implement changes and enhance pintos.
Answered By StudyChaCha Member
Reply With Quote Quick reply to this message
Sponsored Links


Reply to this Question / Ask Another Question
Your Name: Click here to log in


Forum Jump

All times are GMT +6.5. The time now is 12:45 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO 3.6.0 PL2

1 2 3 4 5 6 7 8 9