监控程序是操作系统的原型。
监控程序:加载、运行程序。
后来,又在监控程序基础上加入了基本输入输出程序,
还有硬件控制程序、编程语言处理器、文本编辑器、调试程序、dump程序。
所以说,操作系统是多个程序的集合体。
操作系统:
也称为基础软件,是计算机运行时的控制程序,也是在控制程序下运转的为其他软件运行提供操作环境的软件的统称。
应用程序:
是利用OS的功能,在其上运行的程序,是为了提高特定处理效率的程序。
面向操作系统,无法直接控制硬件。
通过调用API使操作系统去执行应用程序的命令。
操作系统的硬件控制功能,通常是通过一些小的函数集合体来提供的,调用这些函数称为系统调用(system call)
系统调用是应用对操作系统的功能进行调用,printf()函数内部就有system call,windows是通过API函数集来提供系统调用
的,API通过多个DLL文件提供。(说白了,系统调用就是操作系统给你API接口函数,你去调用它)
高级编程语言机制:
使用独自的函数名,在编译时将其转换为相应操作系统的系统调用,变成了利用系统调用的本地代码。
因为不同的硬件架构和操作系统,会导致不同的cpu支持的指令可能不同,也就是说不同类型的cpu所能执行的代码就是各自的本地代码,也叫本机代码或native代码。
移植性:
同一个程序在不同OS下运行所需的时间,越少移植性越好。
Windows SDK(软件开发工具包):
包含了开发Windows应用程序所需的Windows函数和常数定义、API函数说明文档、相关工具和示例。
仅用API编写Windows应用程序的开发方式:SDK 编程。
Windows操作系统特征(部分):
1. 提供网络和数据库功能
它们和操作系统很接近,所以被统称为中间件而不是应用。中间件 + 操作系统 = 系统软件(应用可利用)
2. GUI(graphical user interface)
3. 通过API函数集提供系统调用
API是联系应用和操作系统的接口,win32API中,各函数的参数及返回值的数据大小,基本上都是32位。
API函数实体是存在DLL中的,.lib文件只是导入库。