Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 

README.md

CS110Notes

CS110 Tutorial at Stanford

Hosted here, but it will be taken down when I graduate.

           _____    _____   __   __    ___      
          / ____|  / ____| /_ | /_ |  / _ \     
         | |      | (___    | |  | | | | | |    
         | |       \___ \   | |  | | | | | |    
         | |____   ____) |  | |  | | | |_| |    
          \_____| |_____/   |_|  |_|  \___/  

Course title: Principles of Computer Architecture

Spring 2017, offered by J. Cain

Author: L. Haihong (@Leedehai)

Caveat: no warranty, but feedback on factual errors are welcome!

Index

Introduction
[HTML][Markdown]

Topic 1 Filesystem (1): cp, "the three tables", find, intro to system calls
[HTML][Markdown]

Topic 1 Filesystem (2): file systems, layering, more on system calls
[HTML][Markdown]

Topic 2 Multiprocessing (1): fork(), waitpid(), reaping
[HTML][Markdown]

Topic 2 Multiprocessing (2): execvp(), "the trio", shell
[HTML][Markdown]

Topic 2 Multiprocessing (3): pipes, redirection
[HTML][Markdown]

Topic 2 Multiprocessing (4): signals, signal handlers, signal masking
[HTML][Markdown]

Topic 2 Multiprocessing (5): paging, virtual memory, scheduler, context switch
[HTML][Markdown]

Topic 3 Multithreading (1): POSIX C pthread, race conditions
[HTML][Markdown]

Topic 3 Multithreading (2): C++ thread, mutex
[HTML][Markdown]

Topic 3 Multithreading (3): dining philosophers problem, deadlocks, permission slips, condition_variable_any, lock_guard
[HTML][Markdown]

Topic 3 Multithreading (4): semaphore, reader-writer problem, myth-buster
[HTML][Markdown]

Topic 3 Multithreading (5): concurrency patterns, ice-scream-parlor
[HTML][Markdown]

Topic 4 Networking (1): sever, client, sockets, server-side multithreading
[HTML][Markdown]

Topic 4 Networking (2): HTTP, networking system calls and data structures
[HTML][Markdown]

Topic 4 Networking (3): networking API, MapReduce
[HTML][Markdown]

Topic 4 Networking (4): non-blocking I/O
[HTML][Markdown]

Topic 4 Networking (5): event-driven programming
[HTML][Markdown]

Appendix A - Principles of Systems Design: abstraction, modularity and layering, naming and name resolution, caching, virtualization, concurrency, client-sever request-response
[HTML][Markdown]

Lab solutions (maintained by instructor)

Lab 1: File Systems and System Calls
Lab 2: Multiprocessing and Unix Tools
Lab 3: Parallel Programming
Lab 4: assign3 Redux and Threads
Lab 5: Read-Write Locks, Event Barriers
Lab 6: Threads vs Processes
Lab 7: ThreadPools and Networking

KOB = "knock on the blackboard" = "this is important" (for the purpose of course reviewing, not necessarily for learning)

LICENSE: Creative Commons Attribution Share Alike 4.0 (CC-BY-SA-4.0), not applicable to lab solutions.

About

1st time TAing for CS110 at Stanford: Principles of Computer Systems? - Stars are appreciated :)

Topics

Resources

License

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.