第一章:操作系统概述
1.1 操作系统初步认识:
1.桌面常见的四大操作系统:
windows
Unix(主要用于服务器)
Mac (基于Unix内核的图形化操作系统)
Linux:eg:RedHat以GNU/Linux为核心
2.操作系统与常见的软件的区别:
大小?复杂度?功能?
3.没有安装操作系统的计算机能干什么?
(1)能运行程序。eg:在计算机重装的时候,可以根据电脑屏幕上的提示按什么键进入C(CMOS)模式,然后就可以根据自己的情况交互设置C模式中的选项参数。所以没有安装OS,依然可以运行程序。
3.没有安装OS的计算机,普通用户能正常使用吗?
不能,我们不能听音乐,上网,......所以普通用户必须安装OS才能正常使用计算机。
4.操作系统的基本功能:
(1)操作界面可视化
(2)控制程序运行
(3)管理系统资源
(4)配置系统参数
(5)监控系统状态
(6)工具软件集合
1.2操作系统功能和定义
1.操作系统的功能:
(1)进程管理(cpu管理)
进程控制:创建,暂停,唤醒,撤销
进程调度:调度策略,优先级
进程通信:进程间通信
(2)内存管理
内存分配
内存共享
内存保护
虚拟内存
(3)设备管理(各种外设:硬盘):
设备的分配和调度
设备的无关性
设备传输控制
设备驱动
(4)文件管理:
存储空间管理
文件操作(文件的删除,添加等)
目录操作(目录的删除,添加等)
文件和目录的存取权限
2.操作系统与软件的最大差别就是功能上的差别,
所以:判断一个软件是否是内存需要看他能不能管理内存,管理进程(即四个功能中的前两个,后面两个不一定非要满足)。
3.操作系统的定义:
OS是一个大型系统程序。
(1)提供用户接口,方便用户控制计算机
(2)负责应用程序分配和调度计算机软硬件资源,控制并协调应用程序并发活动,帮助用户存取和保护信息。
4.OS的地位:
OS位于整个计算机系统软硬件的中间
(1)为上层应用程序屏蔽了硬件细节
1.3 操作系统发展历史
1.操作系统发展的动力是什么?
(1)用户需求的提升
(2)硬件技术的进步
2.计算机硬件发展的四个典型阶段
(1)电子管时代(1946~1955)
(2)晶体管时代(1955~1965)
(3)集成电路时代(1965~1980)
(4)大规模集成电路时代(1980~至今)
硬件的不断发展在速度,容量,稳定性都得到逐步的提高。
例如我国的超算(超级计算机),超算是用来进行计算的,和普通计算机的用途一样,就是规模上大很多,来完成各种领域(如:飞机制造领域)繁重的计算。超算对内存的性能,容量,稳定性都有很高的要求。
3.OS发展的四个典型阶段
(1)手工操作系统 50年代早期
硬件:电子管,接线面板,程序:二进制程序,打孔,只带和卡片
使用特点:程序准备/启动/结束:手工处理,繁琐耗时。
缺点:效率低(例如想要实现一个程序需要1分钟,而准备工作却需要59分钟),用户独占,缺少交互。
(2)单道批处理系统 50年代
晶体管时代,1955年IBM推出了第一台晶体管计算机:典型机型:=7094
管理员事先将多个作业装入到磁盘形成作业队列,OS一次自动处理队列中的每个作业,程序的装入和撤出是自动完成的,无需手工处理,效率高。
特点:批量,自动,单道。
由上图可得结论:外设与CPU交替空闲和忙碌,CPU和外设利效率低
(3)多道批处理系统 60年代初
所以对上面的单道批处理系统进行改进,让CPU和外设能够提升效率。
定义: 在内存中存放多道程序,当某道程序因为某种原因(例如IO操作时)不能继续运行而放弃CPU时,操作系统便调度另一程序投入运行。这样可以是CPU尽量忙碌,提高系统的利用率。
优点:提高CPU的利用率,提高系统吞吐量。
特点:多道,并行(宏观上),串行(微观上)
缺点:(1)作业处理时间长,(2)交互能力差,(3)运行过程不确定
(4)分时系统 60年代中
4.世界上第一台数字电子计算机ENIAC,需要多人操作,规模很大,很多程序都要手动操作。
1.4分时技术与分时操作系统
1.因为多道批处理仍然有缺点,所以需要针对上面的缺点进行改进。恰好在60年代,硬件发生了两个重大的进展,即中断技术和通道技术的进展。CPU支持者两个技术。
中断技术:CPU收到外部信号(中断信号之后),停止当前工作,转去处理该外部事件,处理完之后回到原来工作的中断处(断点)继续原来的工作。
通道技术:专门处理外设与内存之间的数据传输的处理机。
2.分时OS的背景:
(1)事务性任务的涌现:
优点:交互性高,响应快速。
什么是事务性任务?事务性的任务与科学计算性的任务是对应的,计算性任务的特点就是耗费CPU,在CPU进行大量的计算。而事务性的特点就是交互性高,响应快速。
(2)要求支持多任务/多用户。
(3)当时出现了多终端计算机。(多终端计算机:高性能主机(运算)+多个终端(输入和显示))
3.分时技术概念:
主机以很短的“时间片”为单位,把CPU轮流分配给每个终端使用直到全部作业被运行完。(时间片是一个很短的时间,例如50ms,每个终端轮流使用这50ms,由于时间片很短,在终端数量不多的情况下,每个终端都能得到及时响应)。 等待的周期:时间片*终端数量
4.分时系统的特点:
(1)多路调制性:多用户联机使用一台计算机
(2)独占性:用户感觉独占计算机
(3)交互性:及时响应用户的请求
5.第一个大型分时系统的实践项目Multics(一个美国的国防部支持的一个项目):
1962年由ARPA支持:有MIT,BELL,G.E三家参与,开发了这一种“公用计算服务系统”,同时支持博士段地区所有的分时用户。
6.第一个实用化的分时操作系统:
Unix:第一个真正体现操作系统领域各种先进概念和技术的操作系统。
Unix的革新和创造:(1)实现OS的可移植性 (2)实现了硬件无关性 (3)引进了特殊文件的概念:把外设当做文件,实现对外设统一管理。我们现在的Windows,Linux系统都是这种思想。
1.5典型操作系统类
1.操作系统的进一步发展(分时系统的衍化):
(1)微机OS:
背景:随着大规模集成电路发展,进入个人计算机(PC机)时代。
1973年:CP/M(contral Program/Microprocessor)操作系统出现,这个OS具有良好的层次结构,BIOS(Basic Input Output System基本输入输出系统:为计算机提供最底层,最直接的硬件设置和控制)把OS和硬件分隔,易学易用。
苹果Mac OS和Macintosh(1976年),Mac OS是运行Macintosh系列电脑上的OS ,Mac OS是首个配有图形界面和鼠标的OS。
微软的MS DOS(80年代使用最广泛的磁盘OS)是磁盘操作系统,单用户任务,MS DOS预装载IBM PC上。
微软WIndows操作系统:
1985年11月:windows 1.0正式上市
1992年4月:发表windows 3.1
1993年5月:发表windows NT
windows 95 ,CE,98,2k,xp,win7 ,win10....
windows占有PC市场的巨大份额。
(2)多处理OS:
(3)网络OS:
定义:并不是一个新的操作系统,是在普通OS的基础上增加了:网络通信+网络服务的功能
常用:UNIX LINUX WINDOWS
功能:透明存取,存取控制
(4)实时OS:
产生背景:
实时事务:军事,工业控制,智能仪器
要求:某一些任务要求紧急处理。
特点:强调作业完成的时限。
硬实时系统:时限要求严格,例如:火炮控制系统,航空航天,制导系统,工业控制,汽车电子系统。
软实时系统:显现要求不是太严格,例如:网络视频,互动网络,广播,通讯
(5)嵌入式OS:
有时候嵌入式OS可以近似看成实时OS,但是概念,范围比实时OS大。
定义:软硬件可以裁剪,软硬件一体化的系统。例如我们的手机,家电, 数码相机。
典型嵌入式操作系统:Andriod ,linux,ucOS,ucLinux,vxWorks ,WinCE.
2.推荐适合学习的小型开源OS:Minix OS
特点:开放源码给教学和科研人员,Minix=Mini Unix月12000行,微内核架构,类UNIX OS
3.适合学习的大型开源OS:Linux
开源网址:
https://mirrors.edge.kernel.org/pub/
linux 内核版本是开源的,但是发行版本一般都收费,发行版一般都是在内核的基础上增加了一些自己的系统管理工具,形成了不同特色的发行版本。