一、现代操作系统的基本特征
1、任务的共行性:宏观上,指系统中有多个任务(进程)同时运行;微观上,指单处理器系统中的任务交替运行,或者多核处理器系统上的任务在多个处理器上同时运行。
2、资源共享性:宏观上,指多个任务可以同时使用系统资源;微观上,指多个任务可以交替互斥的使用系统中的某个资源。
3、虚拟性:指讲一个物理上的实体变为若干个逻辑上的对应物。如,利用分时技术,将一台处理机虚拟为若干台处理机,同时还可以虚拟存储,虚拟设备,虚拟通道,虚拟文件,虚拟用户组以及虚拟网络等等。
4、不确定性:第一,程序执行结果不确定,程序不可再现;第二,多道程序环境下,进程以异步方式执行。
二、操作系统基本概念
1、多道程序设计
通常指系统中允许多道程序同时准备运行,当正在运行的那道程序因为某种原因(等待输入或输出数据)暂时不能继续运行时,系统将自动启动另外一道程序运行;一旦原因消除(比如数据已经到达或数据已经输出完毕),暂时停止运行的那道程序在将来某个时候还可以被系统重新启动继续运行。
优点:提高资源利用率,数据吞吐量等等。
引发的问题:
协调因争夺处理机或者输入/输出设备而产生的冲突,坚决同步,互斥和死锁的问题。
防止各道恒旭之间的交叉和冲突,防止作业被有意无意的破坏
必须建立高效、可靠和方便的文件系统,有效地管理和存取系统中的软件资源和辅存空间。
2、进程
通常指:程序的一次执行,包括可执行的程序,程序所需的数据的相关状态信息。进程是拥有资源的最小实体,在传统OS中,进程同时也是系统调度的最小单位。在现代操作系统中,进程也许不是系统调度的最小单位,线程是现代操作系统调度的最小单位
3、线程
通常指:程序的一次相对独立的运行过程;在现代OS中,线程是系统调度的最小单位
★★★★★★进程申请资源,线程系统调度
4、作业
通常指计算机用户在一次上机过程中要求计算机系统为其所做工作的集合;作业中的每项相对独立的工作称为作业步。通常,人们用一组命令来描述作业;其中,每一个命令定义一个作业步。
作业的基本类型:
脱机作业
联机作业
5、任务
在经典的多任务操作系统环境下,任务与进程是等同的,都被认为是系统的最小工作单位
任务时从系统资源分配的角度描述程序在系统中的运行
进程则从处理器利用和工作流程控制的角度描述程序的执行
程序员习惯于称呼进程,而工程师则习惯呼任务
6、系统调用
系统调用时操作系统提供的最基本的一级服务,供用户程序调用
系统调用只能在程序中作为程序语句使用,不能单独使用
7、接口
英文Interface在操作系统中具有接口和界面两种含义
接口多用于描述系统硬件之间的连接关系,以及软件和程序模块间的调用关系。如总线接口,打印机接口等等
界面多用于描述用户与系统之间的操作环境,以及人际之间的交互方式和过程,如字符界面,图形用户界面等等
8、虚拟存储
定义:为了能在有限的内存空间中运行更大、更多的进程(程序),可以将一部分磁盘空间虚拟为逻辑内存,使用户感觉到一个比物理内存空间大得多的逻辑内存空间,即实际物理内存空间与虚拟的那部分逻辑内存空间的综合,统称为虚拟内存空间。
有了虚拟存储技术,进程执行时,只需要预先在物理内存中装入进程的一部分程序代码和数据,进程即可开始执行
当需要的程序代码和数据不在物理内存时,根据需要的程序代码和数据不在物理内存时,根据需要临时装入,而整个操作对用户透明
9、文件
文件是若干相关数据的集成,有的操作系统将程序、数据以及各种外部设备统统称为文件(如linux系统)
必须有唯一的文件名,同一个目录下只能存在唯一的文件名
对未年检的操作包括文件的建立、修改、删除、重命名、设置访问权限等等
概括地说,文件就是命名了的字节流,它是现代操作系统对计算机系统中种类繁多的外部设备进行高度抽象的结果