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

第一章 操作系统概述

目录

  • 一、什么是操作系统?
    • 1、操作系统的概念
    • 2、计算系统的构成
    • 3、主要作用
  • 二、操作系统有哪些功能?
    • 1、操作系统的目标
    • 2、操作系统的功能
  • 三、操作系统有哪些特征?
    • 1、并发性
    • 2、共享性
    • 3、虚拟性
    • 4、异步性
  • 四、操作系统的运行机制是怎样的?
    • 1、几个基本概念
    • 2、时钟管理
    • 3、中断机制
    • 4、原语
    • 5、系统数据结构
    • 6、系统调用

一、什么是操作系统?

1、操作系统的概念

操作系统(Operation System),简称OS,是管理计算机『硬件』与『软件』资源的计算机程序。

2、计算系统的构成

用户:学生、软件工程师、职场白领、游戏玩家…
应用程序:微信、QQ、浏览器、杀毒软件、王者荣耀
操作系统:Windows、Mac OS、Linux、Android、iOS
硬件(裸机):CPU、内存、鼠标、键盘
在这里插入图片描述

3、主要作用

管理与配置内存
决定系统资源供需的优先次序
控制输入设备与输出设备
操作网络与管理文件系统等基本事务
提供一个让用户与系统交互的操作界面

二、操作系统有哪些功能?

1、操作系统的目标

1.有效性
计算机系统非常昂贵,提高计算机系统的资源利用率和吞吐量是第一目标
(1) 提高系统资源利用率
使CPU、I/O设备等各种闲置资源得到充分利用
(2) 提高系统的吞吐量
合理组织计算机的工作流程,进一步改善资源的利用率,加速程序的运行, 缩短程序的运行周期
2.方便性
配置OS后可使计算机系统更容易使用
机器语言->命令->图形界面操作
3.可扩充性
随着技术的发展,计算机系统软硬件的更新迭代,对操作系统的可扩充性提出更高的要求
适应计算机硬件、体系结构以及应用发展的要求
4.开放性
随着计算机网络的发展,遵循国际标准(OSI)的软硬件可以互通互联
使来自不同厂家的计算机和设备能通过网络加以集成化,并能正确、有效地协同工作,实现应用的可移植性和互操作性

2、操作系统的功能

1.OS作为计算机系统资源的管理者
在这里插入图片描述
2.OS作为用户与计算机『硬件系统』之间的接口
在这里插入图片描述
3.OS实现了对计算机资源的抽象
在这里插入图片描述

三、操作系统有哪些特征?

OS的四个基本特征

并发
共享
虚拟
异步

在这里插入图片描述

1、并发性

概念: 同一时间间隔内执行和调度多个程序的能力
特点:
宏观上,处理机同时执行多道程序
微观上,处理机在多道程序间高速切换(分时交替执行)
关注单个处理机同一时间段内处理任务数量的能力
相似概念:并行

并发:同一时间间隔(时间段)发生的事件数量
午餐时段,学校餐厅并发用餐人数为12人

并行:同一时刻(时间点)发生的事件数量
同一时间点,学校餐厅最多并行3人打餐

在这里插入图片描述

2、共享性

即资源共享,系统中的资源供多个『并发执行』的应用程序共同使用

  • 同时访问方式:同一时段允许多个程序同时访问共享资源
  • 互斥共享方式:也叫独占式,允许多个程序在同一个共享资源上独立而互不干扰的工作
    • 共享打印机、音频设备、视频设备

并发和共享互为存在条件
共享性要求OS中同时运行着多道程序

  • 若只有单道程序正在运行,则不存在共享的可能

并发性难以避免的导致多道程序同时访问同一个资源

  • 若多道程序无法共享部分资源(比如磁盘),则无法并发

在这里插入图片描述

3、虚拟性

时分复用技术(TDM,Time Division Multiplexing)

  • 虚拟处理机技术:“四核八线程”
  • 虚拟设备技术:虚拟打印机
    在这里插入图片描述

空分复用技术(SDM,Space Division Multiplexing)

  • 虚拟磁盘技术:将一块硬盘虚拟出若干个卷
  • 虚拟存储器技术
    在这里插入图片描述

4、异步性

多道程序环境下,允许多个程序并发执行;
单处理机环境下,多个程序分时交替执行;
程序执行的不可预知性

  • 获得运行的时机
  • 因何暂停
  • 每道程序需要多少时间
  • 不同程序的性能,比如计算多少,I/O多少

宏观上“一气呵成”,微观上“走走停停”

四、操作系统的运行机制是怎样的?

1、几个基本概念

内核程序 <- - -> 应用程序
核心态 <- - -> 用户态
特权指令 <- - -> 非特权指令
在这里插入图片描述

2、时钟管理

计时:提供系统时间
时钟中断:比如进程切换

3、中断机制

提高多道程序环境下CPU利用率
外中断:中断信号来源于->外部设备 被迫
内中断:中断信号来源于->当前指令 自愿
内中断的三种情况
陷阱/陷入(Trap):由应用程序主动引发
故障(fault):由错误条件引发
终止(abort):由致命错误引发
在这里插入图片描述
中断处理过程
在这里插入图片描述

4、原语

原语运行在内核空间
由若干条指令组成—是一个程序段
用来完成某个特定功能
执行过程不会被中断—具有原子性

5、系统数据结构

一般只涉及到对数据结构的操作,不涉及硬件
进程管理:作业控制块、进程控制块
存储器管理:存储器分配与回收
设备管理:缓冲区、设备控制块

6、系统调用

系统调用的处理运行在核心态
由操作系统实现,给应用程序调用
是一套接口的集合
应用程序访问内核服务的方式
在这里插入图片描述

相关文章:

第一章 操作系统概述

目录一、什么是操作系统&#xff1f;1、操作系统的概念2、计算系统的构成3、主要作用二、操作系统有哪些功能&#xff1f;1、操作系统的目标2、操作系统的功能三、操作系统有哪些特征&#xff1f;1、并发性2、共享性3、虚拟性4、异步性四、操作系统的运行机制是怎样的&#xff…...

ChatGPT为什么不受开发者喜欢?

记得 ChatGPT 最开始上线不久的时候&#xff0c;看到的大部分尝鲜和测试结果都是开发者在做进行敲代码测试&#xff0c;可以说职业危机感非常强的一群人了。 再者&#xff0c;加上 ChatGPT 要使用起来其实是有一些技术门槛的&#xff0c;愿意折腾的人也多是程序员&#xff0c;…...

Lua table

Table&#xff08;表&#xff09; table 是 lua 中唯一的数据结构&#xff0c;可以用于表示 数组&#xff0c;字典与结构体。它非常强大&#xff0c;可以储存任何数据类型。 table 的数据单元为一对键值。 table 是不固定大小的&#xff0c;你可以根据自己需要进行扩容。 构…...

JavaScript:使用for in不是一个很好的抉择

for in 如果让你遍历对象中的key和value&#xff0c;你第一个想到的一定是使用for in const o{name:"chengqige",age:23 } for (let key in o){console.log(key,o[key]); }看起来是没有问题的&#xff0c;但是如果我在下面加一行代码&#xff0c;输出的结果就可能让…...

Go语言学习小笔记(一)

Go语言学习小笔记&#xff08;一&#xff09; 入口 项目的主入口&#xff1a;一般在main.go 包导入 一个包定义一组编译过的代码&#xff0c;包的名字类似命名空间&#xff0c;可以用来间接访问包内声明的标识符 所有处于同一个文件夹中的代码文件&#xff0c;必须使用同一…...

前端Docker部署方案

一、Docker容器和镜像概念 首先明确镜像和容器的概念。我们可以用 docker 构建一个镜像&#xff0c;这个镜像可以导入导出&#xff0c;用于传输&#xff0c;重复利用。然后如果把他 run 起来&#xff0c;则称为一个容器。容器是运行时&#xff0c;会包括运行时上下文&#xff…...

Java——无重叠区间

题目链接 leetcode在线oj题——无重叠区间 题目描述 给定一个区间的集合 intervals &#xff0c;其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量&#xff0c;使剩余区间互不重叠 。 题目示例 输入: intervals [[1,2],[2,3],[3,4],[1,3]] 输出: 1 解释…...

数据库和数据表创建与管理操作

数据库和数据表创建与管理操作 MySQL中&#xff0c;一个完整的而数据存储过程主要分成4步&#xff1a; 创建数据库确认字段创建数据表插入数据 标识符命名规则 数据库名、表名不得超过30个字符&#xff0c;变量名限制为29个必须只能包含 A–Z, a–z, 0–9, _共63个字符数据…...

buu [ACTF新生赛2020]crypto-rsa3 1

题目描述&#xff1a; from flag import FLAG from Cryptodome.Util.number import * import gmpy2 import random e65537 p getPrime(512) q int(gmpy2.next_prime) n p*q m bytes_to_long(FLAG) c pow(m,e,n) print(n) print( c ) n 177606504836499246970959030226871…...

知识库:在医疗行业的知识管理有着怎样的意义与实际影响?

知识库中还可存在一个通常被称作典型方法库的特殊部分。如果对于某些问题的解决途径是肯定和必然的&#xff0c;就可以把其作为一部分相当肯定的问题解决途径直接存储在典型方法库中。这种宏观的存储将构成知识库的另一部分。在使用这部分时&#xff0c;机器推理将只限于选用典…...

带你一步步搭建Web自动化测试框架

测试框架的设计有两种思路&#xff0c;一种是自底向上&#xff0c;从脚本逐步演变完善成框架&#xff0c;这种适合新手了解框架的演变过程。另一种则是自顶向下&#xff0c;直接设计框架结构和选取各种问题的解决方案&#xff0c;这种适合有较多框架事件经验的人。本章和下一张…...

Redis进阶-缓存问题

Redis 最常用的一个场景就是作为缓存&#xff0c;本文主要探讨Redis作为缓存&#xff0c;在实践中可能会有哪些问题&#xff1f;比如一致性、击穿、穿透、雪崩、污染等。 为什么要理解Redis缓存问题 在高并发业务场景下&#xff0c;数据库大多数情况都是用户并发访问最薄弱的…...

VS Code Spring 全新功能来了!

大家好&#xff0c;欢迎来到我们 2023 年的第一篇博客&#xff01;我们想与您分享几个与 Spring 插件、代码编辑和性能相关的激动人心的更新&#xff0c;让我们开始吧&#xff01; Spring 插件包的新入门演练 演练&#xff08;Walkthrough&#xff09; 是一种多步骤、向导式的体…...

关于大数据导入流程引擎ccflow的方案

问题&#xff1a; 1. 现在的流程系统里有几百万条已经运行的流程其它的流程架构上 2. 需要把这样的数据导入到ccflow流程引擎里面去。 数据结构分析: 1. ccflow有流程引擎注册表&#xff0c;工作人表&#xff0c;业务数据表与日志表4大表. 2. ccflow的流程实例是一个int类型的…...

AI 生成二次元女孩,免费云端部署(仅需5分钟)

首先需要google的colab&#xff0c;免费版本GPU有额度。其次&#xff0c;打开github网站&#xff0c;选择一个进入colab,修改代码 !apt-get -y install -qq aria2 !pip install -q https://github.com/camenduru/stable-diffusion-webui-colab/releases/download/0.0.16/xforme…...

掌握MySQL分库分表(六)解决主键重复问题--Snowflake雪花算法

文章目录问题及需求常用ID解决方案数据库自增IDUUIDRedis发号器Snowflake雪花算法分布式 ID 生成算法Snowflake原理关于bit与byte雪花算法的位数Snowflake必须注意的地方全局唯⼀、不能重复保证各个系统时间一致Snowflake雪花算法实现雪花算法测试结果问题及需求 单库下⼀般使…...

Melis4.0[D1s]:1.启动流程(与adc按键初始化相关部分)跟踪笔记

文章目录1.启动流程1.1 最先进入的文件&#xff1a;head_s.S1.2 start_kernel()函数所在的文件&#xff1a;init.c1.3 input_init()函数所在文件&#xff1a;sys_input.c1.4 INPUT_LKeyDevInit()所在文件&#xff1a;keyboarddev.c1.5 esINPUT_RegLdev()所在文件&#xff1a;in…...

GNU make 中文手册 第三章:Makefile 总述

一、Makefile 总述 3.1 Makefile 的内容 在一个完整的 Makefile 中&#xff0c;包含了 5 个东西&#xff1a;显式规则、隐含规则、变量定义、指示符和注释。关于“规则”、“变量” 和 “Makefile 指示符” 将在后续的章节进行详细的讨论。本章讨论的是一些基本概念。 显式规…...

简历的专业技能怎么写?排版需要注意的事项

一、简历的专业技能怎么写? 首先,先问一下你自己会什么,然后看看你意向的公司需要什么。一般HR可能并不太懂技术,所以他在筛选简历的时候可能就盯着你专业技能的关键词来看。对于公司有要求而你不会的技能,你可以花几 天时间学习一下,然后在简历上可以写上自己了解这个技…...

【Git】为什么需要版本控制?版本控制工具有那些?

目录 一、为什么需要版本控制&#xff1f; 二、版本控制工具有那些&#xff1f; &#x1f49f; 创作不易&#xff0c;不妨点赞&#x1f49a;评论❤️收藏&#x1f499;一下 一、为什么需要版本控制&#xff1f; 首先我们要知道什么是版本控制&#xff1f;对版本控制进行文字…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...