当前位置: 首页 > news >正文

操作系统(1.1)--引论

目录

一、操作系统的目标和作用

1.操作系统的目标 

2.操作系统的作用 

2.1 OS作为用户与计算机硬件系统之间的接口

2.2 OS作为计算机系统资源的管理者

2.3 0S实现了对计算机资源的抽象

3. 推动操作系统发展的主要动力

二、操作系统的发展过程 

1.无操作系统的计算机系统

1.1 人工操作方式

1.2脱机输入输出方式 

2. 单道批处理系统

2.1 单道批处理系统的处理过程 

 2.2 单道批处理系统的缺点

3. 多道批处理系统

3.1基本概念 

​编辑3.2 多道批处理系统的优缺点

3.3 多道批处理系统需要解决的问题

4. 分时系统

4.1 分时系统的产生

4.2分时系统实现中的关键问题

4.3 分时系统的特征

5. 实时系统

5.1实时系统的类型

5.2 实时任务的类型

5.3 实时系统与分时系统特征的比较

6. 微机操作系统的发展


一、操作系统的目标和作用

1.操作系统的目标 

1.方便性
2.有效性
(1)提高系统资源利用率
(2)提高系统的吞吐量
3.可扩充性

4.开放性

方便性和有效性是设计0S时最重要的两个目标

2.操作系统的作用 

2.1 OS作为用户与计算机硬件系统之间的接口

OS作为用户与计算机硬件系统之间接口的含义是: OS处于用户与计算机硬件系统之
间,用户通过OS来使用计算机系统。

使用计算机的三种方式:
(1) 命令方式; (2) 系统调用方式; (3)图标-窗口方式

2.2 OS作为计算机系统资源的管理者

在一个计算机系统中,通常都含有多种硬件和软件资源。归纳起来可将这些资源分为四类:处理机、存储器、I/O 设备以及文件(数据和程序)。

资源分为4类:处理机、存储器、I/0设 备和文件

2.3 0S实现了对计算机资源的抽象

对于一台完全无软件的计算机系统(即裸机),由于它向用户提供的仅是硬件接口(物理
接口),因此,用户必须对物理接口的实现细节有充分的了解,这就致使该物理机器难于广
泛使用。

 

3. 推动操作系统发展的主要动力

  • 不断提高计算机资源的利用率
  • 方便用户
  • 器件的不断更新换代
  • 计算机体系结构的不断发展
  • 不断提出新的应用需求

二、操作系统的发展过程 

1.无操作系统的计算机系统

1.1 人工操作方式

缺点:

(1)用户独占全机,即一- 台计算机的全部资源由上机用户所独占。
(2) CPU 等待人工操作。当用户进行装带(卡)、卸带(卡)等人工操作时,CPU及内存等
资源是空闲的。

1.2脱机输入输出方式 

 

优点:

(1)减少了CPU的空闲时间。装带、卸带,以及将数据从低速I/O设备送到高速磁带
上(或反之)的操作,都是在脱机情况下由外围机完成的,并不占用主机时间,从而有效地
减少了CPU的空闲时间。
(2)提高了I/O速度。当CPU在运行中需要输入数据时,是直接从高速的磁带上将数
据输入到内存的,这便极大地提高了I/O速度,从而进-步减少了CPU的空闲时间。

2. 单道批处理系统

2.1 单道批处理系统的处理过程 

要把一批作业以脱机的方式输入到磁盘上,并在系统当中配上监督程序,在它的控制下使这
批作业能一个接一个的连续处理。

 

 2.2 单道批处理系统的缺点

 资源不能充分利用

3. 多道批处理系统

3.1基本概念 

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

3.2 多道批处理系统的优缺点

(1)资源利用率高

引入多道批处理能使多道程序交替运行,以保持CPU处于忙碌状态;在内存中装入多道程序可提高内存的利用率;此外还可以提高I/O设备的利用率。
(2)系统吞吐量大.。

能提高系统吞吐量的主要原因可归结为:①CPU和其它资源保持“忙碌”状态;②仅当作业完成时或运行不下去时才进行切换,系统开销小。
(3)平均周转时间长。

由于作业要排队依次进行处理,因而作业的周转时间较长,通常需几个小时,甚至几天。
(4)无交互能力。

用户- -旦把作业提交给系统后,直至作业完成,用户都不能与自己的作业进行交互,修改和调试程序极不方便。

系统吞吐量:系统在单位时间内所完成的总工作量。
作业的周转时间:从作业进入系统开始,直至其完成并退出系统为止所经历的时间。

3.3 多道批处理系统需要解决的问题

(1)处理机争用问题。

既要能满足各道程序运行的需要,又要能提高处理机的利用率。
(2)内存分配和保护问题。

系统应能为每道程序分配必要的内存空间,使它们“各得其所”,且不会因某道程序出现异常情况而破坏其它程序。
(3) I/O设备分配问题。

系统应采取适当的策略来分配系统中的I/O设备,以达到既能方便用户对设备的使用,又能提高设备利用率的目的。.
(4)文件的组织和管理问题。

系统应能有效地组织存放在系统中的大量的程序和数据,使它们既便于用户使用,又能保证数据的安全性。
(5)作业管理问题。

系统中存在着各种作业(应用程序),系统应能对系统中所有的作业进行合理的组织,以满足这些作业用户的不同要求。
(6)用户与系统的接口问题。

为使用户能方便的使用操作系统,OS还应提供用户与OS之间的接口。

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

4. 分时系统

台计算机连接多个终端,用户通过各自的终端把作业送入计算机;计算机又通过终端向各个用
户报告其作业的运行情况。计算机能分时轮流地为各终端用户服务,并能及时地对用户服务
请求予以响应。
响应时间为用户发出一条指令到系统处理完这条指令并做出回答所需要的时间。是衡量分时系统性能好坏的一-条重要标志,但具体的响应时间与系统的用户个数及时间片大小有关。响应时间T与时间片q和用户个数n之间的关系为:T=nq

4.1 分时系统的产生

分时系统:是指在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。

用户的需求具体表现在以下几个方面:

  • (1)人-机交互;
  • (2)共享主机

4.2分时系统实现中的关键问题

Ⅰ、及时接收

Ⅱ、及时处理

(1)作业直接进入内存。

(2)采用轮转运行方式。

4.3 分时系统的特征

  • (1)多路性;
  • (2)独立性;
  • (3) 及时性;
  • (4)交互性

5. 实时系统

实时系统:是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。

5.1实时系统的类型

  • (1)工业控制系统;
  • (2)信息查询系统;
  • (3) 多媒体系统;
  • (4) 嵌入式系统

5.2 实时任务的类型

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

  • (1) 周期性实时任务;
  • (2)非周期性实时任务

2)根据对截止时间的要求来划分:

  • (1) 硬实时任务;
  • (2)软实时任务 

5.3 实时系统与分时系统特征的比较

  • (1)多路性。信息查询系统和分时系统中的多路性都表现为系统按分时原则为多个终端用户服务;实时控制系统的多路性则是指系统周期性地对多路现场信息进行采集,以及对多个对象或多个执行机构进行控制。
  • (2)独立性。信息查询系统中的每个终端用户在与系统交互时,彼此相互独立互不干扰;同样在实时控制系统中,对信息的采集和对对象的控制也都是彼此互不干扰的。
  • (3)及时性。信息查询系统对实时性的要求是依据人所能接受的等待时间确定的,而多媒体系统实时性的要求是,播放出来的音乐和电视能令人满意。实时控制系统的实时性则是以控制对象所要求的截止时间来确定的,一般为秒级到毫秒级。
  • (4)交互性。在信息查询系统中,人与系统的交互性仅限于访问系统中某些特定的专用服务程序。它并不像分时系统那样,能向终端用户提供数据处理、资源共享等服务。而多媒体系统的交互性也仅限于用户发送某些特定的命令,如开始、停止、快进等,由系统立即响应。
  • (5)可靠性。分时系统要求系统可靠,实时系统要求系统高度可靠,因为任何差错都可能带来无法预料的灾难性后果。因此,在实时系统中,往往都采取了多级容错措施来保障系统的安全性及数据的安全性。

6. 微机操作系统的发展

1. 单用户单任务操作系统
1) CP/M;
2) MS-DOS


2.单用户多任务操作系统
其中最有代表性的是由微软公司推出的Windows


3.多用户多任务操作系统
其中最有代表性的是UNIXOS

相关文章:

操作系统(1.1)--引论

目录 一、操作系统的目标和作用 1.操作系统的目标 2.操作系统的作用 2.1 OS作为用户与计算机硬件系统之间的接口 2.2 OS作为计算机系统资源的管理者 2.3 0S实现了对计算机资源的抽象 3. 推动操作系统发展的主要动力 二、操作系统的发展过程 1.无操作系统的计算机系统…...

Spring boot + mybatis-plus 遇到 数据库字段 创建不规范 大驼峰 下划线 导致前端传参数 后端收不到参数 解决方案

最近使用springboot 连接了一个 sqlserver 数据库 由于数据库年数久远 ,建表字段不规范 大驼峰 下划线的字段名都有 但是 java 中 Spring boot mybatis-plus 又严格按照小驼峰 格式 生成实体类 如果不是小驼峰格式 Data 注解 get set 方法 在前端请求参数 使用这个…...

JavaScript String 字符串对象

文章目录JavaScript String 字符串对象JavaScript 字符串字符串(String)在字符串中查找字符串内容匹配替换内容字符串大小写转换字符串转为数组特殊字符字符串属性和方法JavaScript String 字符串对象 String 对象用于处理已有的字符块。 JavaScript 字…...

Lazada如何做好店铺运营?产品定价是关键

1.东南亚各国状况一览(对比中国) 2.东南亚消费水平真的很低? 精准定价的意义:定价过高,失去核心竞争力;定价过低,亏本对市场失去信心;价格改动,流量下降 定价公式&#…...

空口协议Eapol、802.11 Action、802.11 BAR 和 802.11BA、802.11 Encrypted Data讲解

如下报文 可以看到,除了有之前开放认证的报文之外,还多了 EAPOL 次握手的报文。另外,还有其他几种类型的报文:802.11 Action、802.11 BAR 和 802.11BA、802.11 Encrypted Data ​ 密匙认证协议EAPOL: EAP是Extensible Authentication Protocol的缩写,EAPOL就是(EAP…...

C++类和对象

目录 一、C类定义 二、定义C对象 三、访问数据成员 四、类和对象详解 C 在 C 语言的基础上增加了面向对象编程,C 支持面向对象程序设计。类是 C 的核心特性,通常被称为用户定义的类型。 类用于指定对象的形式,它包含了数据表示法和用于处…...

Leetcode.面试题 05.02 二进制数转字符串

题目链接 面试题 05.02 二进制数转字符串 Mid 题目描述 二进制数转字符串。给定一个介于0和1之间的实数(如0.72),类型为double,打印它的二进制表达式。如果该数字无法精确地用32位以内的二进制表示,则打印“ERROR”。…...

UDPTCP网络编程

udp编程接口 一个UDP程序的编写可以分为3步: 创建一个网络套接字: 它相当于文件操作时的文件描述符,是一个程序进行网络通讯的门户, 所有的网络操作都要基于它 绑定IP和端口: 需要为网络套接字填充IP和端口信息 但是…...

【微信小程序】-- 全局配置 -- tabBar(十七)

💌 所属专栏:【微信小程序开发教程】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &…...

Cortex-A7中断控制器GIC

Cortex-A7中断控制器GIC 中断号 芯片内部的中断都会引起IRQ InterruptGIC将所有的中断源(最多1020个中断ID)分为三类: SPI(SharedPeripheralInterrupt)共享中断,外部中断都属于SPI中断 [ID32-1019]PPI(PrivatePeripheralInterrupt)私有中断 [ID16-31]SGI(Software-…...

JavaSE:常用类

前言从现在开始进入高级部分的学习,鼓励自己一下!画个大饼: 常用类->集合框架->IO流->多线程->网络编程 ->注解与反射->GUI很重要的东西,不能不会!Object类祖宗类,主要方法:t…...

Element中树形控件在项目中的实际应用

文章目录1、使用目的2、官网组件3、组合使用组件案例4、在项目中实际应用4.1 组合组件的使用4.1.2 代码落地4.1.3 后台接口数据4.1.4 实际效果官网连接直达&#xff1a;Tree树形控件的使用 1、使用目的 用清晰的层级结构展示信息&#xff0c;可展开或折叠。 2、官网组件 <…...

kaggle RSNA 比赛过程总结

引言 算算时间&#xff0c;有差不多两年多没在打kaggle了&#xff0c;自20年最后一场后&#xff08;其实之前也就打过两场&#xff0c;一场打铁&#xff0c;一场表格赛是金是银不太记得&#xff0c;当时相当于刺激战场&#xff0c;过拟合lb大赛太刺激了&#xff0c;各种trick只…...

51单片机入门————LED灯的控制

LED的电路图通过原理图看出&#xff0c;LED灯是接单片机芯片的P20~P27的一共有8个LED&#xff0c;51单片机也是8字节的P20x010xFE————1111 1110P20xFE可以表示把在P2端的第一个灯点亮1 表示高电平0表示低电平当为0的时候形成一个完整回路&#xff0c;电流从高电平流向低电平…...

J - 二进制与、平方和(线段树 + 维护区间1的个数)

2023河南省赛组队训练赛&#xff08;二&#xff09; - Virtual Judge (vjudge.net) 请你维护一个长度为 n 的非负整数序列 a1, a2, ..., an&#xff0c;支持以下两种操作&#xff1a; 第一种操作会将序列 al, al  1, ..., ar 中的每个元素&#xff0c;修改为各自和 x…...

BertTokenizer的使用方法(超详细)

导入 from transformers import BertTokenizer from pytorch_pretrained import BertTokenizer以上两行代码都可以导入BerBertTokenizer,transformers是当下比较成熟的库&#xff0c;pytorch_pretrained是google提供的源码(功能不如transformers全面) 加载 tokenizer BertT…...

深度学习编译器CINN(3):编译过程中遇到的问题总结

目录 问题一:No module named XXXX 问题描述 分析与解决方案 问题二:catastrophic error: cannot open source file "float16.h"...

yum 安装mysql8数据全过程

mysql8安装方式&#xff1a;&#xff08;使用官方yum仓库&#xff09; 1. wget https://dev.mysql.com/get/mysql80-community-release-el7-4.noarch.rpm 安装 yum install mysql80-community-release-el7-4.noarch.rpm 2、生成yum源缓存 每次当我们编写了&#xff0c…...

内网vCenter部署教程一

PS:因为交换机链路为trunk,安装先登录ESXI,将端口组改为管理vlan ID(1021) 一、双击镜像,打开文件夹,目录为F:\vcsa-ui-installer\win32,双击installer.exe 二、先设置语言为中文 三、点击下一步 四、选择需要安装esxi的主机。 五、设置Vcenter虚拟机的密码...

java 进阶—线程的常用方法

大家好&#xff0c;通过java进阶—多线程&#xff0c;我们知道的什么是进程&#xff0c;什么是线程&#xff0c;以及线程的三种创建方式的选择 今天&#xff0c;我们来看看线程的基础操作 start() 开启线程 public class Demo implements Runnable {Overridepublic void run…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码&#xff1a; https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问&#xff1a;说说对 IP 数据报中 TTL 的理解&#xff1f;我们都知道&#xff0c;IP 数据报由首部和数据两部分组成&#xff0c;首部又分为两部分&#xff1a;固定部分和可变部分&#xff0c;共占 20 字节&#xff0c;而即将讨论的 TTL 就位于首…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马&#xff08;服务器方面的&#xff09;的原理&#xff0c;连接&#xff0c;以及各种木马及连接工具的分享 文件木马&#xff1a;https://w…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...

【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论

路径问题的革命性重构&#xff1a;基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中&#xff08;图1&#xff09;&#xff1a; mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言&#xff1a; 在Java编程中&#xff0c;类的生命周期是指类从被加载到内存中开始&#xff0c;到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期&#xff0c;让读者对此有深刻印象。 目录 ​…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发&#xff0c;后来由Pivotal Software Inc.&#xff08;现为VMware子公司&#xff09;接管。RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写。广泛应用于各种分布…...