《Linux操作系统编程》第一章 操作系统引论:了解操作系统的发展、特征、功能以及操作系统结构

news2024/11/24 16:59:39

在这里插入图片描述

在这里插入图片描述

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁
🦄 个人主页——libin9iOak的博客🎐
🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺
🌊 《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐
🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁🐥

在这里插入图片描述

文章目录

  • 第一章 操作系统引论
    • 学习目的
    • 学习要求
    • 学习方法
    • 概念和原理
      • 1.1 操作系统概述
        • 1.1.1 操作系统的定义
        • 1.1.2 操作系统的目标和应用
      • 1.2 操作系统的发展历程
        • 1.2.1 无操作系统的计算机系统
        • 1.2.2 单道批处理系统
        • 1.2.3 多道批处理系统
        • 1.2.4 分时系统
        • 1.2.5 实时系统
      • 1.3 操作系统的基本特征和功能
        • 1.3.1 操作系统基本特征
        • 1.3.2 操作系统的主要任务和功能
      • 1.4 操作系统的结构设计
        • 1.4.1 传统的操作系统结构
        • 1.4.2 客户/服务器模型
        • 1.4.3 面向对象的程序设计
        • 1.4.4 微内核OS结构
    • 重点
    • 难点
    • 习题
  • 原创声明

第一章 操作系统引论

学习目的

​ 要求学生了解操作系统的发展、特征、功能以及操作系统结构。

学习要求

了解:操作系统的层次结构、操作系统的发展及各类型的含义。用户接口的意义和类型、操作系统的形成和发展,传统操作系统的结构设计,以及操作系统的功能模块。

理解:操作系统的目标和作用、脱机输入输出技术、批处理技术、多道程序设计、什么是操作系统、操作系统的基本类型,各类型的基本概念和特点。

掌握:操作系统的基本概念、操作系统的特征。

学习方法

本章重在让学生理解操作系统的基本概念。许多概念非常抽象,需要反复思考,归纳和总结。因此本章需要学生培养抽象思维能力。

概念和原理

1.1 操作系统概述

1.1.1 操作系统的定义

操作系统是一组控制和管理计算机软硬件资源、合理地对各类作业进行调度以及方便用户使用的程序集合。

1.1.2 操作系统的目标和应用

(1) 操作系统的目标

  1. 方便性:操作系统使计算机更易于使用。
  2. 有效性:操作系统允许以更有效的方式使用计算机系统资源。a)提高系统资源利用率 b)提高系统的吞吐量
  3. 可扩展性:在操作系统中,允许有效地开发,测试和引进新的系统功能。
  4. 开放性:实现应用程序的可移植性和互操作性,要求具有统一的开放的环境。

(2) 操作系统的作用

  1. OS作为用户与计算机硬件系统之间的接口
  2. OS作为计算机系统资源的管理者
  3. OS用作扩充机器

1.2 操作系统的发展历程

1.2.1 无操作系统的计算机系统

(1) 人工操作方式

(2) 脱机输入/输出方式

1.2.2 单道批处理系统

(1) 单道批处理系统的处理过程

首先,由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业。当该作业处理完成时,又把控制权交还给监督程序,再由监督程序把磁带(盘)上的第二个作业调入内存。计算机系统就这样自动地一个作业一个作 业地进行处理,直至磁带(盘)上的所有作业全部完成,这样便形成了早期的批处理系统。

(2) 单道批处理系统的特征

自动性、顺序性、单道性

1.2.3 多道批处理系统

(1) 多道程序设计的基本概念

在该系统中,用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享 CPU 和系统中的各种资源。

(2) 多道批处理系统的特征

多道性、无序性、调度性

(3) 多道批处理系统的优缺点

1)资源利用率高

2)系统吞吐量大

3)平均周转时间长

4)无交互能力

(4) 多道批处理系统需要解决的问题

1)处理机管理问题

2)内存管理问题

3)I/O 设备管理问题

4)文件管理问题

5)作业管理问题

1.2.4 分时系统

分时系统(Time Sharing System)与多道批处理系统之间有着截然不同的性能差别,它能很好地将一台计算机提供给多个用户同时使用,提高计算机的利用率。它被经常应用于查询系统中,满足许多查询用户的需要。

(1) 分时系统实现中的关键问题

1)及时接收 2)及时处理

(2) 分时系统的特征

多路性、独立性、及时性、交互性

1.2.5 实时系统

所谓“实时”,是表示“及时”,而实时系统(Real Time System)是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。

(1) 应用需求

1)实时控制 2)实时信息处理

(2) 实时任务

1)按任务执行时是否呈现周期性来划分:a)周期性实时任务 b)非周期性实时任务

2)根据对截止时间的要求来划分:a)硬实时任务 b)软实时任务

(3) 实时系统的特征

  1. 多路性:能对多个对象进行控制。
  2. 独立性:独立运行,不混淆,不破坏。
  3. 交互性:仅限于访问系统中某些特定的专用服务程序。
  4. 可靠性:高可靠性,应具有多级容错防护能力。
  5. 及时性:不同的系统要求不一样,控制对象必须在截止时间内完成。

1.3 操作系统的基本特征和功能

1.3.1 操作系统基本特征

操作系统并发、共享、虚拟和异步这四个基本特征。其中,并发特征是操作系统最重要的特征,其它三个特征都是以并发特征为前提的。

(1) 并发性

  1. 并行与并发

- 并行:两个或多个事件在同一时刻发生。

- 并发:两个或多个事件在同一时间间隔内发生。

  1. 进程

通常的程序是静态实体(Passive Entity),在多道程序系统中,它们是不能独立运行的,更不能和其它程序并发执行。在操作系统中引入进程的目的,就是为了使多个程序能并发执行。

  1. 线程

通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。在引入线程的 OS 中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效地提高系统内多个程序间并发执行的程度。

(2) 共享性

在操作系统环境下,所谓共享(Sharing),是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用,相应地,把这种资源共同使用称为资源共享,或称为资源复用。

  1. 互斥共享方式

当一个进程 A 要访问某资源时,必须先提出请求。如果此时该资源空闲,系统便可将之分配给请求进程 A 使用。此后若再有其它进程也要访问该资源时(只要 A 未用完),则必须等待。仅当 A 进程访问完并释放该资源后,才允许另一进程对该资源进行访问

  1. 同时访问方式

系统中还有另一类资源,允许在一段时间内由多个进程“同时”对它们进行访问。这里所谓的“同时”,在单处理机环境下往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问。

(3) 虚拟性

操作系统中的所谓“虚拟”(Virtual),是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。物理实体(前者)是实的,即实际存在的,而后者是虚的,仅是用户感觉上的东西。相应地,用于实现虚拟的技术称为虚拟技术。

  1. 时分复用技术

- 虚拟处理机:分时实现

- 虚拟设备:SPOOLING技术

  1. 空分复用技术

- 虚拟磁盘技术:逻辑分区

- 虚拟存储器:虚拟存储管理实现

(4) 异步性

内存中的每个进程在何时能获得处理机运行,何时又因提出某种资源请求而暂停,以及进程以怎样的速度向前推进,每道程序总共需多少时间才能完成,等等,这些都是不可预知的。由于各用户程序性能的不同,比如,有的侧重于计算而较少需要 I/O,而有的程序其计算少而 I/O 多,这样,很可能是先进入内存的作业后完成,而后进入内存的作业先完成。或者说,进程是以人们不可预知的速度向前推进,此即进程的异步性(Asynchronism)。

1.3.2 操作系统的主要任务和功能

(1) 操作系统的主要任务

为多道程序的运行提供良好的运行环境,以保证多道程序能有条不紊地、高效地运行,并能最大程度地提高系统中各种资源的利用率和方便用户的使用。

(2) 操作系统的主要功能

  1. 处理机管理(CPU)
  2. 存储器管理
  3. 设备管理
  4. 文件管理
  5. 方便用户使用的用户接口。

1.4 操作系统的结构设计

1.4.1 传统的操作系统结构

​ 软件开发技术的不断发展,促进了 OS 结构的更新换代。这里,我们把早期的无结构OS(第一代)、模块化结构的 OS(第二代)和分层式结构的 OS(第三代),都统称为传统结构的OS,而把微内核结构的 OS 称为现代结构的 OS。

(1) 无结构操作系统

(2) 模块化结构OS:

为使 OS 具有较清晰的结构,OS不再是由众多的过程直接构成,而是将 OS 按其功能精心地划分为若干个具有一定独立性和大小的模块;每个模块具有某方面的管理功能,如进程管理模块、存储器管理模块、I/O 设备管理模块等,并仔细地规定好各模块间的接口,使各模块之间能通过该接口实现交互。

(3) 分层式结构OS:

为了将模块―接口法中“决定顺序”的无序性变为有序性,引入了有序分层法。

1.4.2 客户/服务器模型

(1) 客户/服务器模式的组成

客户/服务器系统主要由客户机、服务器和网络系统三个部分组成。

(2) 客户/服务器之间的交互

在采用客户/服务器的系统中,通常是客户机和服务器共同完成对应用(程序)的处理。这时,在客户机和服务器之间就需要进行交互,即必须利用消息机制在这两者之间进行多次通信。

(3) 客户/服务器模式的优点

  1. 数据的分布处理和存储
  2. 便于集中管理
  3. 灵活性和可扩充性
  4. 易于改编应用软件

1.4.3 面向对象的程序设计

(1) 面向对象技术的基本概念

(2) 面向对象技术的优点

  1. 通过“重用”提高产品质量和生产率
  2. 使系统具有更好的易修改性和易扩展性
  3. 更易于保证系统的“正确性”和“可靠性”

1.4.4 微内核OS结构

(1) 微内核操作系统基本概念

为了提高操作系统的“正确性”、“灵活性”、“易维护性”和”可扩充性”,在进行现代操作系统结构设计时,即使在单处理机环境下,大多也采用基于客户/服务器模式的微内核结构,将操作系统划分为两大部分:微内核和多个服务器

(2) 微内核的基本功能

  1. 进程(线程)管理
  2. 低级存储器管理
  3. 中断和陷入处理

(3) 微内核操作系统的优点

  1. 提高了系统的可扩展性
  2. 增强了系统的可靠性
  3. 可移植性
  4. 提供了对分布式系统的支持
  5. 融入了面向对象技术

(4) 微内核操作系统存在的问题

在微内核 OS 中,由于采用了非常小的内核,以及客户/服务器模式和消息传递机制,这些虽给微内核OS带来了许多优点,但由此也使微内核OS存在着潜在的缺点。其中最主要的是,较之早期 OS,微内核 OS 的运行效率有所降低。

重点

(1)操作系统中的基本概念

学生在初次学习计算机操作系统时,对操作系统概念的理解不是很清晰。在课程开始,通过操作系统应用、操作系统结构、操作系统设计等方面对操作系统进行全景式的介绍,为学生勾勒出操作系统全貌。

操作系统的作用和目标是重点,上述内容围绕这个目标来讨论。

(2)操作系统的基本类型

操作系统在发展过程中出现无操作系统、单道批处理系统、多道批处理系统、分时系统、实时系统和通用操作系统等类型的操作系统,详细介绍每类操作系统出现的历史背景、推动因素、基本原理、主要特征、要解决的问题、主要的优点和缺点;并总结出推动操作系统发展的主要因素。

(3)掌握操作系统的特征

通过对操作系统发展历程,即操作系统各种类型的介绍,体现出操作系统的各种基本特征,以及这些特征之间的联系,从而使学生掌握它们。

难点

(1)操作系统的特征

在操作系统的概念和类型的基础上,介绍主流操作系统的基本特征,重点是这些特征的体现、影响和相互关系。并讲述它们在三种操作系统:Unix、Linux、Windows中的体现。

(2)操作系统的结构特征

从设计和实现操作系统的角度,对操作系统的不同实现结构方式进行归纳总结,介绍常见的几种结构,并对比其特征和优缺点。

习题

1.设计现代OS的主要目标是什么?

答:(1)有效性 (2)方便性 (3)可扩充性 (4)开放性

2.OS有哪几大特征?其最基本的特征是什么?

答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。

3.试描述什么是微内核OS。

答:1)足够小的内核 2)基于客户/服务器模式

3)应用机制与策略分离原理 4)采用面向对象技术。

4.OS的作用可表现在哪几个方面?

答:(1)OS作为用户与计算机硬件系统之间的接口

(2)OS作为计算机系统资源的管理者

(3)OS实现了对计算机资源的抽象

5.何谓脱机I/O和联机I/O?

答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在 外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。该方式下的输入输出由外围 机控制完成,是在脱离主机的情况下进行的。

而联机I/O方式是指程序和数据的输入输出都是在主机的直接控制下进行的。

原创声明

=======

作者: [ libin9iOak ]


本文为原创文章,版权归作者所有。未经许可,禁止转载、复制或引用。

作者保证信息真实可靠,但不对准确性和完整性承担责任。

未经许可,禁止商业用途。

如有疑问或建议,请联系作者。

感谢您的支持与尊重。

点击下方名片,加入IT技术核心学习团队。一起探索科技的未来,共同成长。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/703051.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何查看Navicat已保存数据库连接的密码?

此教程的背景:数据库密码忘记了,但是在Navicat连接过且目前能连接上的状态! 1.导出数据库连接 connections.ncx 文件 选择你要导出密码的数据库连接,切记要勾上导出密码 2.使用文本编辑工具打开导出的connections.ncx 文件 找到…

Android SDK安全加固问题与分析

作者 | 百度APP技术平台 导读 在移动互联网快速发展的背景下,保护Android应用程序的安全性和知识产权变得尤为重要。为了防止恶意攻击和未授权访问,通常采用对dex文件进行代码加固来保护应用程序。随着Android加固技术经过动态加载、不落地加载、指令抽取…

SSM整合 配置文件

<?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://ma…

宇宙是一位高位截瘫的病人

【一点小爱好&#xff0c;喜欢了解一些天文和物理】 宇宙中最快的速度——光速。 在真空中可以达到每秒30万千米&#xff0c;这个速度是什么概念呢&#xff1f;光一秒钟就可以绕地球7.5圈&#xff0c;一秒钟就可以从地球到月球。 但这个速度还是太慢了。太阳发出的光要整整走…

vue中设置花样字体

首先在assets中新建一个文件夹 font 然后再在字体网中选择想要的字体下载放入font文件夹中 字体网&#xff1a;字体_中文字体 | 英文字体 | 书法字体 免费下载 - 爱给网 Fonts2u.com 然后再在style文件夹中创建一个 fontStyle.scss文件 再在main.js文件中注册就可以全局使用…

市场监管总局:7月1日起加大合同范本应用,契约锁助力规范签

近日&#xff0c;国家市场监管总局令第77号公布&#xff0c;并于7月1日起正式施行。总局结合近年来合同行政监管的新形势、新情况、新问题修订出台了《合同行政监督管理办法》&#xff08;以下简称“办法”&#xff09;&#xff0c;明确&#xff1a;加强合同行政监管执法&#…

selenium入门超详细教程——网页自动化操作

selenium入门超详细教程——网页自动化操作 使用 Selenium 通过 Python 自动发布 Facebook 帖子 Selenium基础 — Selenium中的expected_conditions模块&#xff08;一&#xff09; Upload image on Facebook Marketplace with selenium (python)

SpringBoot整合OSS存储

Spring Boot整合OSS存储 一、OSS存储介绍二、准备工作二、添加依赖配置OSS连接信息properties文件yml文件 创建OSS客户端实现文件上传实现文件下载控制器实现文件上传和下载接口 三、Demo 本文介绍如何在Spring Boot应用程序中整合OSS&#xff08;对象存储服务&#xff09;来实…

树莓派使用非树莓派官方的IMX219和IMX477 摄像头配置

问题&#xff1a; sudo libcamera-hello -t 0 ERROR: the system appears to be configured for the legacy camera stack解决办法&#xff1a; 树莓派4B 查询系统型号&#xff1a; cat /etc/os-release 结果&#xff1a; RETTY_NAME"Debian GNU/Linux 11 (bullseye)…

docker部署rabbitmq

拉取镜像 我部署的是3.8版本的 docker pull rabbitmq:3.8 启动容器 docker run -d --hostname my-rabbit --name rabbitmq --restart always -e RABBITMQ_DEFAULT_USERadmin -e RABBITMQ_DEFAULT_PASSadmin -p 15672:15672 -p 5672:5672 --privilegedtrue rabbitmq:3.8 启…

(一)Qt 将某控件、图案绘制在最前面的方法,通过QGraphicsScene模块实现

系列文章目录 通过Qt实现手势识别控制软件操作相关系列技术方案 &#xff08;一&#xff09;Qt 将某控件、图案绘制在最前面的方法&#xff0c;通过QGraphicsScene模块实现 &#xff08;二&#xff09;Qt QGraphicsScene模块实现圆点绘制在所有窗体的最前方&#xff0c;实现圆…

深度学习100例 | 第37天:表情识别(K同学啊原创出品)

&#x1f3e1; 我的环境&#xff1a; 语言环境&#xff1a;Python3.10.11编译器&#xff1a;Jupyter Notebook深度学习框架&#xff1a;TensorFlow2.4.1显卡&#xff08;GPU&#xff09;&#xff1a;NVIDIA GeForce RTX 4070 &#x1f942; 相关教程&#xff1a; 编译器教程&…

「2024」预备研究生mem-比与比例(下)

一、比与比例&#xff08;下&#xff09; 好方法&#xff1a; 不错 二、课后题 三、每日一练

10 月发布,Ubuntu 23.10 已升级到 Linux Kernel 6.3 内核

导读Canonical 于近日宣布&#xff0c;代号为 Mantic Minotaur 的 Ubuntu 23.10 发行版本已升级基于 Linux Kernel 6.3 内核。 Canonical宣布&#xff0c;代号为 Mantic Minotaur 的 Ubuntu 23.10 发行版本已升级基于 Linux Kernel 6.3 内核。 Ubuntu 23.10 于今年 4 月下旬进入…

6、Redis事务、管道、发布订阅(了解)

1、Redis事务 是什么&#xff1f; 可以一次执行多个命令&#xff0c;本质是一组命令的集合。一个事务中的所有命令都会序列化&#xff0c;按顺序地串行化执行而不会被其它命令插入&#xff0c;不许加塞 一个队列中&#xff0c;一次性、顺序性、排他性的执行一系列命令 Redis…

【C51】基于51单片机无线遥控门铃电路的设计与实现

摘 要 20世纪以来&#xff0c;科技发展步入了信息时代&#xff0c;科技发展的目的就是为了服务人民&#xff0c;让我们可以拥有更好的生活。居住环境和质量也愈加重要&#xff0c;智能家居就是一次革新&#xff0c;给生活方面带来了巨大的改善&#xff0c;本课题研究的无线遥控…

C#核心知识回顾——4.object中的方法、String、StringBuilder

1.object中的方法 object中的静态方法&#xff1a; 静态方法Equals判断两个对象是否相等&#xff1a; 最终的判断权&#xff0c;交给左侧对象的Equals方法&#xff0c; 不管值类型引用类型都会按照左侧对象Equals方法的规则来进行比较 静态方法Reference Equals&#xf…

分布式操作系统期末复习(辽宁大学王龙主讲)

目录 一、题目 1.1 简答题 1.2 综合题 二、题目答案 2.1 简答题目答案 2.2 综合题目答案 三、期末题型分值分布 3.2 题型和分值 一、题目 1.1 简答题 1什么是中间件 22.1&#xff08;22年期末考试第一题&#xff09; 2 什么是名称解析 3 描述一下客户和服务器之间使…

爬虫入门指南(1):学习爬虫的基础知识和技巧

文章目录 爬虫基础知识什么是爬虫&#xff1f;爬虫的工作原理爬虫的应用领域 爬虫准备工作安装Python安装必要的库和工具 网页解析与XPath网页结构与标签CSS选择器与XPathXpath 语法XPath的基本表达式&#xff1a;XPath的谓语&#xff08;Predicate&#xff09;&#xff1a;XPa…

实测视频!为什么独立比贴片IMU更适合智能驾驶?

在汽车智能化这场行业变革中&#xff0c;作为智能驾驶的标配&#xff0c;高精度定位系统已成L2级及以上智能驾驶“照进现实”进程中四两拨千斤的存在。 惯性测量单元IMU因其工作不依赖包括卫星在内的外界信号&#xff0c;已是智能汽车高精度定位系统的核心元器件。然而行业对于…