CS3214 Computer Systems
CS3214 Computer Systems

List of FAQ questions§

This is a compilation of individual posts that were created in response to questions students had in the past about certain topics.

  • List of banned functions in CS3214

General Questions§

  • How do I pull a basecode update?
  • How do I set up my bash shell
  • How do I set up ssh for git
  • How do Unix environment variables work, and PATH in particular?
  • How do Unix permissions work?
  • How does the so-called shebang or (hash-bang) work?
  • How should we use valgrind in CS3214
  • Do we need to fix memory leaks
  • Why can't I easily find the C standard online?

Processes, IPC, etc.§

  • Real-world examples where catching SIGSEGV is useful
  • What are named pipes?
  • How do daemons work?
  • What is raw and cooked mode?
  • What's up with these weird Unix terms?
  • How does signal delivery work?
  • What is the "use case" of learning about async-signal-safety

Multithreading§

  • How do thread ids work in Linux/Pthreads?
  • What does atomicity mean?
  • What exactly are hardware (or hyper-) threads?
  • Is combining multithreading and multiprocessing useful?
  • How do I interpret Helgrind's output?
  • What is false sharing?

Memory§

  • What the purpose of alignment is and why it is important?

Linking§

  • How does PC materialization work?
  • What's the difference between stack and heap?

Web Design by Godmar Back and CS3214 TAs 2022.