PS:目前正在阅读书籍中,会持续更新,并穿插自己的理解,会适当引入一些代码案例…

第一章 温故而知新

计算中的主要资源:

  • CPU
  • 存储器(内存和磁盘)
  • I/O设备

系统软件:

  • 平台性质:操作系统内核、驱动程序和数以千计的系统工具
  • 程序开发:编译器、汇编器、链接器等开发工具

计算机软件体系结构

以linux为例,我们开发的程序基本都会使用到glibc,这个glibc就是Runtime Library。像是常用的read、write等函数就是glibc提供的功能。

操作系统调用驱动程序来控制硬件,驱动程序一般是由硬件厂商开发的,操作系统开发者为硬件厂商提供了一系列接口和框架,凡是按照这个接口和框架开发的驱动程序都可以在该操作系统上进行使用。

为什么设备厂商要受命于操作系统厂商? 因为操作系统市场份额大,你不按照标准来,操作系统无法使用,用户就不买你产品了咩。

第二章 编译和链接