计算机操作系统

本文详细介绍了操作系统的概念和功能,包括并发与共享、虚拟与异步的相互关系,操作系统的分类如批处理、分时、实时系统,以及中断、异常、系统调用等核心机制。此外,深入探讨了进程的状态转换、控制、通信,线程的特性与实现方式,以及调度算法如FCFS、SJF、HRRN等。文章还涵盖了死锁的概念和处理策略,以及内存管理的基础知识和管理方式,如覆盖与交换、连续分配等。
摘要由CSDN通过智能技术生成

1.1.1-操作系统的概念和功能

概念

总结

提供的功能

脱机和联机命令接口

它们的区别在于,是一句一句搞定(联机),还是堆起来一起搞定(脱机)

1.1.2 操作系统的四个

总结

并发和共享,虚拟和异步,它们都是相辅相成的

并发和并行(考点)

并发:就是有着微观和宏观的概念

并行:就是宏观的概念

并发

操作系统和程序并发是一起诞生的

共享和并发的关系

它们是相辅相成的

虚拟和异步

有并发性才会有虚拟性

有并发性才会有异步性

1.1.3 操作系统的发展与分类

总结

单道批处理系统
多道批处理系统
分时操作系统

实时操作系统

1.1.4 运行和体制结构

1.1.5中断和异常

总结

中断机制的诞生
  1. 提高效率

  1. 为了很好的管理,有些权限不受管理者的控制而设置

中断的概念和作用

中断是实现用户态->核心态的唯一途径:是为了使用特权指令(PSW)

中断的分类(考点)

考点:只要考外中断和内中断的区别(cup是外部还是内部)

1.1.6系统的调用

总结

作用:是为了合理安排资源分配,让操作系统按照请求去协调管理(有条不紊的运行)

在c语言或者其他的语言的时候,不是向想象中那么简单的,后面还有很多的系统和操作的调用,才能实现代码的运行

陷入指令是核心态下唯一不可以使用的指令

核心态只能执行系统调用,不能请求系统调用

2.2.1进程的定义

总结

PCB是进程存在的唯一标志!

进程实体和进程:一个人不动是静态的(进程实体),他的血液是流动的(进程)

进程的组成(考点)

PCB的类型(只要是关于进程的都是PCB

进程的特征

2.1.2 进程的状态与转换

总结(考点)

以上都是高频考点

三种基本的状态

就是准备->跑步->休息

另外两种状态

终点和起点

进程状态得转换(重点)

它们之间是不可以随便得调换状态得!!!

2.1.3 进程控制

总结

主要就是叙述了进程状态是如何里面的运行

4如何实现进程控制

进程状态里面的是如何运行,更加细致的介绍

如何控制进程

说白了就是不让其受外界影响,直接完成

进程控制相关的原语

主要是叙述了原语的实现过程和功能

2.1.4 进程通信

总结

共享存储

它们之间是互斥的,以保证它们不会冲突

管道通信

它们之间是互斥的,保证不会冲突

一步一步来,写满,再读取完(不可"偷工减料")

信息传递

直接:排队处理

间接:邮箱处理

2.1.5 线程

总结(选择题)

叙述了线程和进程的区别和特点

线程

线程是一个基础的CPU执行单元,也是程序执行流的最小单位

进程包含许多的线程,来实现并发(更高效的运行)

线程带来的变化
线程的属性
线程的实现方式

系统有时候是看不到线程的,只能看到进程(不可能什么都顾及到)

用户级线程
内核级线程
二者结合

多对一
一对一
多对多

2.2.1 计算机调度的概念,层次

总结(考点)红的框起来的

调度就是按照某种规则来决定处理的任务顺序(它的出现是资源不够用,需要"排队")

高级调度

建立pcb来处理,只需要去调入即可

中级调度

会出现挂起状态

挂起状态的七种模型(考点)

等于就是游戏不玩了,有时候我们需要挂机

三层调度的联系和对比

高级:会产生pcb

中级:会产生挂起状态

2.2.2进程调度的时机,切换和过程

总结

进程调度的时机

内核程序临界区访问:因为在内核会影响其他操作(都说是在内核了,肯定是在里面进行的)

普通临界区访问:不会影响到内核的操作,所以可以进行调度与切换(都说是在普通区)

2.2.3调度算法的评价指标

总结

CPU利用率
系统吞吐量

用最短的时间完成更多的作业

周转时间

操作和用户都关心的时间

2.2.4 FCFS,SJF,HRRN

总结

"最短的"这里双引号,指的就是不一定,我们看情况,每个教材是不一样的,下图就是解释

先来先服务(FCFS)
特点
短作业优先(SJF)(分为抢占式和非抢占式)

除第一个,后面到达的按照运行时间最短的排序(非抢占式)

短作业优先(抢占式)

直接就按照运行时间的长短决定先后

特点
高响应比优先(HRRN)

折中的排序(运行时间和到达时间折中)再排序

这里p3是有错误的,正确的是p3((3+1)/1=4)

特点

2.2.5调度算法:时间片轮转,优先级,多极反馈队列调度算法

总结

时间片轮转

时间片大小就是每个p在这个时间段里可以使用的次数,一旦用完时间大小,就轮到下一个p

时间片大小不能太大,如果大的话,就会使用先来想到的服务,太小的话,切片是有代价的,所以要设置比较合适的时间大小片

特点

优先级调度算法(分为抢占式和非抢占式)

非抢占式:按照优先数/优先级大小,来决定处理顺序(一旦执行,就运行完)

抢占式:按照优先数/优先级大小,来决定处理顺序(大的一旦来,小的马上退位)

特点
考选择题

非抢占式
抢占式

多级反馈队列调度算法

按照队列的优先级来运行,时间片由小到大

特点

2.3.1进程同步和互斥

总结

进程互斥(选择题)

进入区:上锁

临界区:房间(代码)

退出区:解锁

2.3.2进程互斥的软件实现方式

总结

最好的算法是Peterson,这些算法的代码,我都看不懂

2.3.3 进程互斥的硬件实现方法

总结

TestAndSet和Swap指令的功能几乎是一样的

中断屏蔽方法
TestAndSet 指令
Swap指令

2.3.4 信号量机制

总结(考点)

P(S):申请,V(S):释放

信号量机制

整型信号量

会多出3个操作:初始化,p操作,v操作

记录型信号量

CPU:wait是减减的代码(资源给用了,才要--),如果value<0,那么该资源已经没有了,要去等待(S)

signal:是++,如果value<=0,因为是负数,说明你在等待区,让你区就绪区(L)

2.3.5信号量机制实现进程互斥

总结

通过使用P和V操作来实现有些代码的先后顺序

说明

例子

无论从P1还是P2开始都已经决定可代码1和2是在代码4之前执行的

  1. 代码1和2运行

  1. V(s)S++,运行代码3,S=1

  1. P(S)S--,运行代码4,S=0

反过来也是如此

原理一样

2.3.6生产者_消费者问题(一对一)

总结

一对一的关系:只生产一种,也只消费一种

生产者:生产时要消耗一个空间(p),然后放一对互斥PV(产品放入),保证不被打扰,生成完,多了一个产品(V)

消费者:要消费一个产品(p),然后放一对互斥PV(产品拿出),保证不别打扰,消费完,释放一个空间(V)

例题

2.3.7多生产者-多消费者问题(多对多)

总结

多生产者,多消费者指的是生产不一样,消费不一样,多对多的关系

生产和消费都是有顺序的,有他们对应的使用空间,掌握里面的规律

实现

也可以不用"缓冲区",是因为我们的缓冲区设置为:1,生产者不会产生覆盖的的行为

如果缓冲区设置为2的话,就会出现生产者放2次,说明会产生覆盖,那就出问题了

2.3.8吸烟者问题(一对多)

总结

一对多的关系:一个生产者对多个消费者

生产者:写V(offer)提供就是+,提供一个产品,在写一个P(finish)完成就是-,消耗完

消费者:写P(offer)消耗完是-,空出一个空间,再写一个V(finshi)完成就是+,给一个空间

看下面就可以理解了

2.3.9读者(读写差别)

总结

读和写不可以同时进行

可以同时多个读者读

写着只能是一个一个写,或者会发生覆盖

各种设置达到公平的写读

2.3.10哲学家进餐问题(俩双筷子)

总结

需要2个"筷子"才可以运行,但是又不能有死锁现象发生,需要一些限制

2.3.11管程

总结

2.4.1-2.4.2死锁

2.4.3避免死锁

2.2.4死锁的处理,检测盒解除

总结

检测

3.1.1内存的基础知识

总结

内存

是用于存放数据的硬件,程序执行之前需要先存放到内存中才能被CPU处理(方便更快的给CPU处理)

内存就是门牌号,存储单元就是小房间

逻辑vs物理地址

写程序到运行程序

3.1.2内存管理概念

总结

内存保护

3.1.3覆盖于交换

总结

3.1.4连续分配管理方式

总结

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值