现代操作系统 - 导论

这篇具有很好参考价值的文章主要介绍了现代操作系统 - 导论。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是操作系统

操作系统为了提供用户一个更好, 更简单, 更清晰的计算机模型, 并管理硬件设备

  • 给底层提供抽象. 进程是cpu的抽象, 虚拟地址是对物理内存的抽象, 文件系统是对磁盘的抽象
  • 作为资源管理者, 在相互竞争的程序之间有序地控制处理器, 储存器以及其它I/O设备

计算机硬件

处理器

  • 计算机的大脑, 每个处理器都有一套可执行的专门指令集
  • 有程序计算器, 堆栈指针
  • 流水线cpu
    • 读取指令 → 解码 → 执行
  • 超标量cpu
    • 多个读取指令的单元 → 多个解码单元 → 缓冲区 → 多个执行单元
  • 多线程和多核芯片
    • 多线程: 允许cpu保存两个不同的线程转态, 然后切换 (这里的切换就是一个线程进入sleep后, 调用scheduler, 运行其它线程)

存储器

包括寄存器, 高速缓存, 内存和磁盘

寄存器: 寄存器是最快的, 跟cpu相同的材料做成, 访问它们没有延时

高速缓存: cpu提供了两个高速缓存, L1和L2

内存: 断电了内容就没了, 属于易失性

磁盘: 即使在断电之后也不会丢失数据

I/O设备

IO包括了控制管理器和设备本身. 为了能够使用设备, 需要有设备驱动程序, 把驱动装到OS中, 方法有

  1. 将内核与设备驱动程序重新连接, 然后重启系统. 许多UNIX以这种方式工作
  2. 在一个操作系统文件中设置一个入口, 并通知文件需要一个驱动程序, 然后重启系统, 重启之后OS寻找所需设备的驱动并装载.Window的做法
  3. 系统启动时, 操作系统去寻找所需的设备, 立即安装好. 比如USB

实现输入和输出

方法1: 用户发出系统调用, 然后设备驱动在I/O并忙等待直接完成, 并返回

方法2: 设备驱动在操作完成时产生一个中断, 设备驱动程序在这个时刻返回

方法3: 直接储存器访问

总线

总线把各种设备连接在一起

PCI: 数据并行处理. 多个设备需要发送数据时, 需要决定哪个设备可以使用总线

PCIe: 串行总线结构, 可以并行发送消息

DDR3: CPU通过DDR3与内存对话

USB: 集中式总线, 每个设备1ms轮训一次I/O设备

操作系统的种类

大型机OS: 数据中心的OS, Linux主导

服务器OS: 服务器提供打印服务, 文件服务或者web服务. 奠定的系统有Solaris, FreeBSD, Linux和Windows Server

多个处理器系统: 将多个CPU连接成单个系统, 或者不目前现代很多个人计算机也是多核系统了. 主流的Windows和Linux都可以运行在多核处理器上

个人计算机系统: Windows, Linux和MacOS等

掌上计算机操作系统: 主导的是Android和iOS

嵌入式操作系统: 主导的是Linux, QNX和VxWorks

传感器节点操作系统: 这些节点是一种可以批此通信并且使用无线通信基站的微型计算机, TinyOS是一个著名的系统

实时操作系统: 时间作为关键参数, OS有eCos

操作系统的概念

进程

本质上是一个正在执行的程序, 在内存上有相关的地址空间. 在switch进程时候, 进程所有信息回保存下来等待scheduler下一次的调度

地址空间

用来保存正在执行的程序. 有一种虚拟内存的技术, 操作系统可以把部分地址空间装入主存, 不分留在磁盘上, 并且在需要的时候回来交换它们. 本质上操作系统创建了一个地址空间的抽象, 做为进程可以引用地址的集合. 该地址空间与机器的物理内存解耦, 可能大于也可能小于物理空间

文件

隐藏了磁盘和其它I/O设备的细节特性, 提供一个独立于设备的抽象文件模型

系统调用

用户如果需要一个系统的服务, 比如读取文件, 就需要执行一个系统调用, trap, 把控制转移到操作系统, 执行系统调用, 然后返回给用户. 只有系统调用才能进入内核

系统调用包括了

  1. 进程管理 i.e. fork()
  2. 文件管理 i.e. open(file…), close(fd), read(fd, buffer, nbytes)

操作系统的结构

单体系统

整个操作系统在内核态以单一程序运行. 比如Linux

层次式系统

输入输出是一层, 内存管理是一层, 进程管理是一层 (不是大众使用的OS)

微内核

减少出错, 把核心放在内核, 其它放在了用户态. 在实时, 工业中流行.

虚拟机

第一类虚拟机: 同时运行多个操作系统的最终用户服务

第二类虚拟机: 利用了宿主操作系统并通过文件系统创建进程, 存储文件等. 这类虚拟机其实是宿主操作系统的文件系统中的一个大文件

小结

操作系统有效管理系统的各个部分, 提供给用户比实际机器更便于运用的抽象, 比如进程, 地址空间, 文件. 它的核心是可处理的系统调用集, 包括读写文件, 进程创建和终止, 目录管理等文章来源地址https://www.toymoban.com/news/detail-484024.html

到了这里,关于现代操作系统 - 导论的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【操作系统】键盘敲入字母时,操作系统期间发生了什么?

    参考资料: 键盘敲入 A 字母时,操作系统期间发生了什么? 【操作系统】浅谈 Linux 中的中断机制 键盘可以说是我们最常使用的输入硬件设备了,但身为程序员的你,你知道「 键盘敲入字母时,操作系统期间发生了什么吗 」? 那要想知道这个发生的过程,我们得先了解了解

    2024年02月16日
    浏览(40)
  • 什么是操作系统,数据结构

    操作系统是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序。根据运行的环境,操作系统可以分为桌面操作系统,手机操作系统,服务器操作系统,嵌入式操作系统等。在计算机中,操作系统是其最基本也是

    2024年02月11日
    浏览(45)
  • 操作系统原理 —— 什么是中断?(四)

    我们先来看看早期的计算机的工作流程: 如上图,在早期的计算机假设有三个程序需要执行,执行顺序是:先执行程序1,等待程序1结束之后,再开始执行程序2,以此类推,所以它们是串行执行的,这种方式效率就比较低,为了能够使计算机能够同时执行多个程序,从而引入

    2023年04月24日
    浏览(91)
  • 学编程应该选择什么操作系统?

    今天来聊一个老生常谈的问题,学编程时到底选择什么操作系统?Mac、Windows,还是别的什么。。 作为一个每种操作系统都用过很多年的程序员,我会结合我自己的经历来给大家一些参考和建议。 接下来先分别聊聊每种操作系统的优点和不足吧。 先说下国内用户最多的操作系

    2023年04月15日
    浏览(41)
  • 什么是LAXCUS分布式操作系统?

    相较Linux、Windows,Laxcus是同时在多台计算机上运行的操作系统,处理大规模、高并发、高性能业务,其特点是资源共享和任务并行,并实现【数存算管】超融合一体化。环境中的资源:CPU、GPU、内存、硬盘、网络,被划分为多个部分由任务共享。当一个任务需要处理计算工作

    2024年02月12日
    浏览(44)
  • 为什么不用Go开发操作系统?

      操作系统 (OS) 是计算机系统的心脏和灵魂,它管理着计算机的硬件和软件资源,并为用户提供与计算机交互的方式。传统上,C 和 Assembly 等语言因其低开销和 “接近机器码” 的特性而被用于开发操作系统。 但诸如 Go 等高级语言的兴起引入了一些特性,这些特性或许可以使

    2024年02月06日
    浏览(61)
  • 去中心化的操作系统的做什么的?

    一个电脑的操作系统是控制自己电脑的CPU,内存,存储以及I/O设备和硬件加速芯片,所以基础的需要安装所有的硬件的驱动,然后抽象出来接口给应用程序用。 那一个去中心化的操作系统应该是建立在一个去中心化的硬件集群的基础上,能够控制集群里的CPU,内存,存储器以

    2024年02月11日
    浏览(45)
  • 什么是集成测试?它和系统测试的区别是什么? 操作方法来了

    集成测试是软件测试的一种方法,用于测试不同的软件模块之间的交互和协作是否正常。集成测试的主要目的是确保不同的软件模块能够无缝协作,形成一个完整的软件系统,并且能够满足系统的需求和规格。 在集成测试中,测试人员将已经通过单元测试的软件模块组合起来

    2024年02月04日
    浏览(43)
  • GUID分区与MBR分区有什么区别? 操作系统知识

    GUID分区与MBR分区有什么区别? 操作系统知识 1、MBR分区表类型的磁盘 主引导记录(Master Boot Record,缩写:MBR),又叫做主引导扇区,它仅仅包含一个64个字节的硬盘分区表。由于每个分区信息需要16个字节,所以对于采用MBR型分区结构的硬盘,最多只能识别4个主要分区(Pr

    2024年02月13日
    浏览(42)
  • 键盘敲入 A 字母时,操作系统期间发生了什么?

    关于8.1 键盘敲入 A 字母时,操作系统期间发生了什么?的总结,前面都介绍了,但是在最后总结操作系统发生了什么的时候,我觉得有点不详细,于是写一写自己的补充和理解,不一定正确。 键盘敲击之后, 键盘控制器根据敲击的键生成扫描码,写入寄存器 。 同时通过中

    2024年02月11日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包