一
1.并发(Concurrence)
指两个或多个以上的事件在同一时间间隔内发生。计算机里指运行多个程序,所以引进进程概念
*并发和并行,并发是指宏观上的同步进行,并行指同一时间进行多项事件。比如8点到九点,分成两个小时,先刷牙再吃饭属于并发;一边刷牙一边吃饭属于并行。
2.共享(Sharing)
资源共享,指系统中的资源可供内存中多个进程使用,有两种。一种是互斥,另一种是同时。
**并发和共享是操作系统两种基本特征,两者之间互为存在的条件。
3.虚拟(Virtual)
把物理上的实体变成若干逻辑上的对应物。就比如你电脑只有4G运行内存,但却可以同时运行大于4G的多个软件,给用户造成一种错觉。
4.异步(Asynchronism)
多道程序环境允许多个程序并发执行,但资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前前进。
操作系统的功能
(1)处理机管理
(2)存储器管理
(3)文件管理
(4)设备管理
操作系统作为用户和计算机硬件系统
(1)命令接口
联机控制方式—联机命令接口
脱机控制方式— 脱机命令接口
(2)程序接口
系统(广义指令)调用组成
*原语:在操作系统或计算机网络中,原语(也被称为原子语言)是一段由若干条指令组成的、用于完成一定功能的程序,具有不可分割性和不可中断性。它在执行过程中必须保持连续性,以确保操作的完整性和安全性。
*系统调用
计算机的各种硬件资源是有限的,为了更好的管理这些资源,用户进程是不允许直接操作的,所有对这些资源的访问都必须由操作系统控制。为此操作系统为用户态运行的进程与硬件设备之间进行交互提供了一组接口,这组接口就是所谓的系统调用
*库函数与系统调用的区别及联系
调用方式和功能:库函数通常由程序员自己调用,并且可以在不同的程序中被重复使用。库函数是由软件开发商提供,由编译链接工具链入用户程序,用于实现特定的功能。而系统调用则是操作系统内核提供的一种接口,用于允许应用程序直接访问操作系统的核心功能。系统调用只能由系统程序调用,其目的是为了提高系统性能和安全性,因为它们直接访问了操作系统的底层功能。
运行空间:库函数运行在用户空间,它属于应用程序的一部分。相反,系统调用运行在内核空间,是操作系统的一部分。
接口和复杂性:库函数通常提供较复杂的功能,通过函数库中的程序来实现。而系统调用则通常提供最小接口,用于执行如分配内存空间等底层操作。
返回值和错误处理:系统调用通常返回一个整数值来表示成功或出错条件,而库函数的返回值则不一定如此。
移植性:库函数的可移植性通常较好,因为它们是面向开发的,相当于应用程序的API接口。而系统调用则与特定的操作系统紧密相关,因此其跨操作系统的可移植性较差。
联系:
许多库函数在实现其功能时会调用系统调用。例如,一些库函数可能会通过系统调用来访问操作系统的底层服务,从而完成其设计的功能。这种协作使得程序员能够利用库函数的易用性和系统调用的底层访问能力,从而更有效地编写和优化程序。
多道程序设计的基本特征:并发性、共享性、独立性和相互制约性
二
操作系统发展历程
1.手工操作阶段(无操作系统)
用打印纸把问题写成二进制,机器处理后再由人工翻译结果
1.1.批处理阶段(操作系统开始出现)
(1)自动性
(2)顺序性
(3)单道性
1.2多道批处理
2.分时操作系统
2.1同时性、交互性、独立性和及时性
3.实时操作系统
*网络操作系统、分布式操作系统、个人计算机操作系统