操作系统概述

news/2024/9/22 20:29:02/

概述

一、简单描述
1、系统资源的管理者;
2、最接近硬件的一层软件;
3、向上层提供方便容易使用的服务;

二、提供的功能
1、处理机管理;
2、储存器管理;
3、文件管理;
4、设备管理;

举例说明:打开QQ的时候,需要找到安装的位置(文件管理),双击打开qq的时候需要将qq放入到内存中去(储存器管理),qq程序被处理机处理,开qq视频的时候需要获取摄像头的权限(设备管理);

三、封装思想
内部的硬件只能识别01010之类的二进制信号,这个时候需要操作系统去封装一层,将不利于用户去阅读的二进制编码优化成方便调用的服务,

四、操作系统的特点
1、并发:宏观同时发生,微观交替发生;
2、并行;多个事件同时发生;
3、共享
(一)互斥共享:一段时间内只允许一个进程访问资源;
(二)同时共享的方式:允许一段时间多个进程同时对他们进行访问;
4、虚拟:相当于建立了映射关系,将内存的东西映射到硬件之中去;
5、异步:多个程序运行的情况之下,允许多个程序并发执行,但是由于资源有限,进程的执行不是一贯到底的,需要走走停停;

五、操作系统的发展历史
1、手工操作阶段
纸带机(用户独占全机、人机速度矛盾)

2、批处理阶段
单道批处理系统(外围机——磁带)
多道批处理系统(操作系统开始出现)

3、分时操作系统
轮流处理作业
不能处理紧急任务

4、实时操作系统
优先处理紧急任务
硬实时系统:必须在严格的时间内完成处理
软实时系统:可以偶尔犯错

5、网络操作系统
6、分布式操作系统
7、个人计算机操作系统

六、程序是如何运行的
1、用户态和内核态
用户态是用户模式、内核态是内核模式,当操作系统需要工作的时候需要切换为内核态,退出工作的时候切换为用户态,有程序状态寄存器来记录当前操作系统处于内核态还是用户态;

运行流程的例子
假设你是一名顾客在一家餐厅用餐,餐厅有一个厨师负责烹饪食物,而你作为顾客只能在餐厅的就餐区域内进行点餐、享用餐点。这里就可以将就餐区域看作用户态,厨师看作内核态。

在用户态,你只能在就餐区域内享用餐点,不能直接进入厨房进行烹饪操作,也不能直接控制厨房的设备和资源,比如燃气灶、刀具等。你只能通过服务员(类似于系统调用接口)向厨师发出菜单(类似于系统调用请求),然后厨师根据菜单进行烹饪(类似于内核态下的操作),最后将做好的餐点送到你的就餐区域供你享用(类似于系统调用结果返回给应用程序)。这时,你可以在用户态下享用餐点,但不能直接控制厨房的操作。

而在内核态,厨师具有更高的权限,可以自由进入厨房,使用各种设备和资源,进行烹饪操作,如调整燃气灶的火候、使用刀具进行切割等。厨师在内核态下具有更高的权限,可以直接控制厨房的操作,执行特权操作。

类似地,在计算机系统中,应用程序在用户态下只能访问受限的资源,并通过系统调用接口向操作系统发起请求以执行需要特权的操作。而操作系统在内核态下具有更高的权限,可以直接访问系统的核心功能和资源,执行特权操作。用户态和内核态之间的切换需要经过系统调用接口,类似于餐厅中的服务员将菜单传递给厨师进行处理,然后将处理结果返回给应用程序。
在这里插入图片描述
系统调用是操作系统提供给应用程序使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以通过系统调用来请求获得操作系统内核的服务。
在这里插入图片描述
系统调用的功能
在这里插入图片描述
--------------------------------------------END----------------------------------------


http://www.ppmy.cn/news/56334.html

相关文章

【IPv6】基本概念及字段

IPV4知识点: 字段值 IPv4字段共 字段值解释Version版本版本字段,可以区分V4和V6版本,V4是0100,V6是0110,需要注意的是V4和V6头部除了版本字段位置相同外,其他都是不一样的,因此两个协议不能直…

Python面向对象专题一

Python面向对象—专题(一) 1.初识面向对象 Key Point 面向对象概念类的定义对象的创建isinstance函数类本身也是一个对象 面向对象概念 类,描述一类对象的特征集合。对象,符合类定义特征的具体实例。属性,分为类属性…

2023大数据面试题+附答案

文章目录 1.HDFS面试题50道HDFS 答案: 2.HIVE面试题50道HIVE 答案: 3.Spark面试题50道Spark 答案 4.Spark Streaming面试题50道Spark Streaming答案 5.HBase 面试题50道HBase 答案 6.Kafka 面试题50道Kafka答案 7.Flume 面试题50道Flume 答案 8.Flink 面…

多层感知器模型与模型训练

文章目录 1. 多层感知器模型与模型训练1.1 多层感知器模型1.2 损失函数1.3 优化器与初始化模型1.4 编写训练循环1.5 案例代码整合 最近看了日月光华老师的《PyTorch深度学习简明实战》,将里面的代码自己动手复现了一遍,还是受益良多,书里面的…

数据结构初阶 —— 树(堆)

目录 一,堆 堆的概念 向下调整法(数组) 向上调整法(数组) 堆的创建(建堆) 堆的实现 一,堆 堆的概念 如有个关键码的集合K{,,,...&#xf…

【地铁上的设计模式】--结构型模式:适配器模式

前面几篇文章我们学习了创建型模式,从本篇文章开始,我们将学习结构型模式。 什么是结构型模式 结构型模式是一种设计模式,它描述了如何将类或对象结合在一起形成更大的结构,以提供新的功能或实现更复杂的行为。结构型模式包括以…

界面控件DevExpress WinForm的垂直网格,让数据展示更灵活(二)

DevExpress WinForm Vertical Grid(垂直网格)组件设计用于提供UI灵活性,它允许显示数据集中的单个行,或在其90度反向网格容器中显示多个数据集行。此外,开发者还可以将其用作属性网格,就像在Visual Studio …

寒武纪2019秋招嵌入式软件开发笔试-牛客网刷题

寒武纪2019秋招嵌入式软件开发岗笔试 1.单片机IO口开漏输出和推挽输出有什么区别? 我答的:单片机的IO口可以配置为开漏输出和推挽输出两种模式,它们的主要区别在于输出方式和驱动能力不同。 开漏输出是指输出器件(通常是晶体管&…