操作系统概论 第二章

第二章 进程管理 输入一批数据 处理数据 打印处理结果

程序的顺序执行特点 顺序性 封闭性 可再现性

程序的并行执行 间断性 失去封闭性 不可再现性

程序并发执行

同一个程序在不同数据集合上的执行

不同的程序在不同数据集合上的执行

程序 具有独立功能的一组指令的集合

进程 允许并发执行的程序在某个数据集合上的运行过程

进程是由正文段 用户数据段及进程控制块共同组成的执行环境

正文段 存放被执行的机器指令

用户数据段 存放用户数据

进程控制块 存放进程的运行环境

进程

1. 并发性 并发性是进程和现代操作系统的重要特征

2.动态性 执行程序->创建进程 获得cpu->执行指令 运行中止->被撤销

3.独立性 独立运行和资源调度的基本单元

4.进程的执行时断时续,何时执行,合适暂停都无法预知

5.进程实体包括用户正文段 用户数据段和进程控制块

程序和进程的区别

程序 静态 永久 指令的集合

进程 动态 暂时 包括正文段 用户数据段 进程控制块

联系

进程是程序的一次执行

一个程序可以对应多个进程

用一个程序可以在不同的数据集合上运行,构成不同的进程

进程实体 包括 用户正文段 用户数据段和进程控制块

程序状态字 PSW

描述和记录程序状态

进程控制块 PCB

管理和控制进程

进程控制块PCB

定义: 进程控制块是进程实体的一部分,是操作系统中最重要的数据结构。

进程控制块汇总记录了操作系统所需要的,用于描述进程及控制进程运行所需的全部信息

进程控制块中的信息

进程表示符信息 用于唯一标识一个进程

处理机状态信息 通用寄存器 指令计数器 程序状态字PSW 用户栈指令

进程调度信息 包括进程状态信息,进程优先级和进程调度所需的其他信息

进程控制信息 包括程序和数据的地址 进程同步和通信机制 资源清单 以及连接指针

进程的三种基本状态 之形态 阻塞态 就绪态

进程的组织方式

连接方式

把系统中具有相同状态的进程控制块PCB用其中的链接字链接成一个队列

执行指针 正在执行的进程 PCB1

索引方式

系统根据所有进程的状态,建立索引表,索引表的每一个表项指向一个PCB物理块

进程队列

把具有相同状态的进程控制块用队列组织起来

如何创建新进程 创建新进程的步骤

1. 申请空白PCB

2. 为新进程分配资源

3. 初始化进程控制块

4.将新进程插入到就绪队列

什么情况下会进行进程的阻塞呢?

请求系统服务 启动某种操作 新数据尚未到达 无新工作可做

完成进程阻塞的简化过程?

1.将进程的状态改为阻塞态

2.将进程插入相应的阻塞队列

3.转到进程调度程序,从就绪队列中选择进程为其分配CPU

进程的唤醒

进程进入阻塞天之后,通过唤醒使其变成就绪态进程

完成进程阻塞的简化过程?

1.将进程从阻塞队列中移除

2.将进程状态由阻塞态改为就绪态

3.将进程插入就绪队列

进程的终止

进程正常执行完毕,调用终止今晨的系统调用

操作系统通过系统调用完成进程终止的一般过程

1. 从进程PCB中读进程状态

2.若进程正在执行,则终止进程的执行

3.释放资源

4.将终止进程的PCB移出

操作系统管理计算机系统资源 提供方便的接口,扩充硬件的功能等

操作系统内核

直接与硬件交互,提供cpu时间片管理中断 内存管理 IO管理等等

操作系统内核

支撑功能 中断处理 时钟管理 原语操作

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

什么是中断

中断是改变处理器执行指令顺序的一件事情

出现中断时,计算机停止现在程序的运行,转向对这些中断事件的处理

处理结束后再返回到现行程序的间断处

为什么需要中断

CPU可以使其他设备并行工作,能有效提高CPU的利用率

中断的类型 同步中断 内部中断或异常 如除数为零,结果溢出等

异步中断 外部中断 如 I/o 中断 硬件故障等

中断响应

响应中断的条件 对于可屏蔽中断,开中断是前提

响应中断的时机 对于外部中断 CPU每执行完一条指令都会检测是否有中断

什么是系统调用?

系统调用是一群预先定义好的模块

提供一条管道让应用程序能由此到核心程序的服务

系统调用时系统程序与用户程序之间的接口

用户空间 用户进程所处的地址空间

用户态执行 CPU 执行用户空间的代码时,该进程处于用户态执行

系统空间 含有一切系统核心代码的地址空间

系统态执行 CPU 执行系统核心代码时,称该进程处于系统态执行
根据系统调用的功能吧系统调用总结为一下几种类型

进程控制类系统调用

文件操纵类系统调用

设备管理类系统调用

通信类系统调用

进程同步的基本概念

多道程序环境下进程之间的关系

资源共享关系 保证各进程以互斥的方式访问临界资源

相互合作关系 保证相互合作的各进程协调执行

必须以互斥方式访问的共享资源称为临界资源

进程中访问临界资源的那段代码称为临界区

同步机制应遵循的准则

空闲让进

  对于要访问临界资源的进程,应保证有限时间内进入临界区

忙则等待

  申请不到访问权,应释放处理机,以免浪费CPU资源

有限等待

  没有进程处于临界区,应允许一个请求进入临界区的进程进入

让权等待

  临界区已有进程,其他视图进入临界区的进程必须等待

信号量机制

用信号量的取值来表示资源的使用状况,依次为基础实现进程同步

信号量 某种类型的变量 如整形,记录型

信号量机制

整形信号量机制 记录型信号量机制 AND型信号量机制

整形信号量机制 表示共享资源 只能由特殊的原子操作改变的整形量

原理:定义一个整形变量,用该变量的值来标记资源的使用情况, 初始值=1

整形信号量 > 0  有资源可用

整形信号量 <= 0 资源忙,需等待

整形信息量机制中,用于申请资源的是 wait 原子操作。

整形信号量机制中,用于释放资源的是 signal 原子操作

定义信号量s,初始值设置为1

进程通信机制

共享存储器系统

  相互通信的进程共享某些数据结构或共享存储区

消息传递系统

  进程间通过操作系统提供的一组通信程序传递消息

管道通信

  进程间通过管道(链接读写进程的特殊文件)进行信息通信

消息缓冲队列

  利用消息缓冲区,发送原语和接收原语实现信息通信

程序

具有独立功能的一组指令的集合

进程

允许并发执行的程序在某个数据集合上的运行过程

线程

用户要求执行数据库应用程序

线程的定义 线程是进程中的一个实体,是被系统独立调度和分派的基本单位

同一进程的各线程驻留在分配给进程的地址空间汇总,且共享该进程的所有资源。

2.一个进程被创建后便开始了它的声明周期,直至执行结束而中止,线程在声明期内会经历

就绪态,阻塞态和运行态各种状态变化

3.线程是处理器的独立调度单位,多个线程可以并发执行,交替占用处理器。

4.不同的线程可以执行相同的程序,即同一个服务程序若被不同用户调用时操作系统就为他们将创建不同的

线程。

原文地址:https://www.cnblogs.com/simadongyang/p/10196439.html

时间: 2024-10-10 15:58:30

操作系统概论 第二章的相关文章

软件工程概论第二章概括

第一章首先在软件工程这个名词上做了详细的解释,第二章就开始对于软件的开发过程作介绍了. 在开始的时候先对于这个开发过程做了一下简略的介绍,从用户和设计者之间的沟通建立框架对软件开发这个过程做介绍. 而后开始详细的介绍各种构建模型的方法:瀑布模型.快速还原模型.增量模型.螺旋模型.形式化开发模型.基于组件的开发模型,其中把微软公司特别拿出来介绍了一下他们开发的过程,毕竟现在来看他们还是比较成功的,确实能从里面学到一些真正的东西,我们进入到社会会用的上. 在开发软件的过程中同样还会有一些东西伴随着软

软件工程概论第二章阅读笔记

在这一章当中,我了解到了软件生存期的几个模型. 首先是瀑布模型.其优点有:1 可强迫开发人员采用规范化的方法 2 严格规定了每个阶段必须提交的文档 3 要求每个阶段交出的产品都必须是经过验证的.其缺点有:1 最终产品可能与客户要求不符 2 该模型只是用于项目开始时需求已知的情况.在瀑布模型的基础上,还发展出了v模型,其将设计与测试有机的结合在了一起. 其次是快速原型模型.其优点有:1 满足客户真实需求 2 规格说明文档能正确的描述客户需求 3 产品开发基本上按照线性顺序进行 4 开发过程后续中不

软件工程概论第二章

本章主要介绍了软件工程的概念包括任务思维与过程思维(即将整个软件开发任务看作是一个可控的.可度量的和可改进的过程.).软件过程的定义(软件过程是软件工程人员为了获得软件产品而在软件工具的支持下实施的一系列软件工程活动.).软件过程的基本活动(问题提出.软件需求规格说明.软件设计.软件实现.软件确认.软件演化).软件过程的制品,软件过程模型包括瀑布模型.快速原型模型.增量模型.螺旋模型.形式化方法模型.基于组件的开发模型,微软的软件开发过程包括微软的开发管理原则.微软的软件过程模型.递进式的软件开

软件工程概论第二章总结

软件过程就是软件工程人员为了获得软件产品在软件工具的支持下实施一系列的软件工程活动.软件过程的基本活动步骤有1 问题的提出,2软件需求规格说明 3 软件设计 4 软件实现 5软件确认 6软件演化.     软件过程的模型主要有瀑布模型,快速原型模型,增量模型,螺旋模型,形式化模型,基于组将开发模型,本章还介绍了微软公司的软件开发过程微软公司的软件开发过程模型由规划,设计,开发,稳定和发布5个主要阶段,微软公司软件开发工程采用递进式的开发策略,递进式的开发模式具有易于管理的适应变化的显著特点,具体

软件工程概论第二章 软件过程

软件开发是在适应需求不断变化的过程中迭代式地演进,软件过程是软件工程人员为了获得软件产品而在软件工具的支持下实施的一系列软件工程活动,还有软件过程的基本元素由一系列软件工程活动和活动之间的关系组成,通过一系列顺序和步骤执行这些活动,可以产生诸如代码.文档和数据等各种过程制品,最终取得预期的过程结果.另外,软件工程需要参与活动的人员和活动工具等过程资源的支持,并通过反馈和度量过程的结果实现过程的可持续改进.软件活动的基本活动包括:1.问题提出:2.软件需求规格说明:3.软件设计:4.软件设计:5.

操作系统_第二章_进程与线程

2018-06-30 1.进程:对正在运行的程序的一个抽象 2.一个进程就是一个正在执行的程序的实例 3.快速的切换称为:多道程序设计 4.一个进程是某种类型的一个活动,它有程序,输入,输出,以及状态 5..四种主要的事件会导致进程的创建 系统初始化 正在运行的程序执行了创建进程的系统调用 用户请求创建一个新进程 一个批处理作业的初试化 6.停留在后台进程的称为守护进程 7.shell中键入sort就可以创建进程了 8.内存一般使用写时复制的方法进行内存共享 9.进程的终止 正常退出 出错退出

网络操作系统习题第二章

1.Windows Server 2008 中的用户有哪些类型?系统默认的用户有哪些? (1)用户 (2)InetOrgPerson (3)联系人 (4)默认用户账户 Administrator Guest 原文地址:https://www.cnblogs.com/Mr-lanshao/p/9749926.html

《操作系统概论》第一章引论读书笔记

计算机系统分为硬件和软件. 硬件主要由:CPU.存储器.输入输出控制系统.各种输入输出设备组成. 软件主要分为:系统软件.支撑软件.以及应用软件. 操作系统定义:一般认为,操作系统是管理计算机系统资源.控制程序执行.改善人机界面和为应用软件提供支持的一种系统软件. 操作系统的作用: 管理计算机系统的资源. 为用户提供方便的使用接口. 具有扩充硬件的功能. 操作系统的功能: 从资源管理的观点看,操作系统的功能可以分为:处理器管理.存储管理.文件管理和设备管理. 处理器管理的主要工作是进行处理器的分

《操作系统概念》学习笔记-第二章

第二章 操作系统结构 在具有多个命令解释程序选择的系统中,解释程序被称为外壳(shell) 命令解释程序的主要作用是获取并执行用户指定的下一条命令. 有三种应用程序员常用的API,适用于windows系统的win32API,适用于POSIX系统的POSIX API,以及用于设计运行于JAVA虚拟机程序的JAVA API. 操作系统传递参数有三种方法: 最简单的方法是通过寄存器来传递参数,不过有时,参数数量会比寄存器多,这时,这些参数通常存在内存的块和表中,并将块的地址通过寄存器来传递.Linux