首页 > 其他分享 >操作系统笔记

操作系统笔记

时间:2022-12-06 14:35:45浏览次数:34  
标签:操作系统 队列 调度 笔记 内存 进程 执行

第一章

一:什么是操作系统

覆盖在硬件和操作软件中间的一个系统,和硬件部分相互作用,主要起一个承上启下的任务

二:资源的管理者

现代计算机支持多任务,多个应用程序共同使用计算机硬件资源,操作系统负责调配。

三:操作系统主要功能

1:处理机管理,任意时刻处理机只能执行一个程序流。

2:内存管理:多个程序使用内存的时候,如何分配,让他们互不干扰,用完之后,如何进行回收。逻辑地址到物理地址的转换。

内存分配:每道程序分配内存空间。静态:固定大小、动态:根据请求分配。

内存保护:操作系统内核空间不会被随意访问,保证系统安全和稳定,确定每个程序运行都在自己内存空间中运行。

地址映射:cup访问内存时,将逻辑地址(目标程序的地址)转化成物理地址(内存中单元地址)。

内存扩充:借助虚拟存储技术,从逻辑上扩充内存容量。

3:设备管理:完成接受用户的I/O(输入和输出)

4:文件管理:大量需要保存的信息以文件存储,他们一般存储在外存(硬盘)当中,操作系统通过文件管理程序完成对外存的操作。

四:操作系统的发展

时间上:

无操作系统(1945-1955),没有内存,没有操作系统,电子管

单道批处理系统(55-65),磁性存储设备,内外存增加,晶体管

特点:1:自动性、2:顺序性 3:单道性:内存之中只有一道作业。

多道程序系统, 早期:不具有交互功能,提交作业只能等待输出结果。中期:分时操作系统,多个用户可以同时通过不同的终端使用主机。实现了用户与主机的及时交互。

特点:1:多道性,多个作业,拍成队列、2:无序性:先进入不一定先处理。3:调度性:作业调度:从外存之中装入内存。进程调度:从内存中选择一个或几个在cpu上运行。

分时操作系统:允许多个用户通过终端同时使用计算机

多路、独立、及时、交互、

微机操作系统:第一个是Intel cp/m 用于intel 8080

实时操作系统:在规定的时间内计算出正确的结果,如果结果正确,超过了时间,最后的结果也错误。多用于医院等对时效要求比较高的地方

必须做到及时响应。多路性、独立性、交互性、可靠性

五:操作系统的特征

1:并发:指的是同一个时间间隔内发生,由于时间很短,造成并行的错觉

2:共享:资源可以供内存中多个并发程序共同使用。

3:虚拟:用某种技术将一个物理实体虚拟成逻辑上的对应物。

4:异步性:内存中每个程序,何时执行,暂停,都是位置的

六;操作系统的体系结构

软件体系结构:

七:指令

程序是指令的集合,程序的执行就是按照某种控制流执行指令的过程。

1:指令周期:分为取指周期(处理器在存储器中取一条指令)和执行周期(取到的指令放置在处理器的指令寄存器中)两个步骤。


第二章 一:程序的执行

顺序执行

顺序、封闭、可在现

并发执行

多个程序在同一时间间隔之内,一个程序执行结束之前就可以运行其他程序。(任意时刻一个CPU上只有个一程序在执行)

间断、失去封闭性、不可再现性、

二:进程的定义

进程是并发执行的程序,在某个数据集合上的运行过程。

进程代表了程序的执行过程,是一个动态的实体。

进程的特征:

并发性:多个进程实体在一段时间间隔内同时运行。

动态性:进程是进程实体的执行过程

独立性:没有引入线程的操作系统中,进程是独立运行和资源调度的基本单位

异步性:时断时续

结构特征:正文、用户数据、进程控制块

操作系统笔记_信号量

三:进程控制块

1:定义

进程存在的表示是进程控制块,是操作系统最重要的数据结构

每个进程有唯一的进程控制块

2:进程控制块的信息            ---是一个复杂类型的变量

(1)进程标志符信息,用于唯一标识一个进程

(2)处理机状态信息

1)通用寄存器--用于暂存信息

2)指令计数器--PC

3)程序状态字PSW

4)用户栈指针

(3)进程的调度信息

(4)进程控制信息

3:进程的状态

新创建的进程为就绪态(1)就绪态---获得CPU就可以运行、(2)执行态---获得了CPU正在运行。 (3)阻塞态---获得资源后进入就绪态。

操作系统笔记_其他_02

4:进程的组织

1:链接方式,将系统中具有相同状态的进程链接成一个队列

2:索引:根据所有进程状态建立索引表,每一个表项指向一个PCB(进程控制块)的物理块

3:进程队列:就绪队列和阻塞队列

四:进程的创建

下列情况创建新进程

1:用户登录、2:作业调度、3:提供服务、4:应用请求

在Linux系统中除了0号进程外,其他进程都是由其父进程创建的。被创建的叫做子进程,子进程可以用操作系统或者父进程获得资源。

执行可能:1二者并发执行,父进程等待,直到某个或全部子进程执行完毕、

地址空间:子进程共享父进程地址空间、子进程拥有独立的地址控件

创建步骤

1:申请空白PCB(进程控制块)

2:为进程分配资源

3:初始化PCB

4:将进程插入就绪队列

进程终止

进程正常执行完毕,请求操作系统删除

一个进程调用适当的系统调用终止另一个进程。

父进程终止子进程:1任务完成、2:子进程所用资源过多。3:父进程关闭。

主引导扇区:0柱面0磁道1扇区

五:操作系统的内核

1:操作系统内核的功能

支撑功能----中断处理、时钟管理、原语操作(不可中断)

资源管理功能:进程管理、存储器管理、设备管理

2:什么是中断

改变处理器执行指令顺序的一种事件,引入中断机制是CPU可以与其他设备并行工作,提高cpu运行效率

同步中断(内部)CPU控制单元产生一条指令终止后CPU才发生中断、异步中断(外部)其他硬件产生的,分为可屏蔽(I/O设备产生的psw、8259)和不可屏蔽的(硬件故障)。

3:中断响应

操作系统笔记_信号量_03

 

时钟机制

1:使用时钟限制一个用户进程在CPU连续执行的时间。

2:实时时钟和OS时钟,

系统调用

一群预先定义好的模块提供一条管道,让应用程序或者一般用户可以得到核心程序的服务。系统调用是系统程序和用户程序之间的接口,系统调用运行在系统态。

类型:进程类型、文件操作、设备管理、通信类、信息维护类型

#六:进程同步

1:任务:一是对具有资源共享关系的进程,保证各个进程以互斥方式访问。

临界资源:必须执行完一个才能执行另一个。

二是对具有相互合作关系的进程,保证相互合作的协调执行

2:准则:1:空闲让进。2:忙则等待。3:有限等待4:让权等待。

3:信号量机制---判断进程是否能访问与信号量对应的共享资源。

1:整形信号量机制

如果整形>0有可用资源,<0进程必须等待,对于一次只允许一个进程访问的临界资源则定义一个互斥的整型信号量。

2:记录型信号量

s.value,值为几就是几个进程。

3:AND型信号量

进程在运行过程中所需要的资源一次性全部分配给进程,使用后在一次性释放。

4:经典的进程同步问题

1:生产者---消费者问题描述

生产者进程生产信息,放入一个具有N个缓冲区的缓冲池,消费者进程从中取得一个消息消费。

2:信号量的设置

1:设置一个互斥信号量mulex,实现对公共缓冲池的互斥访问,初值为1

2:设置两个资源信号量,分别表示可用资源数。

empty:缓冲池的空缓冲数,初始值为N

full:装有消息的缓冲区数,初始值为0

3:说明

wait 和signal 操作必须成对出现

wait操作的顺序不能颠倒,必须先对资源信号量(empty,full)进行wait操作,然后在对互斥信号量进行wait操作

5:管程

1:软件包,进程可以在任何时间调用管程,每一次只有一个对管程访问。

6:进程的通信

定义:支持进程之间的信息交换

方式:1:共享存储器系统2:消息传递系统。3:管道通信4:消息缓冲队列

 

七:线程

引入原因:进一步提高程序的并发性,减少系统开销。实质是将进程的任务划分成更小,具有独立功能的单位。

概念:    线程是进程中的一个实体,是被系统独立调度和分派的基本单位,一个线程可以创建和撤销另一个线程,同一个进程之内多个线程可以并发执行

线程和进程的关系

1:资源和调度,线程是程序执行的基本单位,进程是拥有资源的基本但额外   

 2:地址和空间资源:不同进程的地址空间是相互独立的,而同一进程中的各线程共享同一地址空间。

3:通信关系:进程之间通信必须使用操作系统提供的进程间通信机制,而同一进程中各线程可以通过直接读或写全局变量进行通信。

4:并发

 

操作系统笔记_信号量_04


第三章

操作系统笔记_其他_05

操作系统笔记_其他_06

 

一:进程调度的功能与时机

1:进程调度功能

进程调度按照某种算法策略,从就绪态的进程中为当前空闲的cpu选择在其上运行的新进程。

2:调度的时间

一个进程,运行结束,运行阻塞,中断返回,优先级更高的进程。这四种有一种发生的时候。

二:进程调度的算法

选择准则

1:周转时间短、2:响应时间快。3:截止时间的保证。4:系统的吞吐量

5:处理机利用率

调度算法

1:FCFS(谁先就绪谁上),适合长进程。

等待时间=开始时间-进入时间、周转时间:运行时间+等待时间

操作系统笔记_进程控制_07

2:短进程优先调度:SPF

选择估计进程短的进行调度。缺陷:对长进程不利,无法保证紧迫进程的及时处理。进程长度由用户估计而定可能有偏差

3:优先权调度算法

给每个进程赋予与之相关的优先权。分为抢占式和非抢占式。静态优先权和动态优先权。

缺陷:无穷阻塞

4:时间片轮转调度算法

在现代分时系统中广泛使用。

时间片是一个较小时间单位,通常为10-100ms

5:多级队列调度

根据进程占用内存大小,优先权或进程类型,将就绪队列分成多个独立队列,进程被永久的分配到一个队列,每个队列有自己的调度算法。

6:多级反馈队列调度

三:实时调度的基本条件

为了满足实时系统对截止时间的要求,

实时调度应具备下列几个条件

1:提供必要的调度信息

就绪时间、开始和完成截止时间、处理时间、资源要求、优先级

2:系统处理能力强

某些实时进程不能得到及时处理,可能发生难以预料的后果

3:使用抢占式调度机制

基于时钟和立即抢占

4:具有快速切换机制

外部中断的快速响应

 

算法

1:EDF最早截止时间优先

2:最低松弛度优先

四:进程的切换

用新的进程替换原有进程

保存cpu上下文环境

更新被替换进程的进程控制块

修改进程状态

将被替换进程的进程控制块,移到阻塞或者就绪队列

执行新进程

恢复上下文

五:多处理器调度

1:多处理器的类型

紧密耦合

松弛耦合

对称    :静态分配:操作系统为每个处理器建立一个专门的就绪队列、动态分配:每个进程经过多次调度,每次获得的不一定是同一个处理器。

非对称

主---从 ,操作系统核心部分放在主机上,进程主机器分配给从机器。

2:调度方式

自调度----一个队列,谁用谁调

成组调度----将一组相互合作的同时分配到同一组处理器上

六:死锁

产生死锁的原因和必要条件

原因:竞争共享资源且分配资源的顺序不当

必要条件:1:互斥条件2:请求和保持条件3:不剥夺条件4:环路等待条件。

处理方法

预防:至少有一个条件不成立,系统要求进程一次性申请整个过程中所需的全部资源。可以进行剥夺。进程必须按照规定的顺序申请资源。

避免

先计算资源分配的安全性,允许进程动态的申请资源

银行家算法:

一个进程提出资源请求就拟定一个分配方案,评估是否安全,如果安全就执行,否则就不执行。

检测和解除

终止处于死锁的进程或者抢占所占资源。

操作系统笔记_子进程_08

 

 

 

 

 

标签:操作系统,队列,调度,笔记,内存,进程,执行
From: https://blog.51cto.com/u_15854472/5915752

相关文章

  • 操作系统笔记总结
    操作系统一:什么是操作系统覆盖在硬件和操作软件中间的一个系统,和硬件部分相互作用,主要起一个承上启下的任务二:资源的管理者现代计算机支持多任务,多个应用程序共同使用......
  • [个人学习笔记]卫生统计学R语言代码总结
    卫生统计学R语言代码总结目录前言不同分布相关函数统计描述数值变量集中位置离散程度正态性检验分类变量t检验方差分析假设检验两两比较秩和检验......
  • krping学习笔记 (1)
    krpingKriping是一个内核态的rdmaping-pong程序,其使用rdma读写的方式实现了数据在server-client间的ping-pong式传递.如下图所示,在开始数据传输前,client会先将......
  • 刷题笔记——2997.梯形面积
    题目2997.梯形面积代码h=(2*150)/15s=((15+25)*h)/2print('%.2f'%s)笔记使用占位符方法保留小数%g,科学计数法输出小数,会舍弃无效的部分print(......
  • HTML-学习笔记02
    HTML13、样式器+标签选择器内部样式表<html> <head> <metacharset="utf-8"> <title></title> <!--内部样式表--> <style> /*标签选择器*/ h1{ ......
  • ES6笔记 - 函数参数扩展 与 箭头函数
    函数的扩展目录函数的扩展1.函数的默认值1.1解构赋值默认值与函数默认值1.2参数默认值的位置2.rest参数3.箭头函数3.1基础用法3.2箭头函数中的this3.3用途1.函......
  • 目前各移动操作系统HTML5支持一览大图
    目前各移动操作系统HTML5支持一览大图,很详细说明小结了目前各移动操作系统对HTML5支持的情况,值得学习:[img]http://dl.iteye.com/upload/attachme......
  • C语言第二课学习笔记--运算符,流程控制和函数
    <7>运算符1)分类:一些基本的运算符分类有:算术、关系、逻辑、赋值算术运算符有:+,-,*,/,%;    对于/被除数和除数都是int则结果是int,有一个是float结果就是float;对于%,被......
  • Kubernetes学习笔记(四十二):CKA已通过2022.12.04
    考试版本:1.25.2注意点:使用PSI内远程浏览器,可以多开tab,但不能导入书签,需要自己搜索,所以请熟悉完整命令和yaml格式考前请仔细阅读考试手册(预约考试页面有链接),特别是熟悉......
  • 刷题笔记——1267.A+B Problem
    题目1267.A+BProblem代码whileTrue: try: a,b=map(int,input().strip().split()) print(a+b) except: break笔记map()函数语法map(function,iterable,.......