【操作系统概念】 第1章:导论

news2024/11/18 2:53:22

文章目录

  • 关于本书内容
  • 0.前言
  • 1.1操作系统的功能
    • 1.1.1 用户视角
    • 1.1.2 系统视角
    • 1.1.3 操作系统的定义
  • 1.2 计算机系统的组成
    • 1.2.1 计算机系统的运行
    • 1.2.2 存储结构
    • 1.2.3 I/O结构
  • 1.3 计算机系统体系结构
  • 1.4 操作系统的结构
  • 1.5 操作系统的执行
    • 1.5.1 双重模式与多重模式的执行
    • 1.5.2 定时器

关于本书内容

  1. 概论:1~2章解释了操作系统是什么,他们能做什么,以及他们是如何设计与构造的
  2. 进程管理:3~7章描述了进程概念和并发,这是现代操作系统的核心。进程是系统内的工作单元。
  3. 内存管理:8~9章是关于进程执行期间的内存管理的。
  4. 存储管理:10~13章描述了现代计算机系统如何处理文件系统、大容量存储和I/O。
  5. 保护与安全:14~15章讨论了计算机系统保护与安全的必须机制。
  6. 案例研究:16~17章详细研究了操作系统实际案例

0.前言

**操作系统(operating system)**是管理计算机硬件的程序。它还为应用程序提供基础,并且充当计算机用户和计算机硬件的中介。
操作系统的令人惊奇的特点,完成这些任务的方式多种多样:
大型机的操作系统主要用于优化硬件使用率
个人计算机(Person Computer,PC)的操作系统支持复杂游戏、商业应用和这两者之间的其他应用。
移动计算机的操作系统为用户提供了一个环境,以便计算机之间进行交互及执行程序。
因此,操作系统设计有的关注于便捷或高效、有的则兼顾两者

1.1操作系统的功能

  1. 计算机系统四个组成部分:硬件、操作系统、系统程序和用户程序、用户
  2. 硬件为系统提供了基本的计算资源。应用程序规定了用户按何种方式使用这些资源,操作系统不过提供了一个方便其它程序做有用工作的环境。在这里插入图片描述

1.1.1 用户视角

操作系统设计的主要目的是用户使用方便,次要的是性能,不在乎的是资源利用

1.1.2 系统视角

操作系统看作资源分配器。

  • 操作系统管理这些资源
  • 面对冲突的资源请求,操作系统必须决定如何为各个程序和用户分配资源,以便计算机系统能有效而公平的运行。

操作系统是控制程序,管理用户程序的执行防止计算机资源的错误使用或使用不当。

1.1.3 操作系统的定义

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

操作系统的目标:执行用户程序,更容易地解决用户问题。使计算机系统使用方便。使计算机系统使用方便。

1.2 计算机系统的组成

1.2.1 计算机系统的运行

在这里插入图片描述
现代通用计算机系统由一个或多个CPU和若干设备控制器通过共同的总线相连而成。

打开电源或重启——运行初始化程序(引导程序)——定位操作系统并将其装入内存——执行第一个进程
引导程序:通常位于ROM或者EEPROM,称为计算机硬件中的固件。用来初始化系统的所有部分(CPU寄存器,设备控制器和内存)。
中断:硬件可随时通过系统总线向CPU发出信号,出发中断。软件通过系统调用(或者其他特别操作)触发中断。(当CPU被中断时,它停止正在做的事,并转到固定位置再继续执行)
发生中断——调用一个通用子程序检查中断信息——使用中断处理指针表(中断向量)——间接调用中断处理子程序

现在的操作系统都是以中断为驱动的。

1.2.2 存储结构

内存是处理器可以直接访问的唯一的大容量存储区域(也称为随机访问内存RAM)
内存通常为动态随机访问内存(Dynamic Random Access Memory,DRAM),它采用半导体技术来实现。
CPU只能从内存中加载指令,因此执行程序必须位于内存。

辅存:一般是磁盘。(因为内存太小,而且是易失性存储设备。)
各种存储系统的差别主要是速度、价格、大小和易失性。
易失性:断电时,会丢失内容
在这里插入图片描述
价格逐渐降低,大小逐渐增大,速度逐渐减慢,主存以上易失

1.2.3 I/O结构

DMA(直接内存访问)
用于高速I/O设备,能够以接近内存速度传送信息。
设备控制器无需CPU干预直接将数据块从缓冲存储器直接传输到主存。
每个块只产生一个中断,而不是每个字节的一个中断。

1.3 计算机系统体系结构

单处理器系统:仅用一个处理器来完成系统操作和目标仿真
多处理器系统也称(并行系统或多核系统),多处理器系统有多个紧密通信的CPU,它们共享计算机总线,有时还有时钟、内存和外设等。
集群系统:与多处理器系统一样,集群系统将多个CPU集中起来完成计算任务。然而,集群系统与多处理器系统不同,它是由两个或多个独立的系统耦合起来的。集群计算机共享存储并通过局域网络连接或更快的内部连接。
多处理器系统(并行系统、紧耦合系统)

优点: 增加吞吐量、规模经济、增加可靠性。
分类:

  1. 非对称多处理:每个处理器都有各自特定的任务。一个主处理器控制系统,其他处理器或者向主处理器要任务或做预先定义的任务。
  2. 对称多处理:每个处理器都要完成操作系统中的所有任务。所有处理器对等,处理器之间没有主-从关系。

1.4 操作系统的结构

操作系统最重要的一点是要有多道程序处理能力。多道程序设计通过组织作业(编码或数据)使CPU总有一个作业在执行,从而提高了CPU的利用率。

操作系统的三种基本类型:

  1. Batch systems(批处理系统)
  2. Time-sharingsystems(分时系统)
  3. Real timesystems(实时系统)

批处理系统

  1. 工作方式:用户将作业交给系统操作员,系统操作员将许多用户的作业组成一批作业(jobs)之后输入到计算机中,在系统中形成一个自动转接的连续的作业流,系统自动、依次执行每个作业。最后由操作员将作业结果交给用户。操作系统:自动将控制从一个任务转到下一个任务。
  2. 分类:单道批处理系统、多道批处理系统
  3. 批处理操纵系统优点:作业流程自动化、效率高、吞吐量高。
  4. 批处理操纵系统缺点:无交互手段、调试程序困难。

分时系统- 交互式计算

  1. 分时系统(或多任务)是多道程序设计的延伸。
  2. 共享需要一种交互计算机系统,它能提供用户与系统之间的直接通信。响应时间短(通常小于一秒钟)。
  3. 允许多用户共享计算机。由于每个动作或命令都较短,每个用户只需少量CPU时间,用户之间切换时间短,所以用户会感觉整个系统为自己所用。

实时系统:实时操作系统是保证在一定时间限制内完成特定功能的操作系统。
分类:
硬实时系统:硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的。
软实时系统:软实时则只要按照任务的优先级,尽可能快地完成操作即可。

1.5 操作系统的执行

事件总是由中断或者陷阱引起的

1.5.1 双重模式与多重模式的执行

为了确保操作系统的正确运行,必须区分操作系统代码和用户代码的执行。大多数计算机系统采用硬件支持,以便区分各种执行模式,至少需要两种独立的操作模式:用户模式、内核模式(监视模式、系统模式、特权模式)

将能引起损害的机器指令作为特权指令。用户模式下想要执行特权指令,硬件不会执行,会认为是非法指令,并以陷阱的形式通知操作系统。

系统引导时,硬件开始处于内核模式。接着,装入操作系统,开始进入用户模式。出现陷阱或中断,会进入内核模式。
在这里插入图片描述

1.5.2 定时器

防止用户进入死循环或不调用系统服务。定时器在给定时间后中断计算机。操作系统将控制权交给用户之前,设置定时器。修改定时器的操作就是特权指令

剩余小节都会在后续章节中详细介绍

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DolphinScheduler——介绍及架构设计

目录 一、DolphinScheduler介绍 1.1 概述 1.2 特性 1.2.1 简单易用 1.2.2 丰富的使用场景 1.2.3 High Reliability 1.2.4 High Scalability 1.3 名词解释 1.3.1 名词解释 1.3.2 模块介绍 二、DolphinScheduler架构原理 2.1 系统架构图 2.2 架构说明 2.2.1 Maste…

【AI视野·今日Sound 声学论文速览 第五十一期】Mon, 4 Mar 2024

AI视野今日CS.Sound 声学论文速览 Mon, 4 Mar 2024 Totally 6 papers 👉上期速览✈更多精彩请移步主页 Daily Sound Papers VoxGenesis: Unsupervised Discovery of Latent Speaker Manifold for Speech Synthesis Authors Weiwei Lin, Chenhang He, Man Wai Mak, …

66-ES6:var,let,const,函数的声明方式,函数参数,剩余函数,延展操作符,严格模式

1.JavaScript语言的执行流程 编译阶段:构建执行函数;执行阶段:代码依次执行 2.代码块:{ } 3.变量声明方式var 有声明提升,允许重复声明,声明函数级作用域 访问:声明后访问都是正常的&…

最新LangChain+GLM4开发AI应用程序系列(三):RAG检索增强生成篇

最新LangChainGLM4开发AI应用程序系列(三):RAG检索增强生成篇 一、前言二、RAG介绍1、文档加载器2、文本分割器3、嵌入模型4、向量数据库 三、RAG开发案例1、创建智谱GLM4大模型对象2、加载文档3、文本分割4、向量化存储5、向量库检索6、生成…

初始网络 --- 网络基础

目录 0、 前言 1、 计算机网络发展背景 1.1. 局域网(LAN) && 广域网(WAN) 2、 认识并理解协议 3、 初始网络协议 3.1. 协议分层 4、 TCP/IP 五层(或四层)模型 4.1. 简单了解TCP/IP层状体系 4.2. TCP/IP协议层状结构和计算机层状结构的关系 5、 OSI七层模型 …

程序员如何选择职业赛道:探索未知,寻找激情

作为程序员,我们时常面临职业选择的难题。在这个充满变革的行业中,如何选择适合自己的职业赛道成为了我们关注的焦点。本文将探讨程序员如何选择职业赛道,帮助你找到适合自己的发展方向。 一、认识自己的兴趣和激情 首先,我们需要…

为什么要用云手机进行国外社媒监控?

随着全球化的不断发展,社交媒体已成为企业推动全球品牌知名度和业务流量的关键渠道。在这个数字时代,云手机作为一种强大的工具,为国外社交媒体监控提供了全新的可能性。在这篇文章中,我们将探讨使用云手机进行国外社媒监控的重要…

RHCSA练习2

一、实验题目 1、文件查找 (1)在当前目录及子目录中,查找小写字母开头的txt文件 [rootroot ~]# cd /etc [rootroot etc]# find . -type f -name [a-z]*.txt (2)在/etc及其子目录中,查找host开头的文件 …

Java解决杨辉三角

Java解决杨辉三角 01 题目 给定一个非负整数 *numRows,*生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例 2: 输入: numRo…

人工智能-飞桨

文章目录 概要安装零基础教程基础知识小结 概要 集核心框架、基础模型库、端到端开发套件、丰富的工具组件于一体的深度学习平台 官方入口 安装 python安装 python官方下载 PaddlePaddle安装 python -m pip install paddlepaddle2.6.0 -i https://mirror.baidu.com/pypi/s…

【C++】类和对象终篇

个人主页 : zxctscl 文章封面来自:艺术家–贤海林 如有转载请先通知 文章目录 1. 前言2. 友元2.1 友元函数2.2 友元类 3. 内部类4. 匿名对象5. 拷贝对象时的一些编译器优化6. 再次理解类和对象 1. 前言 在上一篇博客中提到了类和对象中的构造函数与stat…

数据库系统概论(超详解!!!) 第二节 数据模型

1.数据模型分为两类(两个不同的层次) (1) 概念模型 ,也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。 (2) 逻辑模型 ,逻辑模型主要包括…

Mybatis实现分页查询数据(代码实操讲解)

在MyBatis中实现分页查询的常见方式有两种:使用MyBatis内置的分页插件如PageHelper,或者手动编写分页的SQL语句。下面我将为你提供两种方式的示例代码。 使用PageHelper分页插件 首先,确保你的项目中已经添加了PageHelper的依赖。在Maven项…

2023 2024年全国职业院校技能大赛中职组网络建设与运维赛项服务器Linux部分教程解析

欢迎合作 需要资料请私 Rocky 9 包含各种常考服务(包括新题型KVM等)

RabbitMQ是如何保证高可用的?

RabbitMQ可以通过多种方式来实现高可用性,以确保在硬件故障或其他不可预测的情况下,消息队列系统仍然能够正常 运行。RabbitMQ有三种模式:单机模式,普通集群模式,镜像集群模式。 其中单机模式一般用于demo搭建&#x…

unocss 究竟比 tailwindcss 快多少?

unocss 究竟比 tailwindcss 快多少? 前言 我们知道 unocss 很快,也许是目前最快的原子化 CSS 引擎 (没有之一)。 unocss 解释它为什么这么快的原因,是因为它不用去解析 CSS 抽象语法树,直接在 content 里面通过正则表达式从内容…

基本设计模式

单例模式 ES5 function Duck1(name:string){this.namenamethis.instancenull }Duck1.prototype.getNamefunction(){console.log(this.name) }Duck1.getInstancefunction(name:string){if(!this.instance){this.instance new Duck1(name)} } const aDuck1.getInstance(a) const…

【王道操作系统】ch2进程与线程-01进程与线程(长文预警)

文章目录 【王道操作系统】ch2进程与线程-01进程与线程01 进程的概念、组成和特征(1)进程的概念(2)进程(进程实体)的组成①PCB(给操作系统用的)②程序段(给进程自己用的&…

【YOLO v5 v7 v8 v9小目标改进】DWRSeg:优化的多尺度处理,传统的深度学习模型可能在不同尺度的特征提取上存在冗余

DWRSeg:优化的多尺度处理,传统的深度学习模型可能在不同尺度的特征提取上存在冗余 提出背景问题:实时语义分割需要快速且准确地处理图像数据,提取出有意义的特征来识别不同的对象。 小目标涨点YOLO v5 魔改YOLO v7 魔改YOLO v8 魔…

开发知识点-Python-爬虫

爬虫 scrapybeautifulsoupfind_all find祖先/父节点兄弟节点nextpreviousCSS选择器属性值 attrsselect 后 class 正则使用字符串来描述、匹配一系列符合某个规则的字符串组成元字符使用grep匹配正则组与捕获断言与标记条件匹配正则表达式的标志 特定中文 匹配 scrapy scrapy内…