伊利诺伊大学香槟分校本科ECE391课程介绍了现代计算系统开发的核心概念和抽象概念,重点是控制设备与其他硬件和应用程序之间交互的系统软件。为了方便学生学习,我们对ECE391的重点内容进行了总结,详情如下。
一、内容概述
课程涵盖了输入输出语义、同步、中断、多任务、资源虚拟化、保护和资源管理概念。还介绍了网络和存储设备抽象。实践技能方面,学生将接触到用于源代码控制、调试、依赖性管理和编译的软件开发工具,并将在虚拟机中执行的真实操作系统的环境中工作。学生还将发展软件分析技能以及基于团队的开发和测试技能。
二、具体主题
1、x86汇编:回顾基本构造和结构,C与汇编、堆栈框架和调用约定的接口;
2、系统软件基础:资源管理、虚拟化、保护、系统调用接口、异步和同步交互;
3、简单的数据结构:队列、堆、栈、列表;
4、中断和异常:控制生成和处理、链接、清理代码、与设备功能的交互、中断控制器;
5、同步:原语、内存语义、互斥、信号量、调度、竞争条件;
6、CpU虚拟化:进程和调度;
7、I/O接口:文件描述符、缓冲、控制操作;
8、设备编程:基本抽象,字符和块设备,设备驱动程序开发过程;
9、文件和网络I/O的用户级编程接口,与内核I/O抽象的关系;
10、内存虚拟化:硬件支持和软件抽象;
11、信号:语义、生成和传递;
12、文件系统抽象和磁盘布局。
同学可以将上面总结的内容作为课程学习的整体框架,随时梳理课程所教授的内容,从而更好地完善自己的知识。