操作系统原理与Linux实践教程【第一章 操作系统概论】

1.1 操作系统的资源管理功能和目标

一、操作系统的定义

操作系统(Operating System,简称OS)是管理系统资源、控制程序执行、改善人机界面、提供各种服务、合理组织计算机工作流程和为用户有效使用计算机提供良好运行环境的一种系统软件

计算机系统都有那些资源?

硬件资源:

  • CPU
  • 内存
  • 外存
  • 输入输出设备

软件资源:

  • 程序
  • 数据

操作系统提供的最重要的服务是运行程序的服务。

操作系统在执行程序的过程中向用户提供了:

  • 内存分配服务
  • 设备分配和处理服务
  • 处理机调度服务
  • 文件存取服务

二、操作系统的组成

计算机硬件系统 操作系统
CPU 进程管理模块
内存 存储管理模块
输入输出设备 设备管理模块
外存 文件系统管理模块

三、部分流行操作系统

一些流行操作系统:

  • DOS
  • Windows 3.0发布于1990年5月22日
  • Windows 3.1发行于1992年3月18日
  • Windows 3.2中文版发布于1994年
  • Windows 95于1995年8月24日推出
  • Windows 98发行1998年6月25日,其版本号为4.1
  • Windows 2000
  • Windows 2003
  • Windows XP
  • Windows 7
  • Windows 8
  • Windows 10
  • veket linux
  • ubuntu
  • Fedora(基于Red Hat Linux)
  • 麒麟操作系统(中国版 Ubuntu Kylin)
  • 雨林木风 OS (StartOS起点操作系统)(Linux内核,Windows界面)

1.UNIX

  • 多用户、多任务操作系统,于1969年在美国AT&T的贝尔实验室开发问世。
  • AT&T公司将Unix源码免费授权给学术机构做研究或教学之用,形成许多“Unix变种”,比如IBM的AIX、惠普公司的HP-UX、SUN公司的Solaris和硅谷图形公司的IRIX
  • 意识到Unix商业价值的AT&T终止Unix源码授权,并对之前的Unix及其变种声明了版权权利

在这里插入图片描述
2.Linux

扫描二维码关注公众号,回复: 15563898 查看本文章
  • 自由和开放源代码的类UNIX操作系统,由芬兰大二学生Linus Torvalds在1991年10月5日首次发布。(距UNIX诞生间隔20年)
  • Linux可以运行在服务器和其他大型平台之上,如大型主机和超级计算机。
  • 世界上500个最快的超级计算机90%以上运行Linux发行版或变种,包括最快的前10名超级电脑运行的都是基于Linux内核的操作系统。
  • Linux也广泛应用在嵌入式系统上,如手机,平板电脑,路由器,电视和电子游戏机等。
  • 在移动设备上广泛使用的Android操作系统就是创建在Linux内核之上。

3.Windows

  • 微软操作系统,从16位、32位到64位。
  • 从最初的windows1.0到windows95、NT、97、98、2000、Me、XP、Server、Vista,Windows 7,Windows 8, Windows10。
  • 在2004年,Windows拥有终端操作系统大约90%的市场份额。

4.Android

  • 安卓,以Linux为基础的半开源操作系统,主要用于移动设备,由Google领导与开发
  • 2008年10月第一部Android智能手机发布
  • 2011年第一季度,Android在全球的市场份额首次超越称霸逾十年的诺基亚Symbian系统,成为全球第一大智能手机操作系统
  • 2012年11月,Android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%

四、操作系统在计算机系统中的位置

在这里插入图片描述

五、操作系统的资源管理技术

1.资源复用

资源复用是指多个进程共享物理资源,包括分割资源为较多更小单位的空分复用和分时轮流使用资源的时分复用

进程是有资格获得系统资源的独立主体。

资源复用实例:

  • 空分复用:内存的分区或分页分配
  • 空分复用:外存的分块分配
  • 时分复用:处理器的分时复用

在这里插入图片描述
在这里插入图片描述

2.资源虚化

资源虚化利用一类事物模拟另外一类事物,造成另外一类事物数量更多或容量更大的假象。

资源虚化实例:
在这里插入图片描述

3.资源抽象

资源抽象是利用软件封装复杂的硬件或软件设施,简化资源应用接口的一种资源管理技术。

资源抽象实例:

  • 虚拟输入设备——键盘
  • 虚拟输出设备——显示器

六、Linux操作系统实验环境搭建

第一种、物理安装
将Ubuntu安装为开机可启动的模式
第二种、虚拟安装
将Ubuntu安装在虚拟机VMware Workstation(VM)上

七、操作系统的目标

1.方便用户使用

2.扩充机器功能

3.管理系统资源

4.提高系统效率

5.构筑开放环境

1.2 操作系统的功能

一、处理器管理功能

在这里插入图片描述

1.进程控制和管理:包括进程创建、运行、阻塞、终止等。

在这里插入图片描述

2.进程同步与互斥

进程之间的资源协调关系:

  • 同步——进程之间的等待、唤醒协作关系
  • 互斥——进程之间的资源竞争、互斥关系

3.进程通信和死锁

进程之间的信息交换关系:

  • 通信——进程之间的信息交换
  • 死锁——进程之间直接或间接相互等待对方发送解锁信号

4.线程控制和管理

线程的创建、运行、暂停、终止等。

5.处理器调度:分作业调度、中程调度、低级调度等

在这里插入图片描述

二、存储管理功能

在这里插入图片描述

1.存储分配

为各个进程及操作系统自身分配所需内存空间,以及回收归还的内存空间。
在这里插入图片描述

2.存储共享

在这里插入图片描述

3.地址转换与存储保护

  • 地址转换:将程序装入内存创建进程时,需将程序中的逻辑地址转变为物理地址。
    在这里插入图片描述- 存储保护:内存中的一个进程只能在自己的地址空间访问,不可以访问其它进程或者操作系统的地址空间。
    在这里插入图片描述

4.存储扩充

通过虚拟存储器技术将内、外存统一起来,将外存的一部分作为容纳进程的辅助空间,使进程的存在空间得到扩充。

在这里插入图片描述

三、设备管理功能

在这里插入图片描述

1.设备分配

在多个进程之间分配共享设备,确保设备高效利用、无死锁、无饥饿。

在这里插入图片描述

2.缓冲管理

缓冲区用来在设备与进程之间实现数据的批量传送。

在这里插入图片描述

3.设备驱动

设备驱动程序是设备硬件的一层抽象,用来向设备发送命令,与设备进行通信。

在这里插入图片描述

4.设备独立性

设备独立性实际上是程序独立性,是程序独立于设备的属性。同一程序对多种不同设备均可适用。

在这里插入图片描述

5.实现虚拟设备

虚拟设备是利用一种设备模拟另一种设备的技术,目的是将独占设备改造为共享设备,将联机处理改造为批处理,以提高CPU与设备并行工作潜力,减少进程等待时间,提高进程运行效率。

在这里插入图片描述

四、文件管理功能

1.提供文件逻辑组织方法

  • 文件内容的结构是字节流还是记录序列

2.提供文件物理组织方法

  • 文件以物理块为单位存储时,如何建立物理块之间的先后顺序,以反映文件内容之间的逻辑顺序。

3.提供文件的存取方法

  • 文件顺序存取、随机存取还是索引存取。

4.提供文件的使用方法

5.实现文件的目录管理

  • 目录用于检索文件,其结构影响文件查找效率。

6.实现文件的存取控制

  • 规定文件的许可访问者及允许各个访问者执行的文件访问操作类型,实现文件的安全访问。

7.实现文件的存储空间管理

  • 对外存空闲空间进行管理,以便及时了解空闲空间的容量和位置,为文件存储空间的分配和回收建立必要的数据结构。

五、网络与通信管理功能

在这里插入图片描述

1.网上资源管理功能

2.数据通信管理功能

3.网络管理功能:包括: 故障管理、安全管理、性能管理、记帐管理和配置管理。

1.3 操作系统的主要特性

一、并发性

  • 并发性:是指两个或两个以上的事件或活动在同一时间间隔内发生。
  • 并行性:是指两个或两个以上的事件或活动在同一时刻发生。

操作系统的并发性: 操作系统的并发性是指计算机系统中同时存在若干个运行着的程序(包括操作系统程序和用户程序),这些程序交替、穿插地执行。

并发性的好处:

  • 程序并发执行能够驱动不同的部件同时工作
  • 减少或消除部件和部件之间的相互等待
  • 改善系统资源利用率,改进系统吞吐量,提高系统效率

二、共享性

共享是指操作系统中的资源(包括硬件资源和信息资源)可被多个并发执行的进程共同使用,而不是被其中某一个程序所独占。

资源共享方式有两种:

1.互斥访问

也称为顺序访问,系统中的某些资源同一时间内只允许一个进程访问。

互斥访问或者顺序访问的本质含义是共享资源的若干任务顺序使用资源,而不是交替、穿插地使用

2.同时访问

也称为并发访问,允许同一时间内多个进程对某些资源进行交替、穿插地并发访问。

同时访问或者并发访问的本质含义是共享资源的若干任务交替、穿插地使用资源

三、异步性

异步性也称随机性,在多道程序环境中,程序的执行不是一贯到底,而是“走走停停”,何时“走”,何时“停”是不可预知的。

四、虚拟性

虚拟性是操作系统资源管理技术的特性,虚拟资源管理技术即资源虚化,将物理上的一个实体变成逻辑上的多个对应物,或把物理上的多个实体变成逻辑上的一个对应物。

①虚拟处理器:将一个物理处理器变成多个逻辑处理器

②虚拟存储器:将内存和外存的一部分变成一个更大的逻辑内存

③虚拟设备:使用磁盘的一部分及管理软件将慢速的联机独占设备改造成为批处理虚拟共享设备

④虚拟文件系统:表征不同文件系统公共特征的抽象文件系统框架,达到一个操作系统支持多种不同的文件系统

1.4 操作系统的发展和分类

一、人工操作阶段

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

二、管理程序阶段

管理程序阶段计算机操作方式
在这里插入图片描述

管理程序阶段计算机操作特点

  • 作业控制语言代替机械操作
  • 脱机操作代替联机操作
  • 自动批处理作业

三、多道程序设计和操作系统的形成

多道程序设计概念:多道程序设计是指允许多个程序同时进入一个计算机系统的主存储器并启动进行交替计算的方法。

多道程序设计的硬件基础:中断以及通道技术

在这里插入图片描述

多道程序设计算例

例1.单道程序运行问题

有某个数据处理问题P1,要求从输入机上输入500个字符(花78ms),经CPU处理52ms后,将结果2000个字符存到磁带上(花20ms),重复进行,直至输入数据全部处理完毕。试绘制硬件工作时序图,并计算CPU利用率。

解:

在这里插入图片描述

处理机的利用率为:52/(78+52+20)≈35%

例2.多道程序运行问题

在例1基础上,在计算P1的同时,计算机还接受了另一算题P2:从另一台磁带机2上输入2000个字符(花 20ms),经42 ms的处理后,从行式打印机上输出两行(约花88ms) 。试绘制硬件工作时序图,并计算CPU利用率。

解:

在这里插入图片描述

处理机的利用率为:(52+42)/(78+52+20)≈63%

多道程序设计的好处:多道程序设计提高了CPU、内存和I/O设备的利用率,改进了系统吞吐率,发挥了系统的并行性,提高了效率

多道程序设计的道数:内存储器的容量、用户的响应时间和程序使用的资源类型等因素影响多道程序道数的多寡。

操作系统形成的标志:多道批处理操作系统、分时操作系统和实时操作系统的出现标志着操作系统正式形成。

四、操作系统的分类

1.批处理操作系统

用户把要计算的应用问题编成程序,连同数据和作业说明书一起交给操作员,操作员集中一批作业,输入到计算机中。然后,由操作系统来调度和控制作业的执行。这种批量化处理作业的操作系统称为批处理操作系统。

批处理操作系统工作机制:
在这里插入图片描述

批处理系统的主要特征:
(1)用户脱机工作:用户提交作业后直至获得结果前不再和计算机及他的作业交互,不利于调试和修改程序。
(2)成批处理作业
(3)多道程序运行
(4)作业周转时间长

2.分时操作系统

允许多个联机用户同时使用一台计算机系统进行计算的操作系统称为分时操作系统。

分时操作系统工作原理示意图:
在这里插入图片描述

时间片概念:主机中央处理器轮流为每个终端用户服务一段很短的时间,这段时间称为一个时间片。

时间片长短选取原则:分时操作系统时间片长度应根据机器速度、用户多少、响应要求、系统开销等因素综合考虑合理选取。

分时系统的主要特征:
(1)同时性:若干个终端用户同时联机使用计算机。
(2)独立性:每个用户感到自己好象独占一台计算机。
(3)及时性:每个用户可以及时控制自己的程序。
(4)交互性:人机交互,联机工作,方便调试、修改程序。

3.实时操作系统

当外界事件或数据产生时,能接收并以足够快的速度予以处理,处理的结果又能在规定时间内来控制监控的生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的操作系统。

实时操作系统工作机制:
在这里插入图片描述

三种典型的实时系统:

①过程控制系统

  • 生产过程控制系统
  • 导弹制导系统
  • 飞机自动驾驶系统
  • 火炮自动控制系统

②信息查询系统

计算机同时从成百上千的终端接受服务请求和提问,并在短时间内作出回答和响应。
如情报检索系统。

③事务处理系统

计算机不仅要对终端用户及时作出响应,还要频繁更新系统中的文件或数据库。
如银行业务系统。

④通用操作系统

如果一个操作系统兼有批处理、分时和实时处理的全部或两种功能,则该操作系统称为通用操作系统。
Windows、Linux等流行操作系统具有批处理、分时处理的功能和弱实时处理功能,因而属于通用操作系统。

1.5 操作系统的用户接口

一、程序接口

1.程序接口概念

程序接口又称为应用编程接口API(Application Programming Interface),供程序员在编制程序时以程序语句或指令的形式调用操作系统的服务和功能。

程序接口由一组系统调用(System Call)组成, 系统调用是操作系统的组成部分,用于管理和控制系统中软硬件资源的共享使用。

2.系统调用的概念

系统调用是为了扩充机器功能、增强系统能力、方便用户使用而在内核中建立的过程(函数),它是用户程序或其它系统程序获得操作系统服务的唯一途径,系统调用也称为广义指令。

系统调用采用汇编语言或C语言来实现。

操作系统的系统调用:
在这里插入图片描述

3.系统调用的分类
在这里插入图片描述

UNIX/Linux和Windows的部分系统调用:
在这里插入图片描述

4.陷入或异常处理机制的概念

在操作系统中,实现系统调用功能的机制称为陷入或异常处理机制。

5.访管指令(陷入指令或异常中断指令)

由于系统调用而引起处理器中断的机器指令称为访管指令(陷入指令或异常中断指令)。

6.系统调用处理过程
在这里插入图片描述

7.系统调用与过程(函数) 调用的区别
在这里插入图片描述

二、Linux程序接口实验

1.熟悉Linux C语言编辑程序gedit

2.熟悉Linux C语言编译连接程序gcc

3.熟悉Linux系统调用函数用法

4.熟悉Linux程序运行方法

三、操作接口

1.操作接口的定义

操作接口又称作业级接口,是操作系统为用户提供的操作控制计算机工作和提供服务手段的集合。

操作接口与程序接口的重要区别:

  • 操作接口是非编译即可使用的
  • 程序接口需要经过编译方可使用

2.操作接口的类型

(1)操作控制命令:由一组命令及命令解释程序组成,也称为命令接口或联机用户接口。

命令的格式:动宾结构

命令动词 命令宾语参数以及执行方式参数

操作控制命令的执行过程
在这里插入图片描述

(2)批处理系统提供的作业控制语言

作业控制语言(JCL)由一组作业控制卡,或作业控制语句,或作业控制操作命令组成,也称为脱机用户接口。脱机用户可通过作业控制语言对作业进行脱机控制。

联机与脱机作业控制的区别
在这里插入图片描述

(3)图形用户界面

图形用户界面( GUI)使用窗口、图标、菜单和鼠标等技术,将系统的功能、各种应用程序和文件用图形符号直观、逼真地表示出来,用户可通过选择窗口、菜单、对话框和滚动条完成对他们的作业的各种控制和操作。

如Windows资源管理器及Linux图形桌面。

(4)新型用户界面等实现手段

虚拟现实接口、多感知通道用户接口、自然化用户接口、智能化用户接口技术的成熟将为操作系统应用带来更大的方便。

四、Linux操作接口实验

熟悉Linux文件及目录常用操作命令
如:pwd、ls、mkdir、cd、cp、cat、rm等

1.6 操作系统的结构设计

一、操作系统的主要构件

在这里插入图片描述

1.内核

操作系统内核是对硬件进行首次抽象的一层软件,也称为硬件抽象层,用于隐藏硬件复杂性,为上层软件提供简洁、统一的硬件无关的接口。
在这里插入图片描述

2.进程

进程是程序的一次运行过程,用于完成特定任务。
在这里插入图片描述
3.线程

线程是进程中的一个执行流,一个进程可以包含多个执行流,每个执行流分别承担一个计算任务。
在这里插入图片描述

4.管程

管程是用来管理共享资源的一种对象。管程封装了对共享资源进行同步、互斥操作的数据结构和一组过程。
在这里插入图片描述

二、操作系统的结构

在这里插入图片描述

1.单体式结构

操作系统由过程集合构成,链接成一个大型可执行二进制程序。
在这里插入图片描述

2.层次结构

层次式结构是把操作系统划分为内核和若干模块(或进程),这些模块(或进程)按功能的调用次序排列成若干层次,各层之间只能是单向依赖或单向调用关系,即低层为高层服务,高层可以调用低层的功能。
在这里插入图片描述
在这里插入图片描述

3.客户机/服务器与微内核结构

客户机/服务器与微内核结构将操作系统分成两大部分,一部分是运行在用户态并以客户机/服务器方式活动的进程;另一部分是运行在核心态的内核。除内核部分外,操作系统的其他部分被分成若干个相对独立的进程。
在这里插入图片描述

三、操作系统运行模型

1.操作系统运行模型与内核结构之间的关系
在这里插入图片描述
操作系统内核结构与运行模型之间的对应关系是近似的,不是绝对的。

2.非进程模式(内核模块调用模式)

以非进程模式运行的操作系统,其功能组织成一组例行程序,操作系统服务例程以系统调用的形式与用户进程代码结合在一起执行,构成形式上的单一进程。这种模式也称为内核模块调用模式或系统调用模式

非进程模式(内核模块调用模式)运行过程:
在这里插入图片描述

非进程模式的进程映像组成结构:

在这里插入图片描述

2.进程模式

进程模式将操作系统组织成一组系统进程,即操作系统功能是这些系统进程集合运行的结果,这些系统进程也称为服务器或服务器进程,它们与用户进程或其他服务器进程之间构成了客户机/服务器关系。

进程模式系统结构:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_51453356/article/details/125452073