处理器管理——操作系统概述与进程管理

计算机操作系统发展史

第一阶段,硬件昂贵,人力便宜,一个人写代码,手工装入与装出纸带,一次一个作业
第二阶段,硬件昂贵,人力便宜,一个人写代码,一个人手工装入装出纸带,一次多个作业,即单批道处理但是慢的输入输出还是由CPU控制,于是产生了通道和中断技术,通道即能让CPU与输入输出操作并行,中断即能让刚才做输入输出的作业完成后,使CPU收到中断信号停止现在工作,重新来处理完成输入输出后的作业硬件不断发展,为了充分利用,出现多批道处理
第三个阶段,硬件便宜一些,人力开始昂贵,便出现了分时系统,于是做到了人工人员人手一机,
第四个阶段,硬件很便宜了,于是有了个人操作系统
第五个阶段,线代操作系统,规模大,早已进入互联网

操作系统分类

批处理操作系统 分时操作系统 实时操作系统 嵌入式操作系统 分布式操作系统 个人操作系统
作业成批的输入计算机 多个用户同时享用一台计算机 规定的严格时间内完成事情的处理 能嵌入 大量计算机通过网络连接在一起 单用户多任务
火箭发射,核电站控制 MP3 ,手机,机器人 私人电脑呀

引入

  1. 为什么使用多道程序(multi-programming)?
    提高计算机的各种资源使用效率
  2. 如何实现多道?
    引进进程(process)

进程是什么?

1.程序的代码
2.程序的数据
3.CPU寄存器
4.堆(heap):保存进程运行时动态分配的内存空间
5.栈(stack):保存运行的上下文信息;函数调用时,保存函数的形参和局部变量
6.进程所占用的一组系统资源,打开的文件
资源角度:一组相关的资源构成资源环境 以上6点
运行角度:一个正在运行的程序(动态)

进程的特性

1.并发性
2.动态性:通用寄存器的数据变换;IP寄存器的指令变换;堆的空间的释放与分配;栈的出栈与进栈等等,都在变化;
3.独立性:拥有自己的一套逻辑寄存器(就是一个个内存变量)
进程运行逻辑寄存器的值装入物理寄存器中(物理寄存器只有一套),暂时不运行物理寄存器值保存入逻辑寄存器
在这里插入图片描述

程序是什么?

代码和数据(静态)

进程的创建与终止

进程创建 进程的终止
系统初始化 正常退出
正在运行的程序需要去创建进程 错误退出
用户发出请求,创建进程 致命错误
初始化批处理作业,创建进程 被其他进程终止

为什么引入线程?

进程可以并发执行,但进程的独立性让进程之间很难实现数据共享,进程通信,因此提出线程实体来代替进程

什么是线程?

线程:代码在这个资源环境的一条执行流程
进程=线程+资源平台

一个进程可以有多个线程
线程可以并发
相同的资源平台,共享相同的地址空间

共享的资源:
管理方面的大部分 如ID优先级
状态存储方面 代码,数据,堆等(一级资源,可以线程间共享,只有一份)
独享资源:栈和逻辑寄存器,N个进程N份

进程与线程的比较

进程 线程
线程出来之后 资源的分配单位 CPU的调度单位
资源情况 拥有完整的资源平台 共享一部分,独享一部分
三种基本状态 都有 都有
创建时间 短(通常快100倍)
终止时间
切换时间 短(同一进程里的线程切换)
使用资源通信开销 经由内核,开销多 不经由内核,开销少

线程必须依附于进程,而且线程独占资源少,称为轻量级的进程

线程实现

用户线程:不依赖操作系统的内核,由一组线程库函数完成线程的创建,终止,和管理
内核线程:由操作系统内核完成线程的创建,终止,和管理

进程通信

进程关系

独立与关联
关联需要通信
在这里插入图片描述

低级通信:进程之间只传递少量的控制信息,一般来说只有一个字节或者一个整形变量 ,信号量与信号

高级通信:任意数量的数据

          1. 共享内存:操作系统管理的

          2.消息传递

          3.管道

进程调度

三个状态

运行:占有CPU
就绪:万事俱备,只欠东风
阻塞:等待,等待输入输出操作,与其他进程存在同步等

运行到阻塞:正在运行时,需要输入数据

就绪到运行:CPU调度

运行到就绪:CPU调度

阻塞到就绪:等待的事情完成了,条件成熟

在这里插入图片描述

进程死锁

在这里插入图片描述

参考资料:谌卫军 王浩娟《操作系统》

猜你喜欢

转载自blog.csdn.net/qq_42146775/article/details/84797532