1.计算机系统资源
软件:系统软件(操作系统及应用程序)、应用软件
硬件:处理机(CPU)、内存(条)、外部I/O设备(显示器、键盘、鼠标、打印机、磁盘、磁带、扫描仪……)以及系统总线
2.什么是操作系统?
#用户环境观点:该观点认为,操作系统是计算机用户使用计算机系统的接口,它为计算机用户提供了方便的工作环境。计算机用户通常是指终端的用户、程序员以及系统设计者。操作系统提供的接口通常是指用户接口(User Interface)和程序接口(系统调用,也成应用编程接口,Application Programming Interface,简称API)。
#虚拟机器观点:该观点认为,操作系统是建立在计算机硬件平台上的虚拟机器,它为应用软件提供了许多比计算机硬件功能更强或计算机硬件所没有的功能。操作系统在虚拟机中充当管理员和协调员的角色,管理计算机的软硬件资源,并协调多任务、多进程的运行。
#资源管理观点:该观点认为,操作系统是计算机系统中各类资源的管理者,他负责分配、回收、以及控制系统中的各种软硬件资源。并跟踪资源的使用状况、满足资源请求、提高资源利用率,以及协调各程序和用户资源的使用冲突。具体表现为:监控资源、分配/回收资源、保护资源
#作业组织观点:该观点认为,操作系统是计算机系统工作流程的组织者,它负责协调在系统中运行的各个应用软件的运行次序。用于巨型机和大型服务器上,以批文件方式提交作业,请求主机逐个运行。主机操作系统负责组织、协调各个作业的运行,报告执行结果或错误信息。减少了人工干预,提高了系统的效率。这种工作方式有利于有效利用造价高且性能强大的主机资源。
3.操作系统的定义
操作系统是计算机系统中的一个系统软件,管理和控制计算机系统中的硬件和软件资源,合理地组织计算机的工作流程,以便有效利用资源为用户提供一个功能强、使用方便的工作环境,从而在计算机与用户之间起到接口作用。
4.操作系统的形成与发展
50年代中期(第一个简单批处理操作系统)-> 60年代中期(多道程序批处理系统) -> 70年代(分时系统、实时系统) -> 80年代(微机及网络操作系统)
#
手工操作系统时期,没有操作系统:早期的电子数字计算机是由成千上万个电子管组成。操作和编程完全由手工进行,且编程只能用机器语言(二进制代码)程序员同时也是操作员在上机期间独占整台计算机及其他相关设备,效率非常低。
#
早期操作系统,单道批处理系统:程序员首先将命令、程序和数据用汇编语言或FORTRAN语言写在纸上,然后用穿孔机制成卡片,最后将这些卡片交给操作员。(批处理程序又称为监控程序或者管理程序,管理应用程序的运行)
单道批处理系统评价:
1.解决了作业间的自动转接问题,减少了机器时间的浪费
2.不管作业大小,只要它一旦占用处理机开始执行,则它必须一直占据处理机,直到运行完毕
3.资源利用率低
4.对短作业不公平,因为他们等待执行的时间可能远远超过他们实际执行的时间
5.交互性差。作业由批处理程序控制运行,用户无法实时控制,如果运行中途出现故障,也只能停下来,重新运行
#
现代意义的操作系统:多道批处理系统:在单道批处理系统中,任意时刻只允许一道作业在内存中运行,资源利用率低。为了提高系统资源利用率和系统吞吐量,形成了多道批处理系统。多道是指:允许多个进程同时存在于主存中,按照某种原则分派处理机,逐个执行这些程序。批处理:用户提交的作业首先存放在外存,并排成一个队列。然后,由作业调度程序按照一定的算法从该队列中一次选取一个或若干个作业装入内存执行。处理机自动切换:当某个程序占用处理机执行过程中遇到了输入、输出语句。可以启动专门负责输入/输出的系统服务程序完成输入/输出操作,而处理机切换到另一个程序继续执行。(
输入输出操作与处理机批处理速度相比要慢得多
)
多道程序设计技术:为了提高系统吞吐量和资源利用率,允许多个程序同时驻留内存,使处理机在这些程序之间切换,在一段时间内,执行完多个程序的处理技术称为多道程序设计技术(multiprogramming),现代操作系统大多都采用了多道程序设计技术。
多道程序设计技术引发的问题:(1)处理机的分配与回收【多个进程竞争处理机,如何分配?先来先服务?优先级?】【一个进程应用完处理机后怎么回收?强项回收还是等待执行结束?】(2)内存的分配与保护【有限的内存空间能装得下多少程序?会不会相互干扰?】【除了虚拟内存,有没有其他方法可以提高内存利用率?比如说内存共享、、】(3)I/O设备的共享与效率 (4)文件的有效管理 (5)作业的组织
分时系统与实时系统:多道批处理系统:提高了资源利用率和吞吐量。但是,批处理系统交互性很差。为了改进响应时间和性能,提供交互式操作环境,导致了分时系统的出现。分时系统的实质是,在多道程序技术的基础之上,为多个用户配置一个联机终端。【
时间片技术
】
“前台”和“后台
”:内存:“前台区”和“后台区”,“前台区”存放按时间片“调入”和“调出”的作业流,“后台区”存放批处理作业。仅当前台作业调入/调出,或前台无作业可运行时,方才运行“后台区”中的作业。提供交互式快速的服务,同时在处理机空闲时运行后台较大的批作业。
多道分时系统:允许在内存中同时存放多道作业,并把具备运行条件的所有作业排成一个队列,让它们依次轮流地获得一个时间片来运行。与单道分时系统相比较,由于作业数据都在内存,不需要调入、调出开销,所以多道分时系统具有较好的系统性能。现代分时系统都属于多道分时系统。