操作系统:用于资源管理,并不直接生产价值,主要针对直接产生价值的直接“劳动”的各种应用程序,以提供服务(用于进行内存、通信、调配........)。
裸机:直接生产,自己进行资源调配,虽然效率高,但不易进行大体量的生产。
选择操作系统还是裸机:本质上取决于产品本身的复杂度,只有极简单的CPU(单片机)会选择裸机。一般复杂的产品会选择操作系统。
操作系统与应用的接口:API函数。应用申请API,之后系统进行相应。
C库与API:单纯的API只提供及简单的无封装函数,能用但不是那么好用。C库函数是对API的二次封装,形成了C库函数。有时完成一个功能就有相对应的API与C库函数两个接口,如fopen()和open()函数,C库函数中添加了缓冲机制,比单纯的API更好用。
不同的系统API不同,但库函数为了通用性,所以封装出来的函数挺像的。于是乎就有了可移植性这个概念。
跨平台系统可移植性平台如:QT、Linux。
操作系统意义:软件体系分工。有了操作系统后就有了两个开发方向:1.负责操作系统—开发驱动;实现功能—开发应用。