操作系统(一)

news2024/9/24 8:26:06

操作系统(一)

image-20230118152532509

1、什么是操作系统

操作系统是指控制和管理整个计算机系统的硬件与软件资源,合理的组织、调度计算机的工作与资源分配,进而为用户和其他软件提供方便接口与环境的程序集合。操作系统是计算机系统中最基本的系统软件。

  • 控制和管理计算机系统的硬件与软件资源
  • 合理组织、调度计算机的工作与资源分配
  • 为用户和其他软件提供方便接口与环境程序集合

2、操作系统的特征

  • 并发性 并发是指两个或多个事件在同一时间间隔内发生。 操作系统的并发性是指计算机系统中同时存在多个运行的程序,因此它具有处理和调度多个程序同时执行的能力。
  • 共享性 资源共享即共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
    • 互斥共享方式
      • 一段时间内只允许一个进程访问的资源称为临界资源独占资源
    • 同时访问方式
  • 虚拟性 是指把一个物理上的实体变为若干逻辑上的对应物。
  • 异步性 是指进程的执行是走走停停的,它以不可预知的速度向前推进。

并发和共享是操作系统两个最基本的特征,两者之间互为存在的条件:

  • 资源共享是以程序的并发为条件的,若系统不允许程序并发执行,则自然不存在资源共享问题
  • 若系统不能对资源共享实施有效的管理,则必将影响到程序的并发执行,甚至根本无法并发执行

3、操作系统的目标和功能

  • 作为计算机系统资源的管理者

    • 处理机管理
    • 存储器管理
    • 文件管理
    • 设备管理
  • 作为用户与计算机硬件系统之间的接口

    • 命令接口
      • 联机命令接口 又叫交互式命令接口,简单来讲就是输入一条执行一条,例如windows的cmd窗口命令
      • 脱机命令接口 又叫批处理命令接口,是一组命令,命令中包含了任务清单等。
    • 程序接口
      • 由一组系统调用(也叫广义指令)组成
      • 当前最流行的图形接口(GUI)是通过调用程序接口实现的
  • 用作扩充机器

4、操作系统的运行机制

  • 时钟管理 例如分时操作系统中,时间片用完后需要置时钟等操作
  • 中断机制
  • 原语
    • 处于操作系统的最底层,是最接近硬件的部分
    • 这些程序的运行具有原子性,其操作只能一气呵成
    • 这些程序的运行时间都较短,而且调用频繁
    • 定义原语的直接方法是关中断,此时系统就不会接收中断,待所有动作完成后再开中断
  • 系统控制的数据结构及处理
    • 进程管理
    • 存储器管理
    • 设备管理

5、操作系统的发展过程

  • 手工操作阶段(无操作系统)
    • 用户独占全机,虽然不会出现资源被其他用户占用的等待的情况,但资源利用率低
    • CPU等待手工操作,利用不充分
  • 批处理系统(无交互能力
    • 单道批处理系统
    • 多道批处理系统
  • 分时操作系统
  • 实时操作系统

6、中断和异常

  • 中断也称外中断,是指来自CPU执行指令以外的事件的发生
    • 时钟中断,表示分给当前进程的时间片已用完
    • I/O操作完成后发出中断,表示其I/O操作已完成,希望处理机能够向设备发出下一个I/O请求
  • 异常也称内中断,例外或陷入(trap),指源自CPU指令内部的事件
    • 程序的非法操作
    • 地址越界
    • 除0操作

image-20230118192924010

7、中断和异常的处理过程

image-20230118193306970

切换为内核态是硬件自动完成的

8、系统调用

所谓系统调用,是指用户在程序中调用操作系统的一些子功能,系统调用可视为特殊的公共子程序。

系统调用的很多操作,对整个系统的影响非常大,因此必定需要使用部分特权指令才可以完成,所以==系统调用的处理需要由操作系统内核程序负责完成,要运行在核心态==。用户程序可以执行**陷入指令(又称访管指令或trap指令)**来发起系统调用,请求操作系统提供服务。

image-20230118194208073

  • 由用户态转变为内核态,用到的访管指令是在用户态使用的,所以它不是特权指令
  • 由用户态进入内核态,不仅状态需要切换,而且所用的堆栈也需要切换为系统堆栈,但这个系统堆栈也是属于该进程的

9、大内核与微内核

  • 大内核系统将操作系统的主要功能模块都作为一个紧密联系的整体运行在核心态,从而为应用提供高性能的系统服务。因为各管理模块之间共享信息,能有效利用相互之间的有效特性,所以具有无可比拟的性能优势。
  • 微内核系统将内核中最基本的功能(如进程管理等)保留在内核,而将那些不需要在核心态执行的功能移到用户态执行,从而降低了内核的设计复杂性。

微内核模式:

  • 使内核与服务、服务与服务直接的接口更加清晰,易维护,各部分可以独立的优化和演进,保证了操作系统的可靠性
  • 最大的问题是性能问题,因为需要频繁的在内核态与用户态之间切换,增大了系统开销

10、考研真题

image-20230118195617301

image-20230118195643864

image-20230118200342854

image-20230118200438878

image-20230118200551496

image-20230118200914834

image-20230118201142490

image-20230118201428330

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

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

相关文章

Android 深入系统完全讲解(24)

https://blog.csdn.net/weixin_41101173/article/details/80374455 理解了绘制内容,解决了这部分,下来我们来说说关于音视频的其他部分。 所有的文件,都有一个叫做格式的东西存在,MP3,WAV,而处理这个格式的…

zookeeper集群安装

zookeeper集群安装 1. 安装环境介绍 下载地址: http://archive.apache.org/dist/zookeeper/ 安装版本: 3.7.0 安装包: apache-zookeeper-3.7.0-bin.tar.gz 安装目录: /opt 机器IP: 10.28.19.107 10.28.19.108 10…

字符矩阵内单词搜索

单词搜索 问题链接:word search!!! 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通…

【阅读笔记】c++ Primer Plus——第九章

内存模型和命名空间 单独编译 c程序分成三部分 第一部分:包含结构声明和使用这些结构的函数原型(头文件)第二部分:包含与结构有关的函数代码(源代码文件)第三部分:包含调用与结构相关的函数代码(源代码文件)头文件包含了用户定义类型的定义…

FPGA 20个例程篇:19.OV7725摄像头实时采集送HDMI显示(二)

第七章 实战项目提升,完善简历 19.OV7725摄像头实时采集送HDMI显示(二) 在正式介绍OV7725 CMOS Sensor视频采集前,首先需要去详细说明OV7725的寄存器配置接口,这里有OmniVision公司推出的官方手册 “OV7725_software_…

8个必须掌握的Blender拓扑技巧

组合 3D 模型的过程对后续过程影响很大 - 稍后编辑的难易程度、应用光照和着色器时的外观效果如何、动画时变形的难易程度等等。 一个好的模型对于 CG 管道的所有其他部分的良好运行至关重要。 另一方面,凌乱的拓扑结构会使流程的其余部分成为一场灾难。 你能做些…

IB地理科补习有用吗?

IB地理科的补习如何帮助学生改变学科的表现?这可以从几方面来做分析。 1. 训练 第一是训练。我们老师会按来补习的同学的个人需求、时间和个性,提供很多不同程度的训练,帮助他们建立一个正确的能力系统(skill set)去应…

二、预训练模型预测(Datawhale组队学习)

文章目录安装配置环境ImageNet预训练图像分类模型预测单张图像-英文载入预训练图像分类模型图像预处理执行图像分类预测预测结果分析ImageNet预训练图像分类模型预测单张图像-中文预训练图像分类模型图像预处理执行图像分类预测预测结果分析ImageNet预训练图像分类模型预测视频…

汽车CAN总线硬件电路原理

根据ISO 11898的定义,物理层被细分成3 个子层,它们分别是物理信令(位编码定时和同步)、物理媒体连接(驱动器和接收器特性)和媒体相关接口(总线连接器)。物理信令子层和数据链路层之间…

打包iOS App并上架到TestFlight测试

开发者账号 首先需要注册一个开发者账号,不然什么都免谈。在手机Apple Developer上注册给钱就行了,个人开发者一年688元。 打包App App开发好后,就可以通过XCode打包。打包前选好版本号,不要跟以前提交的一样,重复的…

亚马逊云科技携手普华永道,助力泉峰集团破解数据治理与使用难题

大数据时代的到来,掀起了企业数字化转型的热潮,对于制造行业的企业来说,除了顺应发展潮流快速开启数字转型之外,以创新思维不断拓展业务广度,对于自身发展也有着格外重要的意义。数字化水平能否与创新发展的脚步保持一…

Acwing---1237.螺旋折线

螺旋折线1.题目2.基本思想3.代码实现1.题目 如下图所示的螺旋折线经过平面上所有整点恰好一次。 对于整点 (X,Y)(X,Y)(X,Y),我们定义它到原点的距离 dis(X,Y)dis(X,Y)dis(X,Y) 是从原点到 (X,Y)(X,Y)(X,Y) 的螺旋折线段的长度。 例如 dis(0,1)3,dis(−2,−1)9di…

账户系统从0到1搭建

一、什么是账户/账户的作用?账户是记录账户所属人(账户主体)资产增减变化的载体,简单来说账户系统就是用来记账的,这也是账户系统最核心的功能,在这个基础之上也会根据业务需要衍生出来的其他附属功能。为了…

Kotlin 元编程之 KSP 实战:通过自定义注解配置Compose导航路由

在上一篇 Kotlin 元编程之 KSP 全面突破 中,通过几个设计模式相关的例子来生成代码,其逻辑都比较简单,没有涉及到Android相关的API 业务类,而本文的例子会涉及到使用 Android API 相关的代码。 在之前Jetpack Compose中的导航路由…

【MySQL进阶】MySQL事务隔离与锁机制底层原理万字总结(建议收藏!!)

【MySQL进阶】MySQL事务隔离与锁机制底层原理万字总结(建议收藏!!) 参考资料: 美团技术团队:Innodb中事务隔离级别和锁的关系 数据库的锁,到底锁的是什么? 阿里面试:说说…

来给博客除草了:Learned Indexes for a Google-scale Disk-based Database

1. 引言 这是一篇业界发表在NeurlIPS 2020的Wip论文《Google规模的基于磁盘的数据库的学习索引》。自从学习索引祖师爷Tim KraskaMIT在SIGMOD 2018发表了第一篇learned index的工作之后,有关学习索引的paper呈现 increasing trend。目前,较多的工作focu…

Java基础漏洞(四)

(1)递归调用的内存 我们定义一个类A,在类A中定义方法test来验证递归。在程序中,当条件符合的时候会不断的递归,只有遇到终止条件时才不再递归,然后便会执行递归语句之下的语句。 如以下程序:当…

高效节能 | 智慧灯杆综合管理解决方案

智慧灯杆的应用越来越广泛,园区、景区、道路照明,三站一场等户外场所大规模铺设路灯,通过智慧物联平台远程控制,可以实现高效节能和智能化运维管理。以解决传统运维管理中,不同路线路灯设备控制不统一,设备…

Yjs解析

本文引用自 摸鱼wiki 1. YATA算法解析 YATA算法是Yjs库的核心冲突解决算法,这里主要讲解下这个算法成立的三个规则: 规则1:禁止发生冲突的插入操作之间的origin连线(红线)发生交叉。 如上图所示,图中展示…

IDEA创建SpringBoot的Web项目,并使用外部Tomcat

IDEA创建SpringBoot的Web项目,并使用外部Tomcat 目录IDEA创建SpringBoot的Web项目,并使用外部Tomcat一、创建工程二、使用外部Tomcat一、创建工程 1.首先新建一个springboot的war工程,并且将外部的Tomcat整合进我们的idea中,我们…