当前位置: 首页 > 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;对版本控制进行文字…...

用C语言解决‘换硬币’问题?我来教你如何调试和验证你的循环逻辑

用C语言解决‘换硬币’问题&#xff1f;我来教你如何调试和验证你的循环逻辑 当你第一次面对"换硬币"这类组合问题时&#xff0c;那种既兴奋又困惑的感觉我至今记忆犹新。作为C语言初学者&#xff0c;理解多重循环的运作机制就像在迷宫中寻找出口——每次你以为找到了…...

【CP-05】RTE运行时环境 - SWC的操作系统接口

CP-05_RTE运行时环境【CP-05】RTE运行时环境 - SWC的“操作系统接口”前言在AUTOSAR架构中&#xff0c;RTE&#xff08;Runtime Environment&#xff0c;运行时环境&#xff09;是一个常被提及却难以理解的概念。它像是应用层软件组件&#xff08;SW-C&#xff09;与底层基础软…...

机器学习与SHAP在教育公平研究中的应用:精准定位学业困境根源

1. 项目概述&#xff1a;当机器学习遇见教育公平&#xff0c;我们如何精准定位学业困境的根源&#xff1f;在拉丁美洲的教育研究领域&#xff0c;一个长期困扰政策制定者和研究者的核心问题是&#xff1a;究竟是什么因素&#xff0c;在复杂的社会经济背景下&#xff0c;系统性地…...

Windows终极PDF处理工具:3步免费安装Poppler完整指南

Windows终极PDF处理工具&#xff1a;3步免费安装Poppler完整指南 【免费下载链接】poppler-windows Download Poppler binaries packaged for Windows with dependencies 项目地址: https://gitcode.com/gh_mirrors/po/poppler-windows 你是否曾经为在Windows上处理PDF文…...

基于USB ACA模式实现安卓手机边玩边充的游戏手柄设计

1. 项目缘起&#xff1a;当手机性能过剩&#xff0c;却败给了触摸屏几年前&#xff0c;我清理手机游戏时&#xff0c;发现一个挺无奈的现象&#xff1a;性能足以媲美掌机的智能手机里&#xff0c;只剩下一些慢节奏的平台解谜或者数独。那些曾经让我在掌机上废寝忘食的赛车、动作…...

航空发动机叶片三维扫描-诺斯顿

航空发动机叶片作为发动机的核心动力部件&#xff0c;其精度与性能直接决定发动机的推力、燃油效率及运行安全性&#xff0c;三维扫描技术作为航空制造领域的核心数字化手段&#xff0c;已广泛应用于叶片全生命周期的多个关键环节。其应用涵盖叶片研发设计阶段的逆向工程&#…...

DIY四路自动音频源切换器:从信号检测到继电器隔离的完整设计

1. 项目概述与核心需求解析作为一个喜欢在工作室里捣鼓各种音频设备的玩家&#xff0c;我经常遇到一个挺烦人的问题&#xff1a;我的功放只有一组输入&#xff0c;但我想接的设备却有好几个——台式电脑、平板、蓝牙接收模块&#xff0c;还有一台树莓派。每次想切换音源&#x…...

量子纠错码VarQEC:原理、实现与硬件优化

1. 量子纠错码基础与实验背景量子纠错码&#xff08;Quantum Error Correction Codes, QEC&#xff09;是量子计算中保护量子信息免受噪声影响的核心技术。与经典纠错码不同&#xff0c;量子纠错需要应对量子态特有的退相干和纠缠特性。传统QEC如[[5,1,3]]完美码虽然理论完备&a…...

基于TESS光变曲线与深度学习的O型星物理参数预测研究

1. 项目概述与核心挑战在恒星天体物理研究中&#xff0c;大质量O型星扮演着至关重要的角色。它们不仅是宇宙中光度最高的天体之一&#xff0c;其强烈的辐射、恒星风和最终的超新星爆发&#xff0c;更是驱动星系化学演化和能量注入星际介质的关键引擎。然而&#xff0c;深入理解…...

2026数据治理平台选型:五款产品如何赋能数据中台建设?

一、引言&#xff1a;数据中台的成败&#xff0c;关键在治理在数字化浪潮的席卷下&#xff0c;“数据中台”已成为当代企业信息化架构中的核心战略组件。然而&#xff0c;一个悖论正困扰着大量企业&#xff1a;数据中台的基础设施搭建日趋完善&#xff0c;但真正将数据转化为业…...