Skip to content

上海交通大学软件学院课程计算机系统基础(ICS)笔记

Notifications You must be signed in to change notification settings

Kami-code/ICS-2020-Notes

Repository files navigation

ICS-2020-Notes

课程网站

课程教材:深入理解计算机系统(CS:APP)

课程简介

计算机系统基础(汇编)

本课程是软件工程专业的基础类必修课,是后续计算机系统基础(系统软件)和计算机系统基础(组成)的前导课程。学习完本系列课程后,学生可以继续深入学习操作系统、编译原理、数字附件设计、计算机体系结构和分布式系统等计算机系统类核心课程。本课程的教学内容包括:二进制表示、运算与存储,x86-64汇编的基础知识以及C语言程序中变量、运算、控制结构以及复杂类型的存储结构等在x86-64中的具体实现。本课程的实验内容包括:使用Linux下的开发环境与工具、掌握软件开发的版本控制、开发、调试、测试等基本方法,以及与课程内容相关的实验:字节级操作、二进制炸弹、软件漏洞攻击。通过本课程以及姐妹课程计算机系统基础(组成)和计算机系统基础(系统软件)的学习,学生能够具备扎实的计算机系统基础

计算机系统基础(组成)

本课程是软件工程专业的基础类必修课,是后续计算机系统类课程的基础。学习完本课程后,学生可以继续深入学习数字附件设计、计算机体系结构、编译原理、操作系统等计算机系统类核心课程。本课程的教学内容包括:简单CPU Y86的实现原理以及串行和流水线实现,程序优化与超标量体系结构,计算机的存储结构与cache,链接与加载,虚拟内存的基本概念、MMU、操作系统对虚拟内存的支持、内存淘汰策略,动态内存分配和垃圾回收、进程调度等。本课程包括与课程内容相关的实验,它们是:Y86模拟器、Y86汇编器、Y86CPU设计、程序优化、动态内存分配。通过本课程以及姐妹课程计算机系统基础(汇编)和计算机系统基础(系统软件)的学习,学生能够具备扎实的计算机系统基础、熟悉计算机系统领域的核心概念、掌握处理计算机系统问题的基本手段,具备开发计算机系统的基本技能。

计算机系统基础(系统软件)

本课程是软件工程专业的基础类必修课,是后续计算机系统类课程的基础。学习完本课程后,学生可以继续深入学习操作系统、编译原理、数字附件设计、计算机体系结构和分布式系统等计算机系统类核心课程。本课程的教学内容包括:异常、进程、信号、进程相关的系统调用、Linux的基本I/O系统调用,I/O元数据、缓冲区I/O库,网络基本结构和Socket程序设计,并发程序设计、锁的实现。本课程包括与课程内容相关的实验:分别是shell命令台实现、proxy实现。通过本课程以及姐妹课程计算机系统基础(组成)和计算机系统基础(汇编)的学习,学生能够具备扎实的计算机系统基础、熟悉计算机系统领域的核心概念、掌握处理计算机系统问题的基本手段,具备开发计算机系统的基本技能。

说明

  • 第一学期的ICS汇编没有记录笔记,提供PPT以做存档之用。

  • 因为在课上记笔记需要高速的图文混排,所以选用的docx作为笔记工具。没有markdown化的计划。

  • 因为大部分笔记都是课上所记录,不可避免有疏漏之处,包括上课走神可能遗漏知识点。

  • 欢迎有愿意分享资料的志愿者同学前往软院笔记仓库贡献。

  • 任何转载请引用这个仓库。

目录

计算机系统基础(组成)

1

计算机系统基础(系统软件)

1

About

上海交通大学软件学院课程计算机系统基础(ICS)笔记

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages