精华内容
下载资源
问答
  • 我的理解是,原语就是一段代码指令,只不过这段代码必须要运行在操作系统的核心态,不能运行在用户原语最重要的一个特性是不可被中断性,我们知道,很多程序是在运行中是可以被中断的,原语指令不可被中断,我们...

    在学习操作系统的时候遇到了“原语”的概念,这里简单的记录一下:
    我的理解是,原语就是一段代码指令,只不过这段代码必须要运行在操作系统的核心态,不能运行在用户态,原语最重要的一个特性是不可被中断性,我们知道,很多程序是在运行中是可以被中断的,原语指令不可被中断,我们可以试想,操作系统在进行重要的操作指令的时候,如果还没完成就被中断(停电除外,哈哈),肯定是会造成系统混乱的。

    那么为什么原语不可被中断呢,我的理解是在原语代码段的第一段代码,有个“关中断”的指令,禁止被中断,然后原语的最后一段代码,有个“开中断”的指令,启用可中断状态。所以我不知道是不是可以这样设定,就是任何一段代码或者程序,在前后都加上“关中断”和“开中断”指令,就使得这段代码成为“原语”,所以我不知道是不是可以理解为:没有绝对的原语,只有相对的原语。

    以下链接是百度百科对原语的解释:
    https://baike.baidu.com/item/%E5%8E%9F%E8%AF%AD/3794081

    以下链接是对原语的巧妙理解:
    https://blog.csdn.net/weixin_34327223/article/details/91706377

    PS:
    这是第200篇文章,虽然可能写的文章都不是很深的知识,但是还是很开心自己能够坚持下来,从去年2月开始记录已经快一年的时间了,最初都是关于python的知识,看了很多python各个方向的书,后来才发现最基本的东西没有学习到,于是开始看计算机的基础书籍,虽然不是很深入,但是确实感觉有不小的益处。
    人生不易,但只有充满希望和梦想才能不觉得乏累,希望在余下几十年的短暂时光中,能坚持学习,开心工作,不负自己,不负生活,最重要的是做自己,而不是做别人眼中的自己,加油!

    展开全文
  • 什么原语

    千次阅读 2016-11-27 23:20:13
    原语是操作系统的核心,它不是由进程而是由一组程序模块所组成,是操作系统的一个组成部分,它必须(一种机器状态,管下执行的程序可以执行特权和非特权两类指令,通常把它定义为操作系统的状态)下执行,并且...
    原语通常由若干条指令组成,用来实现某个特定的操作。通过一段不可分割的或不可中断的程序实现其功能。原语是操作系统的核心,它不是由进程而是由一组程序模块所组成,是操作系统的一个组成部分,它必须在管态(一种机器状态,管态下执行的程序可以执行特权和非特权两类指令,通常把它定义为操作系统的状态)下执行,并且常驻内存,而个别系统有一部分不在管态下运行。原语和广义指令都可以被进程所调用,两者的差别在于原语有不可中断性,它是通过在执行过程中关闭中断实现的,且一般由系统进程调用。许多广义指令的功能都可用目态(一种机器状态,通常把它作为用户程序执行时的状态)下运行的系统进程完成,而不一定要在管态下完成,例如文件的建立、打开、关闭、删除等广义指令,都是借助中断进入管态程序,然后转交给相应的进程,最终由进程实现其功能。引进原语的主要目的是为了实现进程的通信和控制。
    展开全文
  • 操作系统中有PV原语对进程同步和互斥进行管理,现在假如有三个进程A,B,C,而他们所需的资源系统只有一个,现在A进程运行,他会使用P原语使资源数减一成为0,这时B进程也申请所以他会被阻塞,这时的资源数为-1,...
  • 又叫内核,下可以访问计算机的一切资源,而下,也就是用户下,不可访问系统 资源. 问题四:什么是进程,有哪几部分组成? 进程是动态运行的程序,它是操作系统分配资源的基本...

    问题一:什么是原语?

                原语是一种特殊程序,是最接近于硬件的部分,它具有原子性,执行的时候必须要一气呵成,不可中断.

    问题二:中断的本质是什么?

               中断可以认为是处理器与外部实时监控的端口.

    问题三:什么是管态,什么是目态?

               管态又叫内核态,在该态下可以访问计算机的一切资源,而在目态下,也就是用户态下,不可访问系统资源.

    问题四:什么是进程,有哪几部分组成?

              进程是动态运行的程序,它是操作系统分配资源的基本单位,由进程控制块,程序段,数据段组成,进程除了创建态和终止态外,还有就绪态,阻塞态和运行态.

    问题五:什么是线程?

             线程是轻量级进程,引入线程后,线程则是系统资源分配的基本单位,一个进程可以拥有多个线程,进程销毁的同时线程也同时跟着消亡,但一个线程的销毁不影响其他线程的正常运行,同一个进程内的线程可以共享该进程的资源,线程分为用户级线程和内核级线程,只有内核级线程才是CPU调度的基本单位.

    问题六:进程通信有哪几种方式?

      1.共享区存储:俩进程访问共享区是互斥的.

      2.管道通信:保证读空再写,写满再读.

      3.消息传递:以格式化消息的方式发送消息体

    问题七:处理机调度分为哪几种?

      高级调度(作业调度):将磁盘的作业调入内存中并为其创建进程.

      中级调度:将阻塞的进程调出到磁盘上,将可以运行的进程重新调到内存中.

      低级调度(进程调度):按照某种策略,为就绪队列中的进程分配处理机.

    问题七:常见的调度算法?

      1.先来先服务

      2.短作业优先

      3.高响应比优先调度

      4.时间片轮转

      5.优先级

      6.多级反馈队列

    问题八:不同进程存在什么关系?

           进程同步和互斥,同步是指不同进程要执行同一任务时,协调彼此之间的执行顺序.互斥是指不同进程要访问同一临界区资源时需要互斥访问.     

    问题九:硬中断和软中断的区别?

          硬中断是硬件产生的,可以直接中断CPU.

          软中断是由正在运行的进程产生的,不可以直接中断CPU,是要通过内核去为正在运行的进程完成

    一些I/O请求 

    问题十:什么是临界区,什么是互斥量?

         临界区是访问临界资源的一段代码.

         互斥量:为了保护共享数据的完整性,使得再任一时刻,只有一个线程可以访问.

    问题十一:什么是死锁,死锁产生的必要条件?

         俩个或者俩个以上的进程在争夺同一个资源时陷入了一种僵局,在无外力推动下,将无法继续推进.

         产生死锁的四个必要条件:

               1.互斥

               2.请求和保持

              3.循环等待

              4.不可抢占

     

    展开全文
  • 进程的描述与控制 2

    2020-06-18 23:52:05
    操作系统内核中的原语 3.1操作系统内核 (放在内核中的 1.安全(用户不能随便修改)2 性能(运行频率高)) 哪里?常驻内存,紧靠硬件的软件层次 包括什么?与硬件紧密相关(中断处理) 设备驱动程序运行频率...

    三 进程控制

    进程控制:创建新进程、终止已完成的进程、 置于阻塞状态、状态转换
    如何实现?操作系统内核中的原语。	 
    
    3.1操作系统内核   (放在内核中的 1.安全(用户不能随便修改)2 性能(运行频率高))
    	在哪里?常驻内存,紧靠硬件的软件层次
    	包括什么?与硬件紧密相关(中断处理), 设备驱动程序运行频率较高 (时钟管理、进程调度)
    	作用:提高操作系统运行效率,保护这些软件防止遭到其他应用程序的破坏
    	对应 处理机的执行状态分为:系统态 、用户态
    		系统态:管态 、内核态,特权高, 能执行一切指令, 访问所有的寄存器和存储区
    		用户态:目态, 应用程序只能在此运行
    	操作系统内核两大功能:
    		1 支撑功能 (支持其他模块) 
    			1 中断处理
    			2 时钟管理:时间片轮转调度,时间片用完时产生中断信号
    			3 原语操作:(Primitive)由若干条指令完成一定功能的一个过程 不可分割,中间不可中断   
    		2 资源管理功能
    			1 进程管理:进程的调度、 分派、 创建、 撤销、 运行频率高;实现进程同步、 进程通信的原语被多种功能模块需要,
    			  放在内核中,提高操作系统的性能
    			2 存储器管理:运行频率高,地址转换机构、 内存分配与回 内存保护与对换
    			3 设备管理: 驱动程序、 缓冲管理、 设备分配和设备独立性
    			
    3.2进程的创建
    	1 进程的层次结构 父进程创建子进程,子进程继承父进程拥有的资源。进程不能拒绝子进程的继承权。
    		子进程撤销时,归还父进程分配的资源。撤销父进程时,同时撤销所有子进程。 父子等家族关系记录在PCB家族关系表。
    		Windows系统无进程层次结构,有控制关系(一个进程创建另外一个进程时,
    											创建进程有意个相当于令牌的句柄,来控制被创建的进程)
    	2 进程图 : 有向树
    	3 引起创建进程的事件
    		1 用户登录: 分时系统 用户登录成功建立进程插入就绪队列
    		2 作业调度: 多道批处理系统,调度作业时,装入内存 、创建进程、 插入就绪队列
    		3 提供服务: 满足用户提出的需求,比如创建打印文件进程
    		4 应用请求: 以上123都是系统内核为用户创建一个新进程,
    					而4 是用户进程自己创建新进程,新进程与创建进程并发运行一起完成任务
    	4 进程的创建过程
    		系统出现创建新进程的请求后,操作系统调用进程创建原语Creat 创建新进程
    		1 申请空白PCB, 申请唯一的数字标识符
    		2 为新进程分配资源: (物理和逻辑资源) 内存、 文件 I/O设备、 CPU时间。
    							操作系统/父进程提供。(提前告知所需资源, 如内存大小)
    		3 初始化PCB以下内容
    			1 标识信息:填写系统分配的标识符和父进程标识符
    			2 处理机状态信息:程序计数器指向程序的入口地址,栈指针指向栈顶
    			3 处理机控制信息 :进程的状态设置为就绪状态或静止就绪,先置为最低优先级(如用户未说明)
    			4 如就绪队列可接纳新进程,插入
    			
    3.3进程的终止
    	1 引起进程终止的事件
    		1 正常结束:运行完产生中断
    		2 异常:1 越界(存储区);2 保护(权限);3非法指令;4 特权指令(用户进程/内核);
    			    5 运行超时;6等待超时;7算术运算错误 ;8 I/O故障
    		3 外界干预:1用户/操作系统 如死锁时终止进程;2 父进程请求(子进程已完成任务);3 父进程终止
    	2 进程终止过程
    		操作系统调用终止原语
    		1 根据被终止进程的标识符,查找该进程的PCB 读进程状态
    		2 如果是执行状态,立即终止,改变调度标志为True (终止后重新调度)
    		3 终止子孙进程
    		4 资源还给父进程、系统
    		5 将被终止进程(PCB)移除所在队列/链表
    	
    3.4进程的阻塞与唤醒
    	1 引起进程阻塞和唤醒的事件
    		1 向系统请求系统资源 失败-->阻塞,其他进程释放资源-->唤醒
    		2 等待某操作的完成
    		3 新数据尚未到达
    		4 等待新任务到达 (网络的发送进程,  发送数据包)
    	2 进程阻塞过程
    		进程调用阻塞原语block将自己阻塞 (自身的主动行为)
    			1立即停止执行
    			2 PCB的现行状态改为阻塞,插入阻塞队列(根据不同事件)
    			3 保留处理机状态,调度程序重新调度,设置新进程的CPU的环境			
    	3 进程唤醒过程
    		如I/0操作已完成或等待的数据已经到达,则由这些相关进程调用唤醒原语wakeup 
    			1 从阻塞队列移出
    			2 PCB状态改为就绪,插入就绪队列
    	block和wakeup是一对原语,必须成对使用,不能阻塞后永远不被唤醒
    	
    3.5 进程的挂起与激活
    	1 进程的挂起过程
    	操作系统用挂起原语suspend挂起进程
    		1 检查被挂起时进程的状态
    			活动就绪-->静止就绪
    			活动阻塞-->静止阻塞
    		2 PCB复制到内存中,以便用户/父进程查看状态
    		3 如果程序正在执行,则调度程序重新调度(执行--挂起-->静止就绪--激活-->活动就绪--调度-->执行)
    	2 进程的激活过程
    	操作系统用激活原语active激活进程
    		1 将进程从外存调入内存,检查状态
    			静止就绪-->活动就绪
    			静止阻塞-->活动阻塞
    		2 如果是抢占调度,当进程由静止就绪被激活插入就绪队列时,与当前进程优先级比较,高则剥夺,低则不重新调度。
    

    总结

    本节主要讲操作系统内核和进程控制
    操作系统那些功能放在内核中?两个评判标准
    1.安全 系统直接对硬件的操作 用户不能直接操作
    2 性能 频繁调用,如果不放在内核中而在用户态中,每次调用都要申请权限审批性能极低
    而进程控制就是内核中的原语实现的(不可中断执行的一段程序)
    进程控制全程围绕: 运行周期始末(创建 终止)资源(阻塞 唤醒)外界介入(挂起 激活) PCB(各状态记录)

    展开全文
  • 微内核体系结构和Windows

    千次阅读 2011-06-07 10:28:00
    Q:什么是微内核?A:微内核结构由一个非常...例如,进程的输入/输出锁定服务可以由运行在微核之外的一个服务组件来提供。这些非常模块化的用户服务用于完成操作系统中比较高级的操作,这样的设计使内核中最核心的部
  • 操作系统笔记

    2021-01-18 22:00:14
    程序运行时,其状态不断地动态地变化,如当前处于目太还是管,下一条要执行的指令位置是什么等等。操作系统将程序运行时的一组动态信息汇聚一起,称为程序状态字(Program Status Word,PSW) 发现中断并产生...

空空如也

空空如也

1 2
收藏数 34
精华内容 13
关键字:

原语运行在什么态