【操作系统】01.操作系统概论

操作系统的发展历史

未配置操作系统

手工操作阶段

image.png

用户独占全机,人机速度矛盾导致系统资源利用率低

脱机输入输出方式

image.png

为了缓解主机cpu和IO设备之间速度不匹配的矛盾,出现了脱机IO技术

  • 在外围机的控制下,通过输入设备,将数据输入到磁盘;当cpu需要时,直接从磁盘调入数据到内存
  • 反之,处理机输出数据的时候,先把数据输出到磁盘;然后在另一个外围机的控制下,通过输出设备,将数据输出

批处理阶段

单道批处理

image.png
image.png

多批道处理

image.png

分时操作系统

image.png

实时操作系统

image.png

其他几种操作系统

image.png

  • windows是单用户多任务的
  • linux是多用户多任务的

总结

image.png

操作系统的目标

  • 方便性:方便用户的使用
  • 有效性:一是提高硬件资源,例如处理机和IO设备的利用率;二是提高系统的吞吐量,提高程序的运行速度
  • 可扩充性:操作系统的结构不断发展:无结构->模块化->层次化->内核,提高了系统的可扩充性
  • 开放性:遵循一定的规则

操作系统的功能

  • 处理机管理
    • 进程控制:创建进程,分配资源,状态转换,撤销进程
    • 进程同步:使多个进程有条不紊的进行;常用方式:进程互斥和进程同步(常用的是信号量机制)
    • 进程通信
    • 调度
      • 作业调度:选取作业调入内存,创建进程
      • 进程调度:从就绪队列选出进程,使其运行
  • 存储器管理
    • 内存分配
    • 内存保护:用户程序互不干扰,用户程序不能访问操作系统的程序和数据
    • 地址映射:逻辑地址转换成物理地址
    • 内存扩充:虚拟存储技术,从逻辑上扩充内存
  • 设备管理
    • 缓冲管理:在IO设备和cpu之间设置缓冲区,已解决速度不匹配的矛盾
    • 设备分配
    • 设备处理
  • 文件管理
    • 文件存储空间的管理
    • 目录管理
    • 文件的读写管理和保护
  • 向用户提供接口
    • 向用户提供接口
      • 命令:联机(用户交互)和脱机(通过文件读取)
      • 图形界面
    • 向应用程序提供接口
      • 程序接口时用户程序取得操作系统服务的唯一途径,它由一组系统调用组成(例如c语言中的库函数)
      • image.png

操作系统的定义

操作系统( Operating System,OS)
是指控制和管理整个计算机系统的硬件和软件资源
并合理地组织调度计算机的工作和资源的分配
以提供给用户和其他软件方便的接口和环境
它是计算机系统中最基本的软件系统

操作系统的特性

  • 并发性和共享性互为存在条件
  • 并发性和共享性是虚拟性和异步性的前提

并发

并发:指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。
常考易混概念

  • 并行:指两个或多个事件在同一时刻同时发生。

操作系统的并发性指计算机系统中“同时”运行着多个程序,这些程序宏观上看是同时运行着的,而微观 上看是交替运行的。

操作系统就是伴随着“多道程序技术”而出现的。因此,操作系统和程序并发是一起诞生的。
注意(重要考点): 单核CPU同一时刻只能执行一个程序,各个程序只能并发地执行 多核CPU同一时刻可以同时执行多个程序,多个程序可以并行地执行 比如Intel 的第八代 i3 处理器就是 4 核CPU,意味着可以并行地执行4个程序

共享

image.png

虚拟

image.png
image.png
image.png

异步

异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的, 而是走走停停,以不可预知的速度向前推进,这就是进程的异步性

虽然进程的推行速度是不可预知的,但是的因为有完善的进程同步机制,因此人们还是可以获得自己想要的结果

操作系统的结构

操作系统的结构发展:无结构->模块化->层次化->内核

内核

image.png

大内核

目的:

  • 对这些软件进行保护
  • 提高OS的效率

image.png

大多数OS内核的功能

  • 支撑功能
    • 中断处理
    • 时钟管理
    • 原语操作
  • 管理功能
    • 进程管理
    • 存储器管理
    • 设备管理

image.png

微内核

微内核不是一个完整的OS,只有OS最核心的一些部分

基于客户/服务器模式
image.png

应用“机制与策略分离”,机制(某功能的具体执行机构)放在微内核中,策略(优化)放在外面

采用面向对象技术

尽管微内核具备更好的可靠性、安全性和灵活性,但是由于其性能上的劣势,目前市场份额仍然被大内核所占据。在实际应用中,大多数操作系统(如Windows和Linux)都采用了大内核架构,而微内核通常只出现在嵌入式系统和高可靠性的场景中。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

耗时1周整理了网络安全学习路线,非常详细!

前言 这一期就出一个怎么学习网络安全的学习路线和方法,觉得有用的话三连收藏下 首先咱们聊聊,学习网络安全方向通常会有哪些问题 1、打基础时间太长 学基础花费很长时间,光语言都有几门,有些人会倒在学习linux系统及命令的路上…

数论专题(3)逆元

目录 初步认识 逆元 定义 应用 费马小定理 好久没有更新我们的数论专题板块了,今天,我们就来探究一下新知——逆元。 初步认识 在数据非常大的情景下,我们通常会对数据先进行取模运算,来计算在一定的范围内进行处理。而运算…

Java 进阶 -- 集合(一)

本节描述Java集合框架。在这里,您将了解什么是集合,以及它们如何使您的工作更轻松,程序更好。您将了解组成Java Collections Framework的核心元素——接口、实现、聚合操作和算法。 介绍告诉您集合是什么,以及它们如何使您的工作…

day4,day5 -java集合框架

List、Set、Map等常用集合类的特点和用法。 常用集合类(List、Set、Map 等)是 Java 中提供的数据结构,用于存储和操作一组数据。以下是它们的特点和用法: List(列表): 特点:有序集合&#xff0…

《深入理解计算机系统(CSAPP)》第8章 异常控制流 - 学习笔记

写在前面的话:此系列文章为笔者学习CSAPP时的个人笔记,分享出来与大家学习交流,目录大体与《深入理解计算机系统》书本一致。因是初次预习时写的笔记,在复习回看时发现部分内容存在一些小问题,因时间紧张来不及再次整理…

Android 12系统源码_WindowInsets (一)WindowInsets相关类和功能介绍

一、什么是WindowInsets? WindowInsets源码解释为Window Content的一系列插值集合,可以理解为可以将其理解为不同的窗口装饰区域类型,比如一个Activity相对于手机屏幕需要空出的地方以腾给StatusBar、Ime、NavigationBar等系统窗口,具体表现为该区域需要的上下左右的宽高。…

如何强制删除文件夹?这样操作就能搞定!

案例:我想删掉一些没有用的文件夹,释放一些电脑内存,但是我发现,有些文件夹并不能直接被删除。怎样才能删除这些文件夹?有没有小伙伴有解决的办法。 在使用电脑过程中,我们可能会遇到一些无法正常删除文件夹…

操作系统-进程和线程-进程和线程

目录 一、进程的概念、组成、特征 二、进程的状态与转换、组织 2.1进程状态 2.2进程转换关系 2.3进程的组织 链接方式 索引方式 三、进程控制 3.1进程的创建 3.2进程的终止 3.3进程的阻塞和唤醒 3.4进程的切换 ​编辑 四、进程通信 4.1共享存储 4.2消息传递 直接通信…

[中间件漏洞]nginx漏洞复现

目录 文件解析漏洞 原理分析 复现过程 防御方法 目录遍历漏洞 原理分析 复现过程 防御方法 空字节代码执行漏洞 复现过程 防御方法 整数溢出漏洞(CVE-2017-7529) 复现过程 防御方法 文件名逻辑漏洞(CVE-2013-4547) 复现过程 防…

南京市某高校计算机科学与技术专业性能测试与Loadrunner—考试试卷分析

XXX科技学院试卷 20 /20 学年 第 学期 课程所属部门: 课程名称: 课程编号: 考试方式:(A、B、开、闭)卷 使用班级: …

Android 12.0仿ios的hotseat效果修改hotseat样式

1.概述 最近在12.0产品项目需求的需要,系统原生Launcher的布局样式很一般,所以需要重新设计ui对布局样式做调整,产品在看到 ios的hotseat效果觉得特别美观,所以要仿ios一样不需要横屏铺满的效果 居中显示就行了,所以就要看hotseat的具体布局显示了 效果图如下: 2.仿io…

Python数据攻略-Pandas常用数据操作

大家好,我是Mr数据杨。今天我将带领各位走进Python的奇妙世界,就像步入三国演义那样热闹且复杂的战争年代。这里,数据就像那些智勇双全的武将和策士,我们要学习如何访问和修改它们,就如同诸葛亮那样掌控战局。 先来理…

springboot+vue医院网上预约挂号系统4n9w0

在线挂号平台已经成为它运营过程中至关重要的因素。医院挂号管理系统,是在计算机与通信设备十分完备的基础上,为医院管理人员、医生、用户提供的系统化的管理平台。 本系统需要实现基础的医院介绍、线上挂号、在线咨询、医生请假等几个主要功能。 管理员…

佛朗斯冲击港交所IPO:叉车租赁的未来是数字化?

佛朗斯“三战”IPO。 图源:佛朗斯 近日,广州佛朗斯股份有限公司(下文简称为“佛朗斯”)正式向港交所递交招股书,拟于港交所主板挂牌上市。 值得注意的是,这并不是佛朗斯首次冲击IPO。2019年6月和2020年7月…

Pytorch CIFAR10图像分类 ShuffleNet篇

Pytorch CIFAR10图像分类 ShuffleNet篇 文章目录 Pytorch CIFAR10图像分类 ShuffleNet篇4. 定义网络(ShuffleNet)Channel Shuffle网络单元 Shuffle UnitShuffleNet 网络结构summary查看网络测试和定义网络 5. 定义损失函数和优化器6. 训练及可视化&#…

【鲁棒、状态估计】用于电力系统动态状态估计的鲁棒迭代扩展卡尔曼滤波器研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

矿井水除氟——高矿化度矿井水氟化物深度降解的技术方案

高矿化度矿井水是指含有高浓度溶解性矿物质的废水,通常指的是含有高浓度钠、钙、镁、铁、铝、钾等离子的废水。这些离子通常来自于废水所处的环境、工业或生产过程中使用的原材料和化学品。高矿化度的废水通常具有高盐度、高电导率、高硬度等特征,对环境…

Measurement Studio 2019 f3 Crack

Measurement Studio是Microsoft Visual Studio的扩展软件,提供了用于创建测试和测量应用程序的.NET工具。 了解Measurement Studio的功能 Measurement Studio是​唯一​一​款.NET​工具​套​件,专为在Microsoft Visual Studio中构建工程应用&#xff0…

【redis基础】事务|管道|发布订阅

大家好~这里是redis系列文章之《【redis基础】事务|管道|发布订阅》上一篇文章:redis持久化【RDBAOF】持久化双雄_努力努力再努力mlx的博客-CSDN博客 目录 事务 概念 作用 数据库事务vs redis事务 常用指令 情况1:正常执行 情况2:放弃…

18- 弹幕系统设计

1、弹幕系统设计 场景分析:客户端针对某一视频创建了弹幕,发送后端进行处理,后端需要对所有正在观看该视频的用户推送该弹幕。 1.1、实现方式 使用短连接进行通信或使用长连接进行通信。 1.1.1、短连接实现方案 所有观看视频的客户端不断…