网站首页 > 技术文章 正文
程序的顺序执行特点:顺序性,封闭性、可再现性.
程序的并发执行特点:间断性、失去封闭性、不可再现性.
进程的概念:
1 进程是允许并发的程序在某个数据集合上的运行过程
2 进程是正文段、用户数据段和进程控制块共同组成的执行环境。
正文段存放被执行的机器指令,用户数据段存放进程在执行时要操作的用户数据,进程控制块存放程序的执行环境,操作系统通过这些描述和管理进程。
进程代表了程序的执行过程,是一个动态的实体,它随着指令的执行而不断变化,在某个特定时刻的进程内容被称为进程映像。
进程的特征:并发性、独立性、异步性、动态性、结构特征。.
进程和程序的区别:
1. 程序是静态的,进程是动态的
2. 程序是永久的,进程是暂时存在的
3. 程序和进程存在的实体不同。程序是指令的集合,进程是由正文段、用户数据段、进程控制块组成
进程和程序的联系:进程是程序的一次执行,进程总是对应至少一个特定的程序,执行程序的代码一个程序可以对应多个进程。
进程控制块:进程实体存在的标志是操作系统管理进程所使用的数据结构一进程控制块进程控制块是进程实体的一部分,是操作系统中最重要的数据结构,进程控制块中记录了操作系统所需要的,用户描述进程情况以及控制进程运行所需要的全部信息,进程控制块是操作系统感知进程存在的唯一标志。
进程控制块中的信息:进程标识符信息、处理机状态信息、进程调度信息、进程控制信息.
进程的状态:就绪态、执行态、阻塞态
进程的组织:链接方式、索引方式、进程队列
进程的控制:进程的创建-一阻塞-一唤醒-一终止
创建的条件: 1 )用户登录 2 )作业调度 3 )提供服务 4 )应用请求
阻塞的条件: 1 )请求系统服务 2 )数据尚未到达 3 )无工作可做 4 )启动某种操作
.操作系统内核
操作系统内核是计算机硬件的第一次扩充,内核执行操作系统与硬件密切相关,执行频率高的模块,常驻内存。
操作系统内核的功能: 1 )支撑功能 2 )资源管理
功能支撑功能包括:中断处理、时钟管理和原语操作,原语操作是一组在执行过程中不能中断的操作
资源管理功能包括:进程管理、存储器管理和设备管理
中断:中断是改变计算机执行指令顺序的一种事件,这种事件与 CpU 芯片内外部硬件电路产生的电信号相对应。
中断的目的:能有效提高 CpU 的利用率,改善系统性能,支持系统的异步性。引用中断机制前,采用的是反复轮询的方式,来检测本次 VO 是否结束。
中断类型 1 )同步中断(内部中断或异常) 2 )异步中断(外部中断)
同步中断是当指令执行时由 CpU 控制单元产生的,如除法出错,调试、溢出、浮点出错等I
异步中断是由其他硬件设备随机产生的,可分为外部可屏蔽中断( VO 设备产生)和外部不可屏蔽中断(紧急事件产生,硬件故障等)
引起中断的原因:1)人为设置中断 2 )程序性事故 3 ) I/O 设备 4 )硬件故障 5 )外部事件
单重中断的处理过程: CpU 在反复执行指令的过程中,每执行完一条执行,都会检查是否有外部中断的到来,如果有中断信号,则转中断处理。
.时钟管理
计算机的很多活动都是由定时测量来控制的,
两种定时测量: 1)保存当前的系统时间和日期 2 )维持定时器,操作系统依靠时钟硬件和时钟驱动程序来完成上述两种测量。
时钟硬件(可编程间隔定时器)的功能:按照指定的时间间隔产生时钟中断,测量逝去的时间,并触发与时间有关的操作。
时钟软件(时钟驱动程序)功能:
1 )维护日期和时间
2 )递减当前进程在一个时间片内的剩余执行时间,并检查是否为 O ,防止进程运行超时
3 )对 CpU 的使用情况记账
4 )递减报苦计数器
操作系统内核可以利用时钟机制防止一个进程垄断 CpU 或者其他资源。
两个时钟源:实时时钟( RTc / CMOS )和 OS 时钟.
.系统调用
系统调用是一群事先定义好的模块,他们提供一条管道让应用程序或用户能由此得到核心程序的服务。系统调用是系统程序与用户程序之间的接口
系统调用与一般函数调用的区别:
1 )系统调用运行在系统态,一般函数运行在用户态
2 )系统调用与一般函数的执行过程不同,系统调用中断时,由系统找相应的系统调用子程序
3 )系统调用要进行 【 中断处理」,比一般函数多了一些系统开销.
进程同步:操作系统同步机制的主要任务就是保证在多任务共享系统资源的情况下,程序执行能得到正确的结果。同时,同步机制需要解决进程执行的协调问题。
进程同步的概念:在多任务系统中,进程一般存在资源共享关系和相互合作的关系。
进程同步有两个任务:
1 )对具有共享资源关系的进程,保证以互斥的方式访问临界资源。临界资源是必须以互斥方式访问的共享资源。
2 )对具有相互合作关系的进程,要保证相互合作的诸进程协调执行。
同步机制应遵循的准则: 1 )空闲让进 2 )忙则等待 3 )有限等待 4 )让权等待.
信号量机制( wait signal)
对不同的共享资源设置称为信号量的变量,用信号量的取值标识资源的使用状况,或某种事件的发生。
一、整型信号量机制:用整型变量值来标记资源的使用情况。若整型量> 0 ,说明有可用资源二若整型量<= 0,说明资源忙,进程必须等待。对于一次只允许一个进程访问的临界资源,可定义一个用户互斥的整型信号量,并将其初始化为 1 ,整型信号量的值只能通过两个特定的原子操作 wait 和 Signal 来改变。
整型信号量的互斥:初始变量为 1
整型信号量的协调:初始变量为 0
总结:
1 )整型信号量的值只能由 wait 和 signal 操作改变
2 ) wait 和 Signal 的操作都是原子操作,即在这两个操作中对信号量的访问是不能被中断的
3 )原子操作可以通过关中断来实现
4 )整型信号量机制的实例: Iinux 中的自旋锁 SpinLOCk
5 )不同的资源对应不同的信号量,并不是系统中所有资源都用同一个信号量标识
二、记录型信号量机制:
代码:
三、AND型信号量机制:
基本思想是将进程在整个运行过程中所需要的所有资源一次性的全部分配给进程,待进程使用完之后再一起释放。只要还有一个资源不能分配给该进程,其他所有可能为之分配的资源也不分配给它。
管程:管程是描述共享资源的数据结构和在数据结构上的共享资源的管理程序的集合
进程通信:进程之间的高级通信机制分为:共享存储器系统、消息传递系统、管道通信系统。
线程:在操作系统中,进程是进行资源分配和独立执行的基本单位,为了进一步提高程序的并发性,减少系统开销,在操作系统中引入了线程的概念。
线程是进程中的一个实体,是被系统独立调度和分派的基本单位。
线程在运行中存在间断性,也有就绪、执行、阻塞三种形态。
猜你喜欢
- 2024-10-29 RT-Thread快速入门-互斥量 互斥方案用什么指标
- 2024-10-29 Datenlord |内存顺序问题(二) dataloader 内存
- 2024-10-29 Java多线程操作系统(生产者、消费者问题)
- 2024-10-29 高可用架构-容错机制 容错技术可以提高系统的可靠性
- 2024-10-29 计算机操作系统笔记第二章进程管理中篇
- 2024-10-29 六大进程通信机制总结 进程通信有哪几种基本类型?
- 2024-10-29 Java系统过载保护机制之信号量的控制
- 2024-10-29 铂金04:通风报信-为何说信号量是线程间的同步良器
- 2024-10-29 记一次阿里面试题:都有哪些进程间通信方式?麻烦你不要再背了
- 2024-10-29 计算机操作系统基础笔记 《计算机操作系统》
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)