PeterHUistyping / Computer_System_Guidance

Projects and useful materials around OS, Con&Dis, Arch, etc (in Database, Game Engine)

Home Page:https://peterhuistyping.github.io/Computer_System_Guidance/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Computer System Guidance

A collection of Computer System Projects, built up from,

  • OS
  • Concurrent and Distributed System
  • Computer Architecture
  • Networking, Security, Compiler, etc

Application domain

  • Database
  • Game Engine

In addition, there are also references (paper, ebook, repo, tool, etc) that's interesting and helpful, ranging from beginner to advanced.

Projects

Operating System

MIT 6.S081 Operating_System

xv6 (Unix Version 6)

  • Unix util
  • System Call
  • Page Table

Database Management System Design

CMU15-445 Database_Management_System

  • Data Model (relation, key/value)
  • Query (SQL)
  • Indexing (tree, hash tables)
  • Storage (heap, log-structure)
  • Memory Management
    • Buffer Pool Manager
      • LRU Replacer
    • Disk Manager
  • Transaction processing
    • Concurrency Control
    • ACID
      • Atomicity: all or none
      • Consistency: invariant
      • Isolation: 2PL, TSO, OCC
      • Durability & Recovery: Logging, Checkpoints
  • Parallel architectures (multi-core, distributed)

Distributed System

MIT6.824-DS

  • Consistency and Linearisability
  • Fault Tolerance and replication
    • Replicated State Machines
    • Raft
    • Byzantine Fault Tolerance
  • Distributed Transactions
    • Isolation: 2PL, TSO, OCC

Case study

  • Google Map Reduce, File System, Spanner

Scheduling Literature Review

🌐Review | Github

  • Scheduler (OS)
  • DVFS (cpufreq governor)
  • Dynamic Resource Sleep (OS)

Reference

Software Construction

🌐MIT 6.031

  • Topic 21: Concurrency
  • 23: Mutual Exclusion
  • 24: Message passing
  • More on Software related topics

Cambridge CompSci

Building a Modern Computer From First Principles

🌐Modern_Computer_Official Website Noam Nisan and Shimon Schocken (MIT Press)

Computer Systems: A Programmer's Perspective

📖Systems_Online Ebook Randal E. Bryant and David R. O'Hallaron, Carnegie Mellon University

Game Engine

👨‍💻Unreal Engine Source code: https://docs.unrealengine.com/5.2/en-US/downloading-unreal-engine-source-code/

About

Projects and useful materials around OS, Con&Dis, Arch, etc (in Database, Game Engine)

https://peterhuistyping.github.io/Computer_System_Guidance/


Languages

Language:HTML 100.0%