进程和存储管理

第二章 进程与线程

一个进程就是一个正在执行程序的实例。

停留在后台处理诸如电子邮件、Web页面、新闻、打印之类活动的进程,成为守护进程。

每个进程中的内容:地址空间、全局变量、打开文件、子进程、即将发生的井盖、信号与信号处理程序、账号信息

每个线程中的内容:程序计数器、寄存器、堆栈、状态。

资源管理的单位是进程而非线程。

线程企图实现的是,共享一组资源的多个线程的执行能力,以便这些线程可以为完成某一任务而共同工作。

调度程序激活机制的目标是:模拟内核线程的功能。

弹出式线程:一个消息的到达导致系统创建一个处理该消息的线程,这种线程称为弹出式线程

临界区:对共享内存进行访问的程序片段叫做临界区域,简称临界区。

屏蔽中断对于操作系统本身而言是一种有用的技术,但对用户进程则不是一种的互斥机制。

Murphy法则:任何可能出错的地方终将出错。

中断发生后,操作系统最底层的工作步骤:

  1. 硬件压入堆栈程序计数器等
  2. 硬件从中断向量装入新的程序计数器
  3. 汇编语言过程保存寄存器
  4. 汇编语言过程设置新的堆栈
  5. C中断服务例程运行(点新低读和缓冲输入)
  6. 调度程序决定下一个将运行的进程
  7. C过程返回至汇编代码
  8. 汇编语言过程开始运行新的当前进程

信号量:它使用一个整型变量来累计唤醒次数,供以后使用。它可以为0(表示没有保存下来的唤醒操作)或者正值(表示有一个或多个唤醒操作)

管程:由过程、变量及数据结构组成的一个集合。0

在不同环境中调度算法的一些目标:

所有:

  1. 公平——给每个进程公平的CPU份额
  2. 策略强制执行——看到所宣布的策略执行
  3. 平衡——保持系统的所有部分忙碌

批处理系统

  1. 吞吐量——每小时的最大作业数
  2. 周转时间——从提交到终止的最小时间
  3. CPU利用率——保持CPU始终忙碌

交互式系统

  1. 响应时间——快速响应请求
  2. 匀衡性——满足用户的期望

实时系统

  1. 满足截止日期——避免丢失数据
  2. 可预测性——在多媒体系统中避免品质降低

调度算法:

  1. 先来先服务
  2. 最短作业优先
  3. 最短剩余时间优先
  4. 轮转梯度
  5. 优先级调度
  6. 多级队列
  7. 最短进程优先
  8. 保证调度
  9. 彩票调度
  10. 公平分享调度

第三章 存储管理

地址空间是一个进程可用于寻址内存的一套地址集合。每个进程都有一个自己的地址空间,并且有一个自己的地址空间,并且这个地址空间独立于其他进程的地址空间(除了在一些特殊情况下进程需要共享他们的地址空间)

虚拟地址空间按照固定大小划分称为页面的若干单元

在物理内存中对应的单元称为页框。

转换检测缓冲区:可以减少页表的访问

页面置换算法:

  1. 最优页面置换算法,无法实现,仅用于对其他可能算法的性能进行比较
  2. 最近未使用页面置换算法
  3. 先进先出页面置换算法
  4. 第二次机会页面置换算法
  5. 时钟页面置换算法
  6. 最近最少使用页面置换算法
  7. 工作集页面置换算法,工作集:一个进程当前正在使用的页面的集合成为它的工作集
  8. 工作集时钟页面置换算法

缺页中断发生时的时间顺序:

  1. 硬件陷入内核,在堆栈中保存程序计数器。
  2. 启动一个汇编代码例程保存通用寄存器和其他易失的信息,以避免操作系统破坏,这个例程将操作系统作为一个函数来调用
  3. 当操作系统发现一个缺页中断时,尝试发现需要哪个虚拟页面
  4. 一但知道了发生却也中断的虚拟地址,操作系统检查这个地址是否有效,并检查存取与保存是否一致。如果不一致,向进程发出一个信号或杀死该进程。如果地址有效且没有保护错误发生,系统则检查是否在空闲页框。如果没有空闲页框,执行页面置换算法寻找一个页面来淘汰
  5. 如果选择的页面脏了,安排该页写回磁盘,并发生一次上下文切换,挂起产生缺页中断的进程,让其他进程运行直到磁盘输出结束。无论如何。该页面被标记为忙,以免因为其他原因而被其他进程占用
  6. 一旦页框“干净”后(无论是立刻还是在协会磁盘后),操作系统查找所需页面在磁盘上的地址,通过磁盘操作将其装入。该页面被装入后,产生缺页中断的进程仍然被挂起,并且如果有其他可以运行的用户进程,则选择另一个用户进程
  7. 当磁盘中断发生时,表明该页已经被装入,页表已经更新可以反映它的位置,页框也被标记为正常状态
  8. 回复发生缺页中断指令以前的状态,程序计数器重新指向这条指令
  9. 调度引发该缺页中断的进程,操作系统返回调用他的汇编语言例程
  10. 该例程回复寄存器和其他状态信息,返回到用户空间继续执行,就好像缺页中断没有发生过一样

控制系统复杂度的一种重要方法是把策略从机制中分离出来。

分页的点:统一的页面大小和在只使用段的一部分时不用把他的的全部调入内存

分段的优点:易于编程、模块化、保护盒共享。

Pentinum的保护机制:0.内核,1.系统调用,2.共享库,3.用户程序

时间: 2024-10-29 19:07:58

进程和存储管理的相关文章

操作系统基础知识

操作系统的分类: 批处理操作系统.分时操作系统.实时操作系统.网络操作系统.分布式操作系统.个人计算机操作系统. 批处理操作系统: 优:资源共享,自动调度,提高了资源利用率和系统分吞吐量. 劣:无交互,周转时间较长. 多道批处理程序要处理的问题:同步互斥,内存大小,使用效率,内存保护 分时系统:联机多用户交互式操作系统,中断技术,时间片轮转 优:人机交互性好,共享主机 ,用户独立性 实时操作系统:联机系统,对外部请求能够在规定的时间内完成. 特点:有限等待 有限响应 用户控制 可靠性高 出错处理

Ti:关于DB连接池

1.连接池的概念 网络编程中提出了将Socket放入池中,让多个线程共享这些插座(Socket)对应的线缆(Conenction),DB连接池就是基于连接池的一个实现. ①连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用. @百度百科 ②数据库连接池这一解决方案是指在应用程序启动时,建立足够的数据库连接,并将这些连接组成一个连接池,由应用程序动态的对池中的连接进行申请/使用/释放. 而对于多于连接池中连接数的并发请求,应在请求队列中排队等待连接的释放. 应用程序可

全国软考数据库系统工程师教程(第2版)目录

今年5月份要考数据库工程师了.主要为了拿职称,为了万能的北京工作居住证,为了给宝宝办医疗卡,真正的战斗打响了,加油! 不多说了,开始了,先报一下目录.纯手工!希望大家相互学习多提意见. 第一章.计算机系统知识 1.1 计算机系统基础知识 1.1.1 计算机系统硬件基本组成 1.1.2 中央处理器 1.1.3 数据表示 1.1.4 校验码 1.2 计算机体系结构 1.2.1 计算机体系结构的发展 1.2.2 存储系统 1.2.3 输入输出技术 1.2.4 总线结构 1.3 安全性.可靠性与系统性能

软考——(3)操作系统

之前写过一篇博客<操作系统小结>,博客中只是对操作系统进行了初步的总结和介绍,而它的核心部分也就是它的五大功能,并没有给出详细的总结.在软考中,再次学习操作系统之后,更加加深了自己的理解. 先看一个导图: 调度 一个作业从提交到完成需要经历高.中.低三级调度. 1)高级调度,又叫作业调度. 决定哪个候选中的作业可以调入,并做好运行的准备. 2)中级调度 决定哪些资源被允许参与竞争CPU的资源.在一定程度上,可以解决内存资源紧张的问题. 3)低级调度,又叫进程调度. 决定内存中的那个进程可以占用

第一章:操作系统概述

 概念:操作系统是控制和管理计算机软硬件资源,以尽可能的合理.高效的方法为用户及其应用程序提供服务的一种系统.  特征: ·并发:使的多个进程可以同时进行,最大化的利用资源,提高效率. ·共享     ·虚拟    ·不确定性:由并发引起的  功能: ·进程管理 ·存储管理 ·文件管理 ·设备管理  服务:  ·公共服务:  ·命令控制接口: 命令行,GUI(图形用户界面),脚本(解释执行语言,一组命令行的组合),   NUI(自然用户接口)  ·系统服务: ·系统调用: 创建.打开.读.写.关

操作系统概论 第二章

第二章 进程管理 输入一批数据 处理数据 打印处理结果 程序的顺序执行特点 顺序性 封闭性 可再现性 程序的并行执行 间断性 失去封闭性 不可再现性 程序并发执行 同一个程序在不同数据集合上的执行 不同的程序在不同数据集合上的执行 程序 具有独立功能的一组指令的集合 进程 允许并发执行的程序在某个数据集合上的运行过程 进程是由正文段 用户数据段及进程控制块共同组成的执行环境 正文段 存放被执行的机器指令 用户数据段 存放用户数据 进程控制块 存放进程的运行环境 进程 1. 并发性 并发性是进程和

进程管理、内存管理、存储管理初步了解

进程管理 进程需要一定的资源(包括CPU时间.内存.文件.I/O设备)以完成其任务.这些资源可以在进程创建时分配给进程,也可以在执行进程时分配给进程.除了在创建时得到各种物理和逻辑资源外,进程还可以接受传输过来的各种初始化数据(输入). 需要注意:程序本省并不是进程,程序是被动的实体,而进程是一个活动的实体. 进程与线程的定义: 进程是具有一定独立功能的程序关于某个数据集合上的依次运行活动,进程是系统进行资源分配和调度的独立单位. 线程是进程的一个实体,是CPU和分配的基本单位.线程自己基本不拥

【linux】进程存储管理

看<Linux高级程序设计>的笔记 设有一个hello的可执行文件 ①显示该文件的基本信息 ls hello -l ②文件基本情况 file hello ③列出文件的存储区域情况 size hello text(代码区): 存放代码和有const修饰的变量和字符串常量. data(静态数据/全局初始化数据区):存放已经被初始化的全局变量和静态变量(有const修饰的除外). bss(未初始化数据区):存放未初始化的全局变量和静态变量. dec(十进制总和)/hex(十六进制总和):总大小 全局

进程(二) —— 进程控制块

进程(二) —— 进程控制块 进程控制块(PCB, Process Control Block) 定义: 操作系统管理和控制进程运行所用的信息集合 操作系统用 PCB 来 描述进程的 基本情况 以及 运行变化 的过程 PCB是进程存在的唯一标志 每个进程都在 操作系统 中有一个对应的PCB 进程控制块的使用 进程创建 生成 该进程的 PCB 进程终止 回收它的PCB 进程的组织管理 通过对PCB的组织管理来实现 进程控制块内容 进程标志信息 处理机现场保存 进程控制信息 进程控制信息 调度和状态