1、认识计算机系统(上)
1.1、计算机系统由软硬件构成
1.2、总线
1.3、I/O设备
1.4、内存
1.5、处理器
1.6、计算机硬件组成
2、认识计算机系统(下)
2.1、什么是操作系统
2.2、Linux内核模块
2.3、操作系统管理硬件(职责)
2.4、操作系统的三个基本抽象
2.5、进程
2.6、进程上下文切换(用户模式:运行用户自己写的代码。内核模式:运行操作系统本身的代码。进程A首先运行用户自己的代码,在用户模式下。当它调用了系统调用read接口去读文件的时候,就会转成内核模式去读文件,这边就做了一次上下文的切换。操作系统会去调用DMA控制器,对磁盘进行读的操作直接读取到内存当中而不需要CPU的参与,那么这时候CPU就腾出来通过CPU的调度程序调用了B进程。这样就回到了B进程中的用户模式。当磁盘读完后,会产生磁盘中断,又将用户模式切换到了内核模式,唤醒了A进程,A进程从read返回,又执行用户自己写的代码,切换回了用户模式。那么对用户来说,感觉A进程在独占CPU,因为进程间的切换时间是很短的,用户感觉不出来)
2.7、虚拟存储器(使得每个进程都好像在独占内存。进程中的内存都是虚拟内存,里面的地址都是虚拟地址,通过MMU来映射到实际的物理地址)
2.8、进程虚地址空间
2.9、文件
2.10、虚拟文件系统(VFS):对用户来说,提供了接口,屏蔽了下面的底层细节
3、系统编程介绍
3.1、系统编程与应用编程(系统编程一般是为了支撑应用编程)
3.2、系统资源
3.3、系统调用在系统中所处的位置
3.4、C库
3.5、系统调用与C库的关系
3.6、内核如何处理系统调用(先存放系统调用号,然后再存储调用参数,然后再执行指令)
3.7、系统调用的错误处理
4、文件与I/O(一)
4.1