计算机之操作系统概述进程管理作业管理

Posted 爱上口袋的天空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机之操作系统概述进程管理作业管理相关的知识,希望对你有一定的参考价值。

一、操作系统的概述

1、操作系统的演进:

2、多道程序设计:

早期批处理系统只能一次处理一个任务

多道程序设计使得批处理系统可以一次处理多个任务

 

多道程序设计是指在计算机内存中同时存放多个程序

多道程序在计算机的管理程序之下相互穿插运行

多道程序的管理是操作系统的重要功能

 


二、操作系统概览

 1、What&Why:

  • 操作系统是管理计算机硬件和软件资源的计算机程序
  • 管理配置内存、决定资源哦供需顺序、控制输入输出设备等
  • 操作系统提供让用户和系统交互的操作界面
  • 操作系统的种类是多样的,不局限于计算机
  • 从手机到超级计算机,操作系统可简单也可复杂
  • 在不同设备上,操作系统可向用户呈现多种操作手段
  • 管理硬件、并且提供用户交互的软件系统
  • 我们不可能直接操作计算机硬件
  • 设备种类繁多复杂,需要统一界面
  • 操作系统的简易性使得更多人能够使用计算机

2、操作系统的基本功能:

统一管理计算机资源,

操作系统实现了对计算机资源的抽象,

  • 用户无需面向硬件接口编程
  • IO设备管理软件,提供读写接口
  • 文件管理软件,提供操作文件接口

 操作系统提供了用户与计算机之间的接口,

  • 图形窗口形式
  • 命令形式
  • 系统调用形式

3、操作系统相关概念:

并发性:

并行是指两个或多个事件可以在同一时刻发生

并发是指两个或多个事件可以在同一时间间隔发生

共享性:

 操作系统中的资源可供多个并发的程序共同使用,即资源共享

多个程序可以同时使用主存资源

资源共享分为:互斥共享同时访问


互斥共享,

当资源被程序A占用时,其他想使用的程序只能等待

只有当进程A使用完以后,其他进程才可以使用该资源

 同时访问,

某种资源在一段时间内并发地被多个程序访问

这种“同时”是宏观的,从宏观去看该资源可以被同时访问


虚拟性:

把一个物理实体转变为若干个逻辑实体

物理实体是真实存在的,逻辑实体是虚拟的

虚拟的技术主要有时分复用空分复用

时分复用,

资源在时间上进行复用,不同程序并发使用

多道程序时分使用计算机硬件资源

提供资源利用率

空分复用,

实现虚拟磁盘、虚拟内存

提高资源利用率,提高编程效率

 

异步性:

在多道程序环境下,允许多个进程并发执行

进程在使用资源时可能需要等待或放弃

进程的执行并不是一气呵成的,而是以走走停停的形式推进

 


三、进程管理之进程实体

1、为什么需要进程:

  • 进程是系统进行资源分配和调度的基本单位
  • 进程作为程序独立运行的载体保障程序正常进行
  • 进程的存在使得操作系统弄资源的利用率大幅提升

 2、进程的实体:

主存中的进程形态,

  • 标识符:唯一标记一个进程,用于区别其他进程
  • 状态:标记进程的进程状态,如运行态
  • 程序计数器:指向进程即将被执行的下一条指令的地址
  • 内存指针:程序代码、进程数据相关指针
  • 上下文数据:进程执行时处理器存储的数据
  • IO状态信息:被进程IO操作所占用的文件列表
  • 记账信息:使用处理器时间、时钟总数和等

 进程控制块(PCB),

  • 用于描述和控制进程运行的通用数据结构
  • 记录进程当前状态和控制进程运行的全部信息
  • 使得进程是能够独立运行的基本单位
  • PCB是操作系统进行调度经常会被读取的信息
  • PCB是常驻内存的,存放在系统专门开辟的PCB区域

进程与线程,

  • 线程是操作系统运行调度的最小单位
  • 进程是系统进行资源分配和调度的基本单位
  •  线程包含在进程之中,是进程实际运行工作的单位
  • 一个进程可以并发多个线程,每个线程执行不同的任务
  • 进程里的线程共享进程的资源

 

 


四、进程管理之五状态模型 

就绪状态:

当进程被分配到除CPU外所有必要的资源后

只要再获得CPU的使用权,就可以立即执行

其他资源都准备好、只差CPU资源的状态为就绪状态

在一个系统中多个处于就绪状态的进程通常排成一个队列

执行状态:

进程获得CPU,其程序正在执行称为执行状态

在单处理机中,在某个时刻只能有一个进程是处于执行状态

 阻塞状态:

进程因某种原因,如:其他设备未就绪而无法继续执行从而放弃CPU的状态

 

创建状态:

创建进程时拥有CPU但其他资源尚未就绪

 终止状态:

进程由系统清理或归还PCB的状态称为终止状态

 


五、进程管理之进程同步

 进程间的同步:

对竞争资源在多进程间进行使用次序的协调

使得并发执行的多个程序之间可以有效使用资源和相互合作

 临界资源:

进程间同步的原则:

  • 空闲让进:资源无占用,允许使用
  • 忙则等待:资源占用,请求进程等待
  • 有限等待:保证有限等待时间能够使用资源
  • 让权等待:等待时,进程需要让出CPU

 进程间同步的方法:

  • 消息队列
  • 共享存储
  • 信号量

线程同步:

  • 互斥量
  • 读写锁
  • 自旋锁
  • 条件变量

 


六、作业管理之进程调度

进程调度:

  • 计算机通过决策决定哪个就绪进程可以获得CPU使用权
  • 保留旧进程的运行信息,请出旧进程(收拾包袱)
  • 选择新进程,准备运行环境并分配CPU(新进驻)

 进程调度的机制:

就绪状态的排队机制

选择运行进程的委派机制

新老进程的上下文切换机制 

进程调度方法:

非抢占式调度

  • 处理器一旦分配给某个进程,就让该进程一直使用下去
  • 调度程序不以任何原因抢占正在被使用的处理器
  • 直到进程完成工作或因IO阻塞才会让出处理器

 抢占式调度

  • 允许调度程序以一定的策略暂停当前运行的进程
  • 保存好旧进程的上下文信息,分配处理器给新进程

进程调度算法:

先来先服务算法,

短进程优先调度算法,

调度程序优先选择就绪队列中估计运行时间最短的进程

不利于长作业进程的执行

高优先权优先调度算法,

进程附带优先权,调度程序优先选择权重高的进程

使得紧迫的任务可以优先处理

时间片轮转调度算法,

按先来先服务的原则排列就绪进程

每次从队列头部取出待执行进程,分配一个时间片执行

是相对公平的算法,但是不能保证及时响应用户


七、作业管理之死锁

 死锁:

死锁的产生:

  • 相互竞争资源

共享资源数量不满足各个进程需求

各个进程之间发生资源竞争导致死锁

  • 进程调度顺序不当

 

死锁产生的必要条件:

  • 互斥条件

进程对资源的使用是排他性的使用

某资源只能由一个进程,其他进程需要使用只能等待

  • 请求保持条件

进程至少保持一个资源,又提出新的资源请求

新资源被占用,请求被阻塞

被阻塞的资源不释放自己保持的资源

  • 不可剥夺条件

进程获得的资源在未完成使用前不能被剥夺

获得的资源只能由进程自身释放

  • 环路等待条件

 发生死锁时,必然存在进程-资源环形链

死锁的处理:

a.预防死锁的方法 

  • 摒弃请求保持条件

系统规定进程运行之前,一次性申请所需要的资源

进程在运行期间不会提出资源请求

  • 摒弃不可剥夺条件

当一个进程请求新的资源得不到满足时,必须释放占有的资源

进程运行时占有的资源可以被释放

  • 摒弃环路等待条件

可用资源线性排序,申请必须按照需要递增申请

先行申请不再形成环路

b.银行家算法

 

以上是关于计算机之操作系统概述进程管理作业管理的主要内容,如果未能解决你的问题,请参考以下文章

操作系统:存储管理概述

Centos进程作业管理与计划任务

第二阶段测试

?存储管理

存储管理

操作系统存储器管理