操作系统- 1基本概念

1 操作系统概述

1.1 基本概念

1.1.1 概念

系统软件。

封装思想: 操作系统把一些丑陋的硬件功能封装成简单易用的服务,便用户能更方便地使用计算机,用户无需关心底层硬件的原理,只需要对操作系统发出命令即可。

1.1.2 特征

1)并发

宏观上同时发生,微观上交替发生。操作系统和程序并发是一起发生的。

注意区分:并发&并行

  • 并发:交替发生,宏观上似乎是同时发生。单核cpu可以并发地执行。并发性是操作系统的基本特性。

  • 并行:完全同时发生。多核cpu可以并行地执行——同时执行多个程序。

2)共享

系统中的资源可供多个并发执行的进程共同使用。

image-20210627091815593

注意:同时共享是宏观上的,在微观上看,实则是分时共享。

实例:1)互斥共享:微信视频&QQ视频,同一时刻内摄像头只能分配给其中一个进程。

​ 2)同时共享:使用QQ发送资源A,使用微信发送资源B,宏观上两个进程都在访问硬盘资源,微观上两个进程交替访问资源。

并发性 & 共享性的关系:存在互为条件。

并发性共享性
系统中存在着多个同时运行的程序系统中的资源可供多个并发执行的进程共同使用
image-20210627092538810

3)虚拟

把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。、

程序需要先放入内存,再给其分配cpu才能执行。

image-20210627092736379

4)异步

多道程序同时执行的情况下,程序不是一走到底,而是走走停停。只有程序拥有了并发性,才有可能导致异步性。

1.1.3 目标与功能

1.1.3.1 目标

image-20210627101547591

1.1.3.2 功能

1)作为系统资源的管理者

  • 处理机管理
  • 存储器管理
  • 文件管理
  • 设备管理

2)用户和计算机硬件系统之间的接口:

  • 利用GUI(graphical user interface),用户可以使用形象的图形界面进行操作
  • 命令接口:
    • 联机命令:说一句做一句,交互式命令接口
    • 脱机命令:说一堆做一堆,批处理命令接口
  • 程序接口:在程序中进行系统调用(广义指令)

3)扩充机器:最接近硬件的软件

  • 裸机:无任何软件支持的机器
  • 扩充机器/虚拟机:覆盖了软件的机器

1.2 发展与分类

1.2.1 手工操作

用户独占全机、人机速度盾导致资源利用率极低

image-20210627103159116

1.2.2 批处理阶段

1.2.2.1 单批道处理

引入脱机输入/输出技术(用外围机+磁带完成),并由监督程序(操作系统的雏形)负责控制作业的输入、输出

image-20210627103233267

主要缺点:内存中仅能有一道程序运行,只有该程序运行结束之后オ能调入下一道程序。CPU有大量的时间是在空闲等待I/O完成。资源利用率依然很低

image-20210627103352324
1.2.2.2 多批道处理

每次往内存读入多道程序,操作系统正式诞生,用于支持多批道程序的并发运行。

image-20210627103545819
优点缺点
多道程序并发执行,共享计算机资源。用户响应时间长,没有人机交互功能(eg:无法调试程序/无法在程序运行过程中输入一些参数)
资源利用率大幅提升,CPU和其他资源更能保持“忙碌”状态,系统吞吐量增大。

1.2.3 分时操作系统

image-20210627103811715
定义优点缺点
计算机以时间片为单位轮流为各个用户/作业服务,各个用户可通过终端与计算机进行交互解决人机交互问题。用户对计算机的操作独立,感受不到别人的存在不能优先处理一些紧急任务。操作系统对各个用户/作业都是完全公平的,循环地为每个用户/ 作业服务一个时间片,不区分任务的紧急性

1.2.4 实时操作系统

能够优先响应一些紧急任务,某些紧急任务不需时间片排队。

计算机系统接收到外部信号后及时进行处理,并且要在严格的时限内处理完事件。实时操作系统的主要特点是及时性和可靠性

  • 硬件实时系统:严格规定时间内完成处理(如:导弹控制系统、自动驾驶系统)

  • 软件实时系统:偶尔能违反规定(如:12306火车订票)

1.2.5 网络操作系统 & 分布式计算机操作系统

1.2.5.1 网络操作系统

把网络中各个计算机有机地结合起来,实现数据传送等功能,实现网络中各种资源的共享(如文件共享)和各台计算机之间的通信

1.2.5.2 分布式计算机操作系统

主要特点是分布性和并行性。系统中的各台计算机地位相同,任何工作都可以分布在这些计算机上,由它们并行、协同完成这个任务。

1.3 运行环境

1.3.1 运行机制

预备知识:一个程序如何在计算机上跑起来:

在CPU设计和生产的时候就划分了特权指令和非特权指令,因此CPU 执行一条指令前就能别所出其类。

image-20210627105144295
  • 普通程序员写应用程序
    • 应用程序只能使用“非特权指令”
  • 微软苹果谷歌专门有程序员写操作系统的“内核程序”。多道内核程序组成“操作系统内核”,简称“内核”(kernel),这是最接近硬件的部分。一个操作系统只需要内核就够了。操作系统所有的功能未必都在内核中,如GUI。
    • 特权指令例如内存清零指令,只允许“管理者”一一即操作系统内核来使用
1.3.1.1 两种指令
  • 非特权指令:应用程序只能使用“非特权指令”
  • 特权指令:特权指令例如内存清零指令,只允许“管理者”一一即操作系统内核来使用
1.3.1.2 两种状态
  • 内核态:运行的是内核程序,此时可以执行特权指令

  • 用户态:运行的是应用程序,此时只能执行非特权指令

  • 内核态=核心态=管态;用户态=目态

  • CPU中PSW的某个二进制位的0状态表示用户态,1表示用户态。

    用户态 & 内核态的切换

    image-20210627110524996
1.3.1.3 两种程序

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

image-20210627111459514 image-20210627111514116 image-20210627111930457

1.3.2 中断和异常的概念

1.3.2.1 中断的作用

CPU上会运行两种程序,一种是操作系统内核程序,一种是应用程序。在合适的情况下,操作系统内核会把CPU的使用权主动让给应用程序,“中断”是让操作系统内核夺回CPU使用权的唯一途径,如果没有“中断”机制,那么一旦应用程序上CPU运行,CPU就会一直运行这个应用程序,如此一来,就无法实现并发。

image-20210627114014672
1.3.2.2 类型
image-20210627114652521
内中断外中断
异常、例外中断
与当前执行的指令有关与当前执行的指令无关
中断信号来自于CPU内部中断信号来自于CPU外部
陷阱、陷入故障终止
陷入指令引发,故意为之错误条件引起,可能被修复致命错误引起。无法修复
被修复之后CPU使用权归还给程序不归还使用权
如整除0,非法使用特权指令等
1.3.2.3 中断机制的基本原理

不同的中断信号,需要用不同的中断处理程序来处理。

当CPU检测到中断信号后,会根据中断信号的类型去查询“中断向量表”,以此来找到相应的中断处理程序在内存中的存放位置。

1.3.3 系统调用

1.3.3.1 是什么,有啥用
image-20210627115615791

操作系统作为用户和计算机硬件之间的接口,需要向上提供一些简单易用的服务。主要包括命令接口和程序接口。其中,程序接口由一组系统调用组成。

“系统调用”是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以通过系统调用来请求获得操作系统内核的服务

1.3.3.2 系统调用和库函数的区别
image-20210627120330017
1.3.3.3 为何调用是必须的?

eg:两个进程并发运行,打印机设备交替地收到WPS和Word两个进程发来的打印请求,结果两篇论文的内容混杂在一起了

解决方法:由操作系统内核对共享资源进行统一的管理,并向上提供“系统调用”,用户进程想要使用打印机这种共享资源,只能通过系统调用向操作系统内核发出请求。内核会对各个请求进行协调处理

1.3.3.4 什么功能需要系统调用实现?
1.3.3.5 系统调用的过程
image-20210627120517060

注意:

  • 陷入指令是在用户态执行的,执行陷入指令之后立即引发一个内中断,使CPU进入核心态
  • 发出系统调用请求是在用户态,而对系统调用的相应处理在核心态下进行

1.4 体系结构

1.4.1 大内核 & 微内核

image-20210627112533864
内核大内核微内核
企业的管理层,负责一些重要的工作。企业初创时体量不大,管理层的人会负责大部分的事情。随着企业体量越来越大,管理层只负责最核心的一些工作
只有管理层才能执行特权指令,普通员工只能执行非特权指令。优点是效率高优点是组织结构清晰,方便维护
用户态、核心态之间的切换相当于普通员工和管理层之间的工作交接缺点是组织结构混乱,难以维护。缺点是效率低。

1.5 总结

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吴哈哈就是我

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值