精华内容
下载资源
问答
  • 原语是一段用机器指令编写的完成特定功能的程序,执行过程中不允许中断。 BaiDu 解析 操作系统用语范畴(primitive or atomic action) 是由若干多机器指令构成的完成某种特定功能的一段程序,具有不可分割性.即...

    原语

    内核或微核提供核外调用的过程或函数称为原语(primitive)。

    原语是一段用机器指令编写的完成特定功能的程序,在执行过程中不允许中断。

    BaiDu 解析

    操作系统用语范畴(primitive or atomic action) 是由若干多机器指令构成的完成某种特定功能的一段程序,具有不可分割性.即原语的执行必须是连续的,在执行过程中不允许被中断。不同层次之间对话的语言称为原语,即不同层之间通过原语来实现信息交换。

    从这个解析可以看到,实际上原语是用于实现某个特定操作的一组指令,在这组指令集的执行期间不允许发生中断直到完全实现要实现的某个特定的操作为止。

    之前我们提到过系统调用(广义指令),还记得那个图吗?系统的进程要完成某个内核程序(特殊动作)操作通过请求系统调用(接口)发出陷入指令后引起中断,系统由用户态切换到内核态后执行系统调用的功能最后返回用户态继续执行,完成整个动作。在这个过程当中,可以说整个动作的完成是在内核态和用户态的两个层面完成的。而原语则不同,原语作为操作系统的核心,他本身就是操作系统的一个部分,因此他执行的层面肯定在内核态而不是用户态,他常驻内存(只有个别系统有一小部分不在内核态运行)。

    因此,引起使用广义指令的功能操作都可用目态(一种机器状态,通常把它作为用户程序执行时的状态)下运行的系统进程完成,而最终整个动作的完成不一定要在管态下完成(微内核中涉及操作系统管理工作需要陷入内核态,但是功能具体的实现可以放在用户态)。例如文件的建立、打开、关闭、删除等广义指令,都是借助中断进入管态程序,然后转交给相应的进程,最终由进程实现其功能。 

    原语则不同,原语具有不可中断性,之前我们介绍过关中断的概念,实际上原语在执行操作时就是在关中断的情况下运行的,即原语执行的过程中不可能有其他的中断操作干扰或阻止他完成这一系列动作。引入原语的主要目的是实现引进程的通信和控制。从他的类型我们也可以看得出:

    1⃣️请求(Req)型原语,用于高层向低层请求某种业务;

    2⃣️证实(Cfm)型原语,用于提供业务的层证实某个动作已经完成;

    3⃣️指示(Ind)型原语,用于提供业务的层向高层报告一个与特定业务相关的动作;

    4⃣️四响应(Res)型原语,用于应答,表示来自高层的指示原语已收到。

    可以看出,这些请求服务/证实完成/报告动作/应答收到都是用来实现进程间通信的,通信的目的也是为了便于控制进程的进展。

    原子操作

    在多进程(线程)的操作系统中不能被其它进程(线程)打断的操作就叫原子操作,文件的原子操作是指操作文件时的不能被打断的操作。当某次原子操作不能完成的时候,必须回到操作之前的状态,即原子操作不可拆分,要么全部完成/要么一点也没完成。 

    如何理解原子操作和原语中的“原”字?

    我们来看这句话:原子是化学反应中最小的微粒,因此原子不可再分。

    实际上这句话它的前半句正确,化学反应最小的微粒是原子。但原子内部有其他结构(从物理层面上),比如原子核/电子。原子核又有中子和质子,中子在失去某个微粒以后可以变成质子,再划分的话就到夸克了。

    因此,我们说原子操作是因为原子是不可分割的显然不合适。实际上他应该理解为分子是作为保持物质化学性质的基本微粒,而分子是由原子构成的,因此说原子不可分割显然是从化学层面来判定的,即原子作为化学反应不可再分的基本微粒,原子在化学反应中不可分割体现在计算机中的原子操作就是原子操作不可分割。

    原语特点:

    1⃣️处于操作系统的最底层,最接近硬件。

    2⃣️原语程序的运行具有原子性,其动作必须一气呵成(出于系统安全性和便于管理)

    3⃣️原语程序运行时间较短,且调用频繁。

    展开全文
  • 用户和内核

    2020-02-13 23:32:16
    加锁为什么慢:有些同步原语是操作系统的内核对象,调用该原语会带来昂贵的上下文切换(用户切换到内核)代价; 自旋锁的介绍:先循环N次,期间如果拿到锁则不用进内核了,没拿到才进内核去等待;例子: ...

    加锁为什么慢:有些同步原语是操作系统的内核对象,调用该原语会带来昂贵的上下文切换(用户态切换到内核态)代价;

    自旋锁的介绍:先循环N次,期间如果拿到锁则不用进内核态了,没拿到才进内核态去等待;例子: CriticalSection可以设成自旋,也可设成非自旋;

     

    用户态和内核态介绍

    为什么要有用户态和内核态: 由于需要限制不同的程序之间的访问能力, 防止他们获取别的程序的内存数据, 或者获取外围设备的数据, 并发送到网络, CPU划分出两个权限等级 -- 用户态和内核态。

    Linux进程的4GB地址空间,3G-4G部分大家是共享的,是内核态的地址空间,这里存放在整个内核的代码和所有的内核模块,以及内核所维护的数据。write,send等系统调用会调用内核中的代码来完成操作,这时必须切换到Ring0,然后进入3GB-4GB中的内核地址空间去执行这些代码完成操作。这样,用户态的程序就不能随意操作内核地址空间,具有一定的安全保护作用。

    1)用户态切换到内核态的3种方式

    a. 系统调用:系统调用的机制其核心还是使用了操作系统为用户特别开放的一个中断来实现,例如Linux的int 80h中断。

    b. 异常:当CPU在执行运行在用户态下的程序时,发生了某些事先不可知的异常,这时会触发由当前运行进程切换到处理此异常的内核相关程序中,也就转到了内核态,比如缺页异常

    c. 外围设备的中断:外围设备完成用户请求的操作后,会向CPU发出相应的中断信号,这时CPU会暂停执行下一条即将要执行的指令转而去执行与中断信号对应的处理程序,如果先前执行的指令是用户态下的程序,那么这个转换的过程自然也就发生了由用户态到内核态的切换。比如硬盘读写操作完成,系统会切换到硬盘读写的中断处理程序中执行后续操作等。

    2)具体的切换操作

    [1] 从当前进程的描述符中提取其内核栈的ss0及esp0信息。

    [2] 使用ss0和esp0指向的内核栈将当前进程的cs,eip,eflags,ss,esp信息保存起来,这个过程也完成了由用户栈到内核栈的切换过程,同时保存了被暂停执行的程序的下一条指令。

    [3] 将先前由中断向量检索得到的中断处理程序的cs,eip信息装入相应的寄存器,开始执行中断处理程序,这时就转到了内核态的程序执行了。

    展开全文
  • 原语

    千次阅读 2019-04-26 14:54:10
    原语 属于 操作系统 或 计算机网络用语 范畴 原语是操作系统的核心,内核或微核提供核外调用...它不是进程而是由一组程序模块所组成,是操作系统的一个组成部分,它必须(一种机器状态,管下执行的程序可...

    原语

    属于 操作系统计算机网络用语 范畴
    原语是操作系统的核心,内核或微核提供核外调用的过程或函数称为原语(primitive)。
    由若干条指令组成,来完成一定功能的过程,执行必须过程连续,不允许被中断
    重点 - - 原子语句,不可分割,执行不可中断(要么全部执行,要么都不执行)

    它不是进程而是由一组程序模块所组成,是操作系统的一个组成部分,它必须在管态(一种机器状态,管态下执行的程序可以执行特权和非特权两类指令,通常把它定义为操作系统的状态)下执行,并且常驻内存,而个别系统有一部分不在管态下运行

    操作系统用于范畴

    类型

    • 请求(Req)型原语,用于高层向低层请求某种业务;
    • 证实(Cfm)型原语,用于提供业务的层证实某个动作已经完成;
    • 指示(Ind)型原语,用于提供业务的层向高层报告一个与特定业务相关的动作;
    • 响应(Res)型原语,用于应答,表示来自高层的指示原语已收到。
    展开全文
  • 我的理解是,原语就是一段代码指令,只不过这段代码必须要运行在操作系统的核心态,不能运行在用户原语最重要的一个特性是不可被中断性,我们知道,很多程序是在运行中是可以被中断的,原语指令不可被中断,我们...

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

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

    以下链接是百度百科对原语的解释:
    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各个方向的书,后来才发现最基本的东西没有学习到,于是开始看计算机的基础书籍,虽然不是很深入,但是确实感觉有不小的益处。
    人生不易,但只有充满希望和梦想才能不觉得乏累,希望在余下几十年的短暂时光中,能坚持学习,开心工作,不负自己,不负生活,最重要的是做自己,而不是做别人眼中的自己,加油!

    展开全文
  • 更新PCB中的信息(修改进程状态标志,将运行环境保存到PCB,从PCB恢复运行环境) 所有进程原语,一定会修改进程状态标志。 剥夺当前运行进程的CPU使用权,必然需要保存其运行环境。 某进程开始运行前必然要恢复期...
  • 关键字:进程的特性、进程的七种状态:运行态 就绪态 等待态 新建态 终止态 就绪挂起态 等待挂起态、PCB、进程控制块、进程上下文、三种进程状态的切换、进程要素。
  • 原语详解

    千次阅读 2018-10-31 12:59:11
    原语(原子语言,不可分割,不可中断)是...即原语的执行必须是连续的,执行过程中不允许被中断。 分类 计算机网络中也有“原语”一词,它与操作系统的“原语”概念不同。服务原语是指协议中的下层协议通过接...
  • 什么原语

    千次阅读 2016-11-27 23:20:13
    原语是操作系统的核心,它不是由进程而是由一组程序模块所组成,是操作系统的一个组成部分,它必须(一种机器状态,管下执行的程序可以执行特权和非特权两类指令,通常把它定义为操作系统的状态)下执行,并且...
  • p原语和v原语

    千次阅读 2014-08-13 17:05:31
    为阻塞原语,负责把当前进程由运行状态转换为阻塞状态,直到另外一个进程唤醒它。 操作为:申请一个空闲资源(把信号量减1),若成功,则退出;若失败,则该进程被阻塞; V原语:V是荷兰语...
  • 操作系统用户切换到内核:中断是唯一途径 内核到和心态只许一个特权指令 系统调用: 由操作系统实现提供的所有系统调用所构成的集合即程序接口或应用编程接口(Application Programming Interface,API)...原语
  • 原语是一段用机器指令编写的完成特定功能的程序,执行过程中不允许中断。 BaiDu 解析 Introduction 操作系统用语范畴。 primitive or atomic action 是由若干多机器指令构成的完成某种特定功能的...
  • 进程简介 并发和并行并发:一个时间段中多个程序都启动运行在用一个处理机中并行:两个进程分别由不同的CPU管理执行,两个进程不抢占CPU的资源,且可以同时运行,叫做并行区别在于是否同时多进程的优点各个进程有...
  • 进程状态 导言 在上篇说到,进程是程序的一次执行。这个执行过程中,有时进程正在被CPU处理,有时又...运行态 进程拥有了CPU资源和其他系统资源。(比如打印机资源,当该进程拥有这资源,打印机才能为其服务) ...
  • 原语 原语操作 原子操作

    千次阅读 2012-01-17 17:07:36
    原语是一段用机器指令编写的完成特定功能的程序,执行过程中不允许中断。 BaiDu 解析 Introduction 操作系统用语范畴。 primitive or atomic action 是由若干多机器指令构成的完成某种特定功能的一段程序...
  • 原语(操作系统)

    千次阅读 2017-07-28 10:02:22
    一句话总结:个人理解成...原语是操作系统的核心,它不是由进程而是由一组程序模块所组成,是操作系统的一个组成部分,它必须(一种机器状态,管下执行的程序可以执行特权和非特权两类指令,通常把它定义为操作
  • 进程间同步与互斥:P、V原语操作

    千次阅读 2019-06-16 21:44:31
    1. 名词解释 多个进程并发执行时,进程间必然存在共享资源和相互合作的问题 同步:用户多个进程相互协作,共同完成任务,是进程间的直接制约问题 ...操作系统中实现时一般作为一个整数变量,这种信号...
  • 来源:SegmentFault 思否社区作者:byte进程我们编写的代码只是一个存储硬盘的静态文件,通过编译后就会生成二进制可执行文件,当我们运行这个可执行文件后,它会被装载到内存中,接着 CPU 会执行程序中的每一条...
  • 操作系统-进程控制原语

    千次阅读 2020-02-02 15:34:26
    为了实现进程控制,操作系统内核中,有一组程序专门用于完成对进程的控制,这些原语至少需要包括创建新进程原语,阻塞进程原语,唤醒进程原语,终止进程原语,系统服务对用户开放,即用户可以通过相应的接口来使用...
  • PV操作(原语)及相关概念以及常见疑问

    千次阅读 多人点赞 2017-07-18 23:47:27
    前面:三模型中进程分为就绪、运行和阻塞三个工作状态。三种状态某些条件下可以转换,三者之间的转换关系如下:进程三个状态之间的转换就是靠PV操作来控制的。PV操作(PV原语)实质就是一个都对临界资源进行...
  • 1、 创建原语:创建一个就绪状态的进程,使进程...3、 阻塞原语:使进程从运行状态变迁为阻塞状态。 4、 唤醒原语:使进程从阻塞状态变迁为就绪状态。 转载于:https://www.cnblogs.com/luo841997665/p/4665589.html...
  • 【操作系统】原语

    千次阅读 2020-04-09 19:45:29
    简单论述原语的概念
  • 创建原语 撤销原语 挂起原语 激活原语 阻塞原语 唤醒原语 进程调度原语 1.何时调用阻塞原语? 当正在运行的进程需要等待某一事 件而发生运行受阻时,它通过中断请求系统服务。 系统按照进程的需求进行适当处理后,...
  • 原语以及PV操作

    千次阅读 2014-05-13 10:55:06
    原语是操作系统的核心,它不是由进程而是由一组程序模块所组成,是操作系统的一个组成部分,它必须(一种机器状态,管下执行的程序可以执行特权和非特权两类指令,通常把它定义为操作系统的状态)下执行,并且...
  • 《网络工程师》 Part1 操作系统

    千次阅读 2016-04-08 10:12:47
    不少操作系统中还增加了两种基本状态:新建、终止。 3、线程:SMP系统中,操作系统还提供了线程机制。 线程是比进程更小的能独立运行的基本单位 , 它是处理器分 配的最小单位 。 进程是资源...
  • 操作系统之内核和用户及相关概念操作系统之内核和用户一、操作系统结构:二、微内核操作系统三、内核和用户用户和内核的转换四、常见的内核常见总结:相关概念:操作系统的运行机制中断和异常的...
  • 进程控制(原语)——随堂笔记

    千次阅读 2018-09-27 20:48:05
    1.处理器的状态(CPU状态) (1)CPU执行系统时的所处状态称为系统(内核)。 执行用户程序所处的状态称为用户(目)。...原语(原子操作) 定义:有若干条指令,指令执行时不能被打断,一...
  • 操作系统同步原语

    2018-09-16 15:51:59
    条件 一般的操作系统中,不同的进程可能会分享一块公共的存储区域,例如内存或者是硬盘上的文件,这些进程都允许这些区域上进行读写。操作系统有一些职责,来协调这些使用公共区域的进程之间以正确的方式...
  • java 原语

    2013-07-18 13:20:28
    原语的执行必须是连续的,执行过程中不允许被中断 不同层次之间对话的语言称为原语,即不同层之间通过原语来实现信息交换。 编辑本段分类 计算机网络中也有“原语”一词,它与操作系统的“原语”...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,297
精华内容 3,718
热门标签
关键字:

原语运行在什么态