操作系统(一)

操作系统

一、操作系统的四个特性

  • 并发性:并发性是指两个或多个时间在同一时间间隔发生,并发和并行是两个相似的概念,并行是指两个或多个事件在同一时刻发生。进程在宏观上并行,微观上串行

  • 2.共享性:** 由于操作系统存在并发性,所以计算机资源不再被某个程序独占,共享性和并发性是操作系统的两个基本特征。

  • 3.虚拟性:** 虚拟性是指使用某种技术将一个物理实体变成多个逻辑上的实体,这种技术叫做虚拟技术,操作系统使用两种方式来实现虚拟技术 ①时分复用技术②空分复用技术

异步性: 是指进程在操作系统中运行时无法确定其何时开始,何时停止,何时结束。

二、操作系统的作用

  • 用户与硬件系统之间的接口从用户的角度看,操作系统是用户与计算机进行交互的接口,用户可以通过命令、系统调用、图形化窗口等方式使用计算机

  • 计算机系统资源的管理者从计算机的角度看,操作系统是计算机资源的管理者,计算机资源可分为四类:处理器资源、存储器资源、IO设备、文件资源,所以管理也对应了处理器管理、存储器管理、IO设备管理、文件资源管理。

  • 计算机资源的抽象:用户不必知道计算机内部是如何工作的,只需要使用计算机就行。

三、操作系统的发展

人工操作、脱机

人工操作就是指人为将打孔纸带交给计算机处理,脱机方式就是指先人为将纸带录入磁盘,再将磁盘交给计算机,提高了计算机执行效率

批处理系统

批处理是指用户将作业成批提交给计算机处理,最大的一个特点是无法人机交互

单道批处理

计算机收到成批的作业之后,在计算机内存中始终只保存着一道作业,必须等这道作业执行完成之后才能执行下一道作业。
特征:自动性、顺序性、单道性

在这里插入图片描述
比如有ABC三道作业,由于是单道批处理系统,所以在A执行时,系统的输出模块是空着的,或者在A输出时,执行模块和输入模块是空着的。这就导致系统资源利用率不高

多道批处理

为了进一步提高资源的利用率和系统吞吐量,又引入了多道程序设计技术,由此形成了多道批处理系统:用户所提交的作业都先存放在外存上并排成一个后备队列,然后由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。

分时操作系统

分时系统是指在一台主机上链接了多个带有显示器和键盘的终端、多用户以交互的方式使用计算机,并且共享主机中的资源。
分时系统要看准多用户、时间片、交互。linux和unix是典型的分时操作系统。
分时操作系统的特点:
①多路性: 一台主机可以连接多个用户、宏观上是多个用户在同时使用计算机、微观上是每个用户轮流在使用处理器的时间片。
②独立性:多个用户共享一个主机,彼此操作互不干扰,就像独占主机一样
③及时性:用户请求能够较快获得响应
④交互性:用户能够与系统进行交互。

实时操作系统

系统能够在规定的时间内响应用户请求,实时性很高。
实时操作系统相对于分时操作系统的特点而言,多了一个可靠性

四、操作系统功能详解

从计算机的角度看

处理器管理功能
①进程控制
比如进程的创建与结束,以及进程运行过程中状态的切换。
②进程同步
进程同步主要是为了多个程序能够协调运行,有两种协调方式:进程互斥、同步方式。
③进程通信
进程通信就是用于实现两个合作的进程之间的信息交换
④调度
后备队列上的进程和作业都需要处理器进行调度·

存储器管理功能
主要是在多个程序同时使用计算机时,提供良好的内存管理,提高内存利用率

设备管理功能
设备管理用于管理计算机系统中所有的外围设备,具有缓冲管理、设备分配、设备处理及虚拟设备等功能。

文件管理功能
主要是管理文件的存储、文件读写、文件共享、文件安全等。

从用户的角度看

操作系统是用户与计算机硬件之间的接口,又分为用户接口程序接口
用户接口:
为了便于用户直接或间接地控制自己的作业,操作系统向用户提供了命令接口。用户可通过该接口向作业发出命令以控制作业的运行。该接口可分为联机用户接口脱机用户接口
程序接口:
操作系统为用户程序提供了一些接口(由系统调用组成),用于用户程序操作计算机系统资源。
为了保证操作系统的安全,操作系统又分为了两种状态:核心态(管态)、用户态(目态)

系统程序在核心态运行、用户程序在用户态运行,两种状态可以相互切换。

①特权指令
特权指令是在系统态时运行的指令,是关系到系统全局的指令。特权指令只允许操作系统使用,不允许应用程序使用,否则会引起系统混乱。
②非特权指令
非特权指令是在用户态时运行的指令。一般应用程序所使用的都是非特权指令,它只能完成-一般性的操作和任务。

五、操作系统的结构

无结构
模块化结构
分层结构
微内核

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Transactional注解失效的几种典型场景及解决办法

1.注解的方法不是用public修饰 Service public class UserService {Transactionalprivate void add(UserModel userModel) {saveData(userModel);updateData(userModel);} }我们可以看到add方法的访问权限被定义成了private,这样会导致事务失效,spring要…

(二)丶RabbitMQ的六大核心

一丶什么是MQ Message Queue(消息队列)简称MQ,是一种应用程序对应用程序的消息通信机制。在MQ中,消息以队列形式存储,以便于异步传输,在MQ中,发布者(生产者)将消息放入队列&#xff…

实验01 ASP.NET网站的建立及运行

【实验目的】 (1)能熟悉ASP.NET的开发环境Visual Studio Community 2019(VSC 2019)。 (2)能通过解决方案管理网站,会在解决方案中创建网站。 (3)会设置IIS 10中的网站…

Java学习笔记------常用API(四)

BigDecima 用于小数的精准计算 用来表示很大的小数 构造方法获取BigDecimal对象 public BigDecimal(double val)//有可能不精确,不建议使用 public BigDecimal(String val) 静态方法获取BigDecimal对象 public static BigDecimal valueOf(double val)//超出do…

SpringBoot3整合Elasticsearch8.x之全面保姆级教程

整合ES 环境准备 安装配置ES:https://blog.csdn.net/qq_50864152/article/details/136724528安装配置Kibana:https://blog.csdn.net/qq_50864152/article/details/136727707新建项目:新建名为web的SpringBoot3项目 elasticsearch-java 公…

Laravel Class ‘Facade\Ignition\IgnitionServiceProvider‘ not found 解决

Laravel Class Facade\Ignition\IgnitionServiceProvider not found 问题解决 问题 在使用laravel 更新本地依赖环境时,出现报错,如下: 解决 这时候需要更新本地的composer,然后在更新本地依赖环境。 命令如下: co…

邮件自动化:简化Workplace中的操作

电子邮件在职场中的使用对于企业和组织的日常活动起着重要的作用。电子邮件不再仅仅是一种通信方式,已经成为现代企业和组织实施日常运营的关键要素。 除了通信,电子邮件对于需求生成、流程工作流、交易审批以及各种其他与业务相关的活动至关重要。在当…

(三)丶RabbitMQ的四种类型交换机

前言:四大交换机工作原理及实战应用 1.交换机的概念 交换机可以理解成具有路由表的路由程序,仅此而已。每个消息都有一个称为路由键(routing key)的属性,就是一个简单的字符串。最新版本的RabbitMQ有四种交换机类型&a…

Node.js基础+原型链污染

Node.js基础 概述:简单来说Node.js就是运行在服务端的JavaScript,Node.js是一个基于Chrome JavaScript运行时建立的一个平台 大小写变换: toUpperCase():将小写字母转为大写字母,如果是其他字…

C语言- strcat(拼接函数的使用和模拟)

strcat&#xff08;拼接函数的使用和模拟&#xff09; strcat的语法 strcat 是 C 语言标准库中的一个字符串拼接函数&#xff0c;它用于将一个字符串&#xff08;source&#xff09;拼接到另一个字符串&#xff08;destination&#xff09;的末尾。该函数定义在 <string.h…

开箱即用之 windows部署jdk、设置nginx、jar自启

jdk安装 官网下载对应的安装包&#xff0c;解压之后放在本地指定的文件夹下 传送门https://www.oracle.com/java/technologies/downloads/#jdk21-windows 我比较喜欢下载zip方式的&#xff0c;解压之后直接能用&#xff0c;不需要安装了 配置环境 JAVA_HOME 添加path路径 …

Ubuntu 安装 KVM 虚拟化

1. Ubuntu 安装 KVM 虚拟化 KVM 是 Linux 内核中一个基于 hypervisor 的虚拟化模块&#xff0c;它允许用户在 Linux 操作系统上创建和管理虚拟机。 如果机器的CPU不支持硬件虚拟化扩展&#xff0c;是无法使用KVM(基于内核的虚拟机)直接创建和运行虚拟机的。此时最多只能使用…