Operating Systems 2019F Lecture 12

From Soma-notes
Revision as of 21:51, 11 October 2019 by Soma (talk | contribs) (Created page with "==Video== Video of the lecture given on October 11, 2019 [https://homeostasis.scs.carleton.ca/~soma/os-2019f/lectures/comp3000-2019f-lec12-20191011.m4v is now available]. ==...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Video

Video of the lecture given on October 11, 2019 is now available.

Notes

Assignment 2 solutions

Midterm study guide

* environment variables
  - how they work
  - where they are in memory
* wait
  - when it waits
  - when it doesn't
  - what it really is for
* I/O redirection
  - how to do it
* umask
  - how it affects open calls, which kinds (when you create a file)
* system calls versus library calls (open, opendir, etc)
  - how the names aren't always the same
* tty's and standard in/out/error, /proc/<PID>/fd
* signal handlers
  - how to define
  - when called
  - interrupting system calls
* cd, working directory
* globbing, who does it
* UNIX pipes basics
* hard links versus symbolic links
* object files versus executable files
* inodes
  - permissions
  - times
* where local vars, funciton arguments, global vars, stack, heap, environment/command line args are all in a process's memory relative to each other
* process creation, running programs (fork, execve, exit, wait)
* 3000copy (mmap & rw), sequence of operations


Difference between base pointer (%rbp) and the stack pointer (%rsp) registers.
 * stack pointer is used to maintain the stack, is automatically changed by
   instructions like call and ret
 * base pointer register is good for doing relative addressing
   - so good for accessing local variables and parameters