Skip to content

Latest commit

 

History

History

userprog

Folder structure

Here is a brief overview of the files in the userprog directory.

  • exception.c
    exception.h:
    When a user process performs a privileged or prohibited operation, it traps into the kernel as an "exception" or "fault."(3) These files handle exceptions.

  • gdt.c
    gdt.h:
    The 80x86 is a segmented architecture. The Global Descriptor Table (GDT) is a table that describes the segments in use. These files set up the GDT.

  • pagedir.c
    pagedir.h:
    A simple manager for 80x86 hardware page tables. See section 4.1.2.3 Page Tables, for more information.

  • process.c
    process.h:
    Loads ELF binaries and starts processes.

  • syscall.c
    syscall.h:
    Whenever a user process wants to access some kernel functionality, it invokes a system call.

  • tss.c
    tss.h:
    The Task-State Segment (TSS) is used for 80x86 architectural task switching. Pintos uses the TSS only for switching stacks when a user process enters an interrupt handler, as does Linux.

  • Make.vars:
    Makefile variables specific to the userprog directory.

  • Makefile:
    Makefile for building the userprog directory.