Questions tagged [pintos]

Pintos is a simple instructional operating system framework for the 80x86 architecture. The software supports kernel threads, loading and running user programs, and a file system, but it implements all of these in a very simple way.

Pintos OS - Git Repo

Courses using Pintos include:

58 questions
7
votes
2 answers

How to automatically close the execution of the `qemu` after end of process?

I want that the qemu window after opening and showing the output automatically closes after running pintOS Like when i run the command pintos -- run alarm-multiple in tcsh shell, qemu displays that process begins ,then some alarm-notifications and…
Alfran
  • 1,301
  • 1
  • 10
  • 19
6
votes
2 answers

How to resolve PintOS unrecognized character \x16

I downloaded and set up PintOS and the dependencies on my home computer, but when I try to run pintos run alarm-multiple, I get the error: Unrecognized character \x16; marked by <-- HERE after if ($<-- HERE near column 7 at…
Brandon Olivier
  • 578
  • 5
  • 16
5
votes
1 answer

I am getting the following error after installing Pint-OS and trying to run multiple alarm. I am using bochs as emulator. Any possible work around?

Prototype mismatch: sub main::SIGVTALRM () vs none at /home/abhijay/pintos-os/pintos/src/utils/pintos line 934. Constant subroutine SIGVTALRM redefined at /home/abhijay/pintos-os/pintos/src/utils/pintos line 926. warning: can't find squish-pty, so…
Abhijay
  • 191
  • 4
  • 18
4
votes
1 answer

Pintos test cases : Why are some written in c and some in ck file extension?

In pintos/src/tests/threads, some of the tests are written in c, while some written in perl (ck file), and the other tests have both c and ck files. two questions : Is .ck extension used for perl scripts? For some reason, I am not getting…
zoonoo
  • 485
  • 1
  • 6
  • 13
4
votes
1 answer

Why does the kernel have a separate virtual address for a user page?

I'm confused about this statement: From http://web.stanford.edu/class/cs140/projects/pintos/pintos_4.html#SEC63: In Pintos, every user virtual page is aliased to its kernel virtual page. I thought the kernel would just be able to use the user…
4
votes
1 answer

Triple fault when setting IA32 EFER.LME

We are working on an educational operating system called Pintos, trying to set it up to support Virtualization. We start with the version running on 32 bits and our first step would be to switch to 64bit mode and continue from there. We're running…
4
votes
2 answers

Pintos Programming Project 2

Does Pintos have to be installed in a different way for the second Project (User Programs)? Whenever I try to run pintos -f -q on my installation, I get an error where Pintos doesn't recognize the arguments "-f". Back to tcg accelerator. PiLo…
user2839294
  • 51
  • 1
  • 5
3
votes
0 answers

Switch context in Pintos

I am analyzing a schduler of Pintos ( I mean- the simple scheduler provided by the native implementation). When a tick ( I mean tick raised by timer) happen it will be handled by: static void timer_interrupt (struct intr_frame *args) { ticks++; …
Gilgamesz
  • 4,727
  • 3
  • 28
  • 63
3
votes
1 answer

PintOS: schedule() Kernel Panic at ASSERT(is_thread(next))

Schedule() in thread.c takes the current running thread and the next thread in the ready list, and does an ASSERT that the next thread is a thread (is_thread(t) checks that t != NULL and that t->magic == THREAD_MAGIC). I'm currently getting this…
MLE
  • 51
  • 1
  • 5
2
votes
0 answers

on Ubuntu 19.10

I'm trying to work PintOS on my Ubuntu 19.10 machine, but I'm getting trouble with this library, did some research and apparently stropts.h part of a POSIX XSR option, which Linux now, says it is not supported. My question is, I can somehow make…
midwayjona
  • 21
  • 4
2
votes
1 answer

Understanding the relation between user, kernel and physical addresses in pagedir_get_page()

I am confused about the following comment: /* Looks up the physical address that corresponds to user virtual address UADDR in PD. Returns the kernel virtual address corresponding to that physical address, or a null pointer if UADDR is unmapped.…
Tony Lucas
  • 189
  • 1
  • 13
2
votes
1 answer

Taking a semaphore must be atomic. Is Pintos's sema_down safe?

This piece of code comes from Pintos source: https://www.cs.usfca.edu/~benson/cs326/pintos/pintos/src/threads/synch.c void sema_down (struct semaphore *sema) { enum intr_level old_level; ASSERT (sema != NULL); ASSERT (!intr_context ()); …
Gilgamesz
  • 4,727
  • 3
  • 28
  • 63
2
votes
0 answers

Working with QEMU on Pintos : make check returns FAIL because QEMU hangs after execution

I am working on PINTOS with QEMU setup as the simulator. It works find when I run pintos run alarm-single, but the problem occurs when I run the test with make check. The output is produced successfully but the test still returns FAIL because QEMU…
zoonoo
  • 485
  • 1
  • 6
  • 13
2
votes
1 answer

undefined references to `__stack_chk_fail' during pintos installation

I am trying to install pintos in Ubuntu 13.10 but while doing the 'make' command in the thread folder, I got the error "more undefined references to `__stack_chk_fail' follow make[1]: * [kernel.o] Error 1 " As iam encountering this error for the…
lijo050
  • 233
  • 4
  • 14
2
votes
0 answers

Pintos kernel triple faults on call to printf() with bochs

I'm just getting started with the Pintos project, working from my home computer that is running Ubuntu. I'm able to compile the project from the src/threads/ directory, and the initial test pintos run alarm-multiple seems to work okay (notice that…
olliezhu
  • 752
  • 1
  • 8
  • 17
1
2 3 4