Understand Operating System design principles by hacking the source code fragments in Linux and xv6 - mainly concerning processes, threads, synchronization, scheduling, memory management, virtual memory, file system and so on - and building an operating system Nachos from scratch to improve its functionality and performance. Topics include thread mechanism; synchronization; multiprogramming; system calls; virtual memory; software-managed TLB; file system; network protocols.
Computer Engineering
计算机工程(Computer Engineering)是一个以电机工程学和计算机科学的部分交叉领域为内容的工程学,其主要任务是设计及实现计算机系统。简言之,计算机工程学就是研究计算机如何运作并且做到更快捷更精准。其主要包括两方面:计算机软件与硬件工程。 计算机工程学学生通过学习数学、物理、计算机科学相关课程,分析设计和研发计算机软件与硬件(计算机芯片、电路板、调制调节器和打印机)。
Computer Science
计算机科学(computer science,缩写CS)是系统性研究信息与计算的理论基础以及它们在计算机系统中如何实现与应用的实用技术的学科。它通常被形容为对那些创造、描述以及转换信息的算法处理的系统研究。计算机科学包含很多分支领域:有些强调特定结果的计算,比如计算机图形学;有些是探讨计算问题的性质,比如计算复杂性理论;还有一些领域专注于怎样实现计算,比如编程语言理论。