写点什么

1. 操作系统—概述

作者:小呆鸟
  • 2022 年 8 月 29 日
    北京
  • 本文字数:981 字

    阅读完需:约 3 分钟

🐋1.介绍

  • 基本概述及原理

  • 操作系统介绍

  • 中断及系统调用

  • 内存管理

  • 进程及线程

  • 调度

  • 同步

  • 文件系统

  • I/O 子系统

🐋2. 什么是操作系统

用户角度:操作系统是一个控制软件

  • 管理应用程序

  • 为应用程序提供服务

  • 杀死应用程序

程序角度:操作系统是资源管理器

  • 管理外设、分配资源

  • 抽象

    将 CPU 抽象成进程

    将磁盘抽象成文件

    将内存抽象成地址空间


1660982113347.png


🐻2.1 操作系统层次

  • 位于硬件之上,应用程序之下。

🐻2.2 操作系统的界面和内核

  • Linux Windows Android 的界面属于外壳(Shell) ,而不是内核(kernel)。操作系统研究的是内核,处于 Shell 之下。

🐻2.3 操作系统内部组件

  • CPU 调度器

  • 物理内存管理

  • 虚拟内存管理

  • 文件系统管理

  • 中断处理与设备驱动


1660982139216.png


cpu: 主要是 cpu 的调度和进程线程的管理

内存: 物理内存和虚拟内存,物理内存就是实际的内存,虚拟内存为应用提供一个相对独立的空间(在有限的物理内存之上,虚拟出一个更大的,更安全的环境)

文件: disk 是以磁盘块作为一个读写的基本单位,访问比较底层不方便,于是在上面抽象成文件。

中断处理: 它是直接与底层硬件交流

🐻2.4 操作系统特征

  • 并发

    一段时间内运行多个进程(并行 : 一个时间点运行多个进程,一般要求有多个 CPU)

    需要 OS 管理和调度

  • 共享

    “同时”共享

    互斥共享

  • 虚拟

    利用多道程序设计技术,让每一个用户觉得的有一个计算机专门为他服务

  • 异步

    程序是走走停停,而不是一直运行,但是不管怎么走,只要运行环境相同,os要保证运行的结果也相同

🐋3. 操作系统历史

  1. 早起计算机使用纸带传输程序和数据,os 只起到加载作用

  2. 批处理阶段(一个程序一个程序的运行,每次都需要从外面导入程序)


1660982157740.png


  1. CPU 执行多个程序。此时不需要将要跑的程序,从磁盘放到内存中,大大减少 IO 的开销(直接全部都放到内存中)


1660982181256.png


  1. 当一个程序运行阶段,可能要进行 IO 操作,此时时间非常长,这时就可以运行另一个程序,当程序 1 完成 IO 操作后,就进行中断,停止程序 25,继续进行程序 1


1660982199773.png


  1. 提高交互性,上述的操作不需要人参与,交互性差,此时出现分时系统(通过分时使得不同的程序都有时间去执行工作。),目前计算机是 1/1000 秒产生一次分时。(而分时主要靠时钟定期产生中断)


1660982220909.png


  1. 多核 CPU

  2. 分布式操作系统


1660982245308.png


🐋4. 操作系统结构

MS-DOS

  • 不分模块的单体内核(单体意味着通过函数调用实现(紧耦合)

微内核

  • 尽可能把内核功能移动到用户空间(在操作系统内核中放基本功能(松耦合),其他的文件系统,内存管理等都放在外面以进程形式存在,进程与进程之间通过内核消息传递进制进行通信)

用户头像

小呆鸟

关注

还未添加个人签名 2022.01.27 加入

还未添加个人简介

评论

发布
暂无评论
1. 操作系统—概述_操作系统_小呆鸟_InfoQ写作社区