首页 > 其他分享 >第一章. 操作系统简介

第一章. 操作系统简介

时间:2022-09-07 10:13:45浏览次数:61  
标签:调用 操作系统 简介 接口 第一章 并发 共享 CPU

1 操作系统的概念、功能和目标

常见的操作系统: Windows, Android, iOS, MacOS, Linux

1.1 操作系统的概念

操作系统的概念:

1.管理协调硬件和软件等计算机资源
2.为上层应用程序、用户提供服务
3.操作系统是系统软件,不是硬件

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

1.2 操作系统的功能和目标

作为系统资源管理者,需要提供处理机管理、存储器管理、文件管理、设备管理。目标是安全高效。

作为用户和计算机硬件之间的接口,提供了命令接口,程序接口(用户通过程序间接使用)和 GUI(图形用户接口)。

其中,命令接口分为联机命令接口和脱机命令接口。联机命令接口(交互式命令接口)比如说windows下的cmd,脱机命令接口(批处理命令接口),比如windows下的bat文件。

程序接口,如windows中的dll文件,调用过程即为系统调用(程序接口),通过用户间接使用。

GUI(Graphical User Interface)

作为做接近的硬件的层次,实现对硬件机器的扩展。在裸机上安装操作系统,使之变为更强、使用更方便的机器。通常把覆盖了软件的机器称为扩充机器,又称虚拟机。(封装的思想)

2 操作系统的四个特征

并发、共享、虚拟、异步。

2.1 并发

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

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

操作系统的并发性指计算机系统中同时存在着多个运行着的程序。一个单核 CPU 同一时刻只能执行一个程序,OS负责协调多个程序交替执行。

操作系统是伴随着多道程序技术而出现的,因此操作系统适合程序并发一起诞生的。

当今 PC 一般是多核 CPU,这意味着同一时刻可以有多个程序并行执行,但是 OS 系统的并发性仍旧是必不可少的。

2.2 共享

共享指的是资源共享,指的是资源可以供内存中多个并发执行的进程共同使用。

其中资源共享,又分为两种,分别是互斥共享方式和同时共享方式。互斥共享有时候微观上也是在同时访问资源的,比如说扬声器播放歌+游戏背景音。

互斥共享比如说是摄像头、打印机的使用;同时共享比如说是文件A、B分别发给小明和小亮,宏观上同时读取发送文件,微观上是交替访问硬件资源。
其实这里的互斥共享主要在于无法实现宏观上同时,由于某些原因,不够快(摄像头),或者是逻辑上根本达不到共享(打印机)

2.3 并发和共享关系

并发性指的是计算机系统中同时存在多个运行着的程序
共享性是指系统中的资源可以供多个并发性执行的程序共同使用。

2.4 虚拟

虚拟指的是把物理上的实体变成若干个逻辑上的对应物。物理实体是实际存在的,逻辑上是指用户感受到的。
如内存 -> 虚拟内存。
处理器 -> 虚拟处理器(微观上处理机交替为进程服务)
虚拟技术:时分复用和空分复用

2.5 异步

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

如果失去了并发性,系统串行处理各个进程,每个进程便会一贯到底,不存在异步性。

2.6 小结

3 操作系统的发展与分类

3.1 手工操作阶段

纸带 + 打孔机 + 纸带机
1.等待慢速输入输出,CPU处理速度快,人机速度矛盾,导致计算机资源利用率低。
2.用户独占全机

3.2 批处理阶段--单道批处理系统

脱机输入、输出技术(用磁带完成),并监督程序负责控制作业的输入输出。

1.一定程度上缓解了人机矛盾,提高资源利用率利用率
2.但是内存中仅仅能有一道程序运行,CPU有大量时间是在空闲等待 I/O 完成

3.3 批处理阶段--多道批处理系统

  1. 程序并发执行,共享计算机资源,利用率大幅提高
  2. 但是用户响应时间长,没有人机交互能力。

3.4 分时操作系统

以时间片为单位,轮流为各个用户/作业服务,解决了人机交互问题
但不能优先响应一些紧急任务

3.5 实时操作系统

可以优先响应一些紧急任务,某些紧急任务不需要时间片排队。
主要特点是 实时性和可靠性

3.6 其他操作系统

3.7 小结

4 操作系统的运行机制和体系结构

4.1 运行机制

指令是处理器CPU能够识别、执行的最基本命令。分为特权指令和非特权指令。

CPU如何判断当前是否可以执行特权指令?

4.2 操作系统内核

内核是计算机配置上的底层软件,是操作系统最基本最核心的部分。
实现操作系统内核功能的程序就是内核程序。

4.3 操作系统的体系结构

操作系统的体系结构:大内核和微内核

4.4 小结

5 中断和异常

操作系统引入中断机制,实现多道程序并发执行

系统调用是内中断,可以是请求输出,CPU切换为核心态,对中断进行处理

5.1 中断的概念和作用

5.2 中断的分类

主要分为内中断和外中断,判别标准是否和当前正在执行的指令有关。

5.3 外中断的处理过程

5.4 小结

6 系统调用

6.1 什么是系统调用,有何作用

系统调用的相关处理需要在核心态下进行。

6.2 系统调用和库函数的区别

应用程序是可以通过使用汇编语言的程序来系统调用。

6.3 系统调用背后的过程

下图中的参数 x 执行了系统调用号,int 是 interrupt 缩写

6.4 小结

标签:调用,操作系统,简介,接口,第一章,并发,共享,CPU
From: https://www.cnblogs.com/lucky-light/p/16664294.html

相关文章

  • SDL开发库简介
    什么是SDLSimpleDirectMediaLayer是一个跨平台开发库,旨在通过OpenGL和Direct3D提供对音频、键盘、鼠标、游戏杆和图形硬件的低级访问。它被视频播放软件、模拟器和......
  • Lambda简介
     1、什么是Lambda?Lambda就是一个匿名函数。 2、为什么要使用Lambda?使用Lambda表达式可以对一个接口进行非常简洁的实现(如下图,分别是三种方式实现接口的对比)。 3......
  • 操作系统与新能源汽车分析
    操作系统与新能源汽车分析参考文献链接https://mp.weixin.qq.com/s/bdv3aqXrE2tisFD87oUS-whttps://mp.weixin.qq.com/s/RPPMhjGiY-3V4LN6QZRI1Qhttps://mp.weixin.qq.......
  • 第一章、react高级
    目录一、邂逅react开发和初体验1、简介2、helloreact案例一、邂逅react开发和初体验1、简介*react是什么?-用于构建用户界面的javascript库*常见的javascript......
  • 反冲简介
    反冲简介畏缩是Facebook的React实验状态管理系统。它提供了几种开箱即用的功能,这些功能仅靠React⚛️很难实现。Recoil可让您创建一个数据流图,该图流自原子通......
  • 第一章
    一、软件工程1.1什么是软件工程:1.软件工程以系统化,规范化,可定量化的过程开发软件,研究如何把正确的管理技术,和最新的技术结合起来说白了就是:把新技术如何正确管理起来发......
  • 《跟着星仔学C语言》第一章 导言
    01_11001.1入门1.2变量与算术表达式1.1入门1.2变量与算术表达式  摄氏度与华氏度的转换代码:http://q1024.com/p/item.php?u=krc视频:https://www.bilibili.com/v......
  • centOS6.8安装VMware tools,请确保您已登录客户机操作系统。在客户机中装载CD驱动器启
    centOS6.8安装VMwaretools,请确保您已登录客户机操作系统。在客户机中装载CD驱动器启动终端,使用tar解压缩安装程序,然后执行vmware-insall.pl安装VMwareTo1、使用root......
  • K8s简介之什么是K8s
    1.概述欢迎来到K8s入门课程。Kubernetes,也被称为K8s或Kube,是谷歌推出的业界最受欢迎的容器编排器。本K8s教程由一系列关于K8s的文章组成。在第一部分,我们将讨论什么是K8s......
  • 从零开始配置vim(21)——lsp简介与treesitter 配置
    截止到上一篇文章,我们配置了neovim的很多内容了。具备了一些编辑器的常用功能了,而且可以胜任日常的文档编辑工作了。但是想作为一个可靠的代码编辑器还缺少重要的一环,即代......