大家好,这节课我们来介绍一下信号量,那么信号量啊,它是操作系统当中重要的一部分,信号量呢一般是用来进行资源的管理和任务的同步。那么在 film artist 当中啊,信号量分了好几个,一个是二指信号量, 还有一个技术型信号量,以及互刺型信号量,还有地规信号量。 那不同的信号量呢,它的应用场景呢,是不一样的啊,有些应用场合呢,它是可以啊,不同的信号量可以相互换着使用啊。我们今天呢就来了解一下这些信号量,本节课程呢,主要介绍五点。首先 来介绍一下啊,这几种信号量的一些概念啊,让大家能够了解啊,然后我们再从软件的层面来介绍一下这些信号量常用的一些 api 函数,在我们使用 fuits 啊,信号量的时候啊,我们对这些 api 函数一定要熟悉。 最后呢就是我们这个实验的硬件啊,包括我们的软件这一部分的内容,下面呢我们就来看一下我们的信号量。 信号量呢,它是一种任务,可以实现任务之间的一个通信的机制,可以实现任务之间同步或者临界资源的一个互次访问, 那么常用于协助一组相互竞争的任务来访问临界资源啊, 这是信号量,怎么理解呢?比如说我们这里有个资源,这是任务 a, 这是任务 b, 那我们可以通过信号量来让这个,当我们的任务 a 在访问这个资源的时候, 那我们可以通过信号量啊,让 b 呢是不能访问他的,因为 a 已经在占用这个资源了, 只有当我们这个任务 a 释放了这个资源的时候,那我们的呃 b 呢,才能进行这个资源的一个访问,那么这里呢就可以通过信号量来实现啊,实现 在多任务系统当中啊,各个任务之间的同步或者复制互斥呢,实现临界资源的一个保护信号量功能呢,可以为用户呢提供这些方面的 一个支持啊,刚才我们已经说了啊,我们这个资源假设只能在同一时刻,只能由一个任务来访问的时候,可以通过信号量当 a 访问,那 b 就不能再访问了, 那么抽象的来讲啊,信号量其实是一个非非负的一个整数啊,所以呢,他获取他的一个任务啊啊,都会将这个整数呢减一啊减一, 那当这个整数值为零的时候啊,为零的时候,那么所有试图获取他的任务呢,都会处于主色的一个状态 啊,通常呢一个信号量的基数值啊,用于对这个有效的一个资源数啊,表示剩下可被占用的互次资源数,那么这个啊 啊值这个值的一个含义呢?当这个值为零的时候,表示没有积累下来的信号量啊,那么有可能呢,有在这个信号量上呢,主色的一个任务,当这个值不为零,也就正值的时候, 那表示有一个或多个信号量啊,释放信号量操作,这是我们信号量的一个概念, 那接下来我们就来看一下我们的一个具体的,像我们信号量前面说了有二指信号量、技术信号量、护士信号量和地规信号量,那我们来分别介绍一下。首先我们来看一下二指信号量, 二指信号量呢,既可以用于临界资源的访问,也可以用于同步功能。那么 二值信号量的和互次信号量啊,他们非常相似啊,但是呢,也有一些细微的一些区别啊,互次量呢,有优先级继承的一个机制,而二值信号量呢,他没有这个机制。 那这时的二次信号量呢,更偏向于啊,应用于同步的一个功能啊,也就是任务和任务之间的一个同步,或者是任务和中中断的一个同步。 而沪次信号量呢,更偏向于临界资源的一个访问啊,因为它带有继承的一个 优先及继承的一个机制。那我们今天这节课呢,重点是介绍二字信号量和技术型信号量。那对于互字信号量呢,在 我们后面的章节也会有专门的一个介绍。首先我们来看一下二字信号量,二字信号量当它用于同步的时候,那么信号量呢,在创建之后啊,是被置为空的啊,被置为空的。当我们的任务一呢, 获取信号量的时候呢,因为现在已经没有信号量,所以啊,他会阻塞,进入阻塞状态。任务一,那么任务二在某种条件下发生之后啊,释放了这个信号量, 释放了信号量,那么这个信号量就会有一个信号量了,于是呢,我们的任务 e r, 它会获得信号量,由呃主色状态进入就就绪状态。 如果说我们就绪列表当中,任务一他的优先级数最高的,那么他会立即切换任务,执行任务一啊,执行任务一, 从而呢,达到了这个任务二和任务一他的一个同步的一个过程,因为任务二一释放,那么任务一马上就跟着启动啊,所以这是个同步的一个过程啊, 那么同样的在中断符函数里面释放信号量的时候呢,任务一依然会得到信号量,实现任务和中断的一个同步。 大家还记得我们经常说的中断,在中断里面我们要实现快进快出,在裸机开发中,我们经常是在中断中做一个标记,然后呢再推 技术的时候,主循环里面,我们不断的轮寻查找这个标记是否被置位,那这个呢,就是类似于我们在使用信号量进行同步啊的一个过程, 当我们这个标记发生了啊,那么我们就可以通过查询这个标记来做其他的一个事情,这就是一个同步的一个过程。 那么在我们的 few rts 当中啊,我们就用到了信号量来进行同步啊,任务与任务之间的同步,或者是任务与中断之间的一个同步,那么这个呢,可以大大的提高我们的一个 cpu 的一个运行的一个效率。 还有一点要注意的就是,我们可以将这个二值信号量啊,看作是只有一个消息的对列, 因为这个对列呢,只能为空啊,或者是满这两种状态啊,要不就是啊有有信号量啊,要不就是空,零也就一和零的这两个关系,那么这样一来,一和零那就相当于只有两个值,所以也叫二值信号量, 这也是它的一个名字的一个由来啊,那我们既然把这个二字信号量当做一个 消息对列啊,这个消息对列里面只有一个啊消息啊,那我们在运用的时候呢,只要知道这个对列当中是否有消息就可以了,而不需要关注这个消息里面的内容,因为我们只要知道有消息就一,没有消息就零, 这是我们这个二指信号量啊,二指信号量的应用呢,也是非常多的,大家也要知道一下啊。
粉丝1220获赞5400

好,大家好,这节课呢,我们来讲解一下虎牙 ts 的一个信号量,信号量呢,他一般我们就给他分为三类, 暗值信号量,技术型信号量和复测信号量。好,这节课呢,我们先给大家讲解一下这个暗值信号量,我们先来看一下这个信号量的概念,什么是信号量?信号量呢是二十世纪六十年代中期 这个人发明的,使用信号量最初的目的呢,是为了给共享资源啊,建了一个标志, 该标志表示该共享资源被占用的情况。这样呢,当一个任务在访问共享资源前呢,就可以先对这个标志进行查询,从而在了解资源被占用情况之后呢,再来确定 自己的行为比举一个比较简单的例子,就是说在两个任务同时调用这个普通的函数来打印制服的时候,就如果不加这个销量的保护啊,就他就可能 会打印出来,乱吗,就这个打一半去打印另另一个任务里面的去了。好好,我们呢先来看一下这个暗值信号量 属于 rtws 呢,提供二次信号量和技术型信号量。还有呢,就复测信号量,一般就这三种啊, 这种按子信号量可以理解成技术销量的一种特殊形式,既出手帕为仅有一个资源可以使用啊,只不过这个虎牙六 s 呢,对两种都提供了这个 api 函数啊,设置不同的 厨师纸呢。嗯,像这个阿提 x 油考试图和油考试呀 是仅提供一个信号量功能,设置不同的初始值呢,就可以分别实现按值信号量和技术信号量啊,这是啊,虎牙 t s 和这个其他操作系统的一个区别啊,当然虎牙 t s 使用技术型信号量的 也能够实验实实现同样的效果。另外,为什么叫暗执信号亮呢?因为信号亮资源被获取了, 这个信号量值就是零信号量资源被释放,信号量值就是一把,这种只有零和一两种情况的信号量呢,称之为暗值信号量。好,这个暗值信号量通常用于复次访问或同步。暗示信号量和复制信号 非常类似,但是还是有一些细微的差别好,复制信号量拥有优先级继承机制,暗示暗暗示信号量的没有优先级继承机制啊,所以说这个大家要注意一下哈。暗示信号量呢, 更适用于同步。 f 字型信号量呢,适用于简单的复制访问啊,复制信号量呢,他会继承这个任务的这个优先级啊,这个呢,在后面我们会讲到他涉及到一个优先级的一个反转 好和队列一样的信号量。 api 还说允许设置一个主摄时间,主摄时间呢,是当任务获取信号量的时候呢,由于信号量无效才导致任务进入主色状态。之前在讲对练的时候,我们讲,嗯, 他会有一个死等啊,这个和那个眼泪是我们可以设置这个主色的一个时间, 如果多个任务同时主色在同一个信号量的话,那么优先级高的那个任务呢,就优先获得信号量,这样当信号量有效的时候呢,高优先级的任务就会解除主色状态。 好,我们来看一下这个一个过程啊,这是这下面呢,就是眼睛设了这个案子信号量的一个过程。好,任务呢,通过函数来, 通过这个函数啊来获取信号量,但是此时呢这个信号量是无效的,这个任务啊就进行注射状态,然后呢我们在这个中段里面啊释放这个信号量。好,中段中段上, 因此信号量呢,这这个信号量呢就变为有效的,然后呢任务就来获取这个信号量,这时呢这个信号量已经有效了啊,这个任务获取到这个信号量呢,就开始 解除主摄状态,执行相应的处理过程。好,我们来看一下这个暗值信号量的创建的几个 a p 函数。好,这一般就有这三个函数 好,这个呢是老版本的这个伏压电视用的,这个呢我们就不再讲了啊,这个是这个呢是动态,这个函数呢就是动态创 创建案子信号亮,新版的复压电脑使用此函数创建案子信号量,然后呢这个就是静态创建案子信号量,和任务一样,他有动态创建和静态创建,静态创建呢,这个内存呢是我们自己分配的。动态的时候呢,这个 啊对战的内存啊,是这个系统分配的啊,一般我们就使用这个动态的,让系统来给我们分配啊,这是他的函数原型,他没有反位置啊,这个参数啊,没有参数好,返回值,返回值呢,就是这个创建按值销量的一个巨柄,如果返回充 好反创建成功了,就会返回这个创建的居民啊,这里面有一个内存,我们来看一下,所以说我们在创建这 创建这个信号量的时候啊,可以看,可以判断一下有没有创业成功啊,在我们使用的时候呢,也会优先来进行这个判断,就判断这个信号量有没有创业成功啊。接下来呢,我们看一下这个释放信号量啊,这个通 对列一样的释放信号量也分为任务级和中断级,还有不管暗执信号量,技术型信号量还是复制型信号量,他们都使用这两个函数, 嗯,释放信号量,地规,嗯,地规复制信号量呢,它有专用的释放函数啊,就按子信号量和技术型信号量都用这两个函数,他俩是共用的啊,我们来看一下这个,呃,释放啊 信号量的这个函数啊,此函数用于释放二次信号量、技术型信号量和副词信号量 啊,地规复制信号的地规复制信号量啊,他有专门的示范函数啊,嗯,他的参数这个就是要释放的一个据点,释放成功呢,他会返回这个 pd pass, pd pass 其实就相当于和 ptc 是一样的,释放项链 成功。然后呢,如果这个返回这个呢,他就是释放信号量失败啊,这个呢是从中段里面来获取啊, 啊,函数用于在中段中释放信号量,此函数只能用来释放二次信号量和技术型信号量,绝对不能用在中段服务函数中释放复制信号量啊, 这个大家一定要注意一下,不能在中段函数中释放复制信号量,就这个函数复制信号量不能在中段里调这个函数来释放好,这是呢,他的一个参数啊,其实和对列,嗯,参数是一样的,这个呢就是一个句柄,这个呢就是 啊,我们定义的一个变量来标记是否要进行任务切换啊,标记退出车函数以后是否进行 自动切换啊?这个值呢是由函数来设置的,我们只用定一个变量来接收就行啊,如释放限量量成功呢,就返回,噼里啪啦啊,释放信号量失败了,他就返回,这个好,不能用于在中断中释放复制项链啊, 这个前面我们讲过,刚才这个强调这一点了哈,这里就不再讲了啊,然后呢就是这个获取项目了,获取项目量呢,是这个 就是这两个函数,就是任务级获取项链函数,是这个啊,然后呢这个加个 fm ns 二,就是中段级或者 取项链函数。我们来看这几个这两个函数的一个用法啊,此函数用于获取案子信号量、基础型信号量和复制型信号量啊,我们来看一下他这个参数啊,一个呢就是这个获取信号量的 一个锯柄,再有一个呢就是这个主色时间,主色时间呢,我们也可以让它撕的,我们也可以设置一个时间,也可以设置撕的啊,这个和前面我们讲对列它是一样的。 好,这个呢就是我们从中段函数中来获取信号量啊,用于获取二次信号量和技术型信号量,但不能用此函数呢来获取复制信号量啊, 这个大家要注意一下,他参数也是一样的啊,只是他多了这个。嗯,标记任务退出是否切换呢?这个东西啊,这个呢就是一个区别,这是他的函数原型,有两个参数, 返回霹雳 pass 或霹雳 boss 啊,这就是呢我们这个爱值信号量的一些使用。好,我们接下来呢来看一个内存啊,这个内存呢就是说我们创建一个定时器, 在定制器中呢,我们来释放这个案子性能量,然后在任务中呢来获取信号量,然后呢从窗口啊来打印这个相关的一些信息。好,我们 接着来往下看一下这个函数他是如何使用好,首先呢我们创建了两个任务,这两个任务呢一个是提醒系统的任务运行,他就是从窗口一直来输出这个数据啊,另一个呢就是来获取这个定时器啊 释放的这个消耗量啊,我们来看一下啊,这个呢我们在这个地方获取,刚才说的我们这个呢是刨的麦克斯底类是,就是说死等啊, 如果获取成功,如果是获取的出来成功这个信号量的话呢,我们就从窗口打印出来获取这个信号量,否则的话呢我们就 失败的话呢我们就进行一个延时啊,这个呢就是从窗口这个 ctmix 呢就是来提醒这个系统啊在运行好,然后呢提打印呢这个 ctm 软件啊,这个呢就是我们创建的这个定时器啊, 这个呢是添加定时器中断啊,这个呢是设置这个定时时间啊, 我们这个呢是设置的是一秒啊。好,我们接下来来看一下定时器中断里面这有一个函数啊, 好在这个地方呢大家需要注意一下啊, 这个呢就是说我们这个每十秒,嗯,刚才设置的是一秒镜头呢,我们在这里定一个变量,加了十次,每十秒释放一次信号量啊,在这个地方啊我们定了一个变量来标记这个任务是否需要, 是否需要进行任务切换啊,但是在这个地方呢我们要注意一下,我们在写其他像 s t m 三的时候呢,都会在这个地方加一个判断语句啊, 就判断他是否是不是是,是不是一,如果是一的话呢,我们就调上这个函数,但是在这个, 嗯,这个 esp 三二里面呢,我们不需要这样调用,我们直接调上这个款式就可以了。啊,好,我们把这个程序啊给他下进去看一下,看一下这个效果。 这个函数呢在有的系统呢,他也是直接把这个参数给他传到这个里面代餐的。啊,这里面呢是不代餐的啊, 这个大家需要注意一下啊。 好,我们可以看到这个提示系统在运行,他应该是十秒释放一下这个信号量。啊, 好,这个已经打印出获取出来信号量。啊,这个呢我们这个任务就已经完成了。好,谢谢大家,这个课呢就讲到这里。

接下来我们展开来看一下 pv 操作的概念。我们在进程当中啊,有一些呢特殊的模型。首先看到护翅模型。 什么是护翅模型呢?它类似于啊千军万马过独木桥。那我们呢,像我们霸王渡江的时候,哎,我们有呢千军万马,但是只有一个独木桥。独木桥有什么特点啊?一次只能通过一个人,而大家最终都要通过这个独木桥吧。 在整个全局上来看,大家是共享的这个独木桥。但是呢,从单一的一个时刻来看,同一时刻只允许一个士兵来使用独木桥,所以这些士兵之前之间啊有互斥的关系。这个独木桥呢,我们就叫做临界资源。 冥界资源,他指的就是呢进城之间需要用互试方式来访问,不能同时访问同一时刻,只能让一个进城访问,就叫做互吃。那这个资源全智商来看,他家呢,又是共享的。这就是呢临界资源, 常见的我们访问磁盘磁带,还有呢像缓冲区也是典型的临界资源。那我们对于进程当中啊,访问临界资源的内段代码,注意是代码,称之为临界区。那我们的临界区不是一个区域,而是一段代码。 这种因为资源而产生的限制,我们叫做呢间接制约关系。这些互斥的进程,相互之间是间接制约的, 有间接制约呢,就有直接制约关系。那下面呢,我们再看到同步模型。什么是同步模型呢?那比如说呢,我们现在哎,你和你的对象约好一起去看电影,那么我们约好的是八点,你十分钟就走到了,而你对象需要呢,哎,半个小时。 那请问到达电影院门口,你是直接去看电影呢?还是等你对象一起去看电影呢?哎,很显然应该一起去吧,否则的话,你的对象基本上也就没对象。 所以呢,在这里涉及到的同步啊,主要呢指的是在进程与进程之间,他的速度有差异。那速度有差异的话,在一定情况下,就比较快的进程而言,他是需要停下来等待的吧,等待其他进程到达之后,再开始下一步 进程。由先后顺序产生的制约叫做呢直接制约关系。这两个模型是是不是非此即彼啊,并不是他们之间啊,并不是相互排斥的关系啊。我们平常看到的进程调度可以互斥,可以有同步,也可以两种模型交叉形成。那这是关于同步互斥以及临界资源的概念。 那我们啊,在进程调度的过程当中,进程他本身是具有并发的特性。进程与进程之间并发的过程当中,我们如何来限定他们同时访问零件资源。哎,如何来限定多个进程之间形成 协调的同步模型呢?那我们在这个过程当中,会由 pv 操作来控制程序的。哎,进程的并发过程。后面呢,我们会展开给大家介绍 pv 操作。 pv 操作具体是什么样的过程呢?我们经常讲到的 pv 啊,会说到呢 ps vs。 那这里的 pv, 它是一个呢操作系统的原语。 所谓原语就是呢原子性质的一段呢,描述或者说一段程序语言。那在这个原语的过程当中呢,要么都做,要么都不做。 一操作,它指的是枷锁的过程。 v 操作呢,一般是个解锁的过程,对于 p 操作而言,它包含两个步骤, s 等于 s, 减一, s 小于零的判断。那所谓的言语就是这两个步骤要么都做,要么呢都 不做,不会呢,做一半就不管了。这里呢注意一下。那对于 pv 操作而言,我们会针对 ps vs 来进行 pv 操作。 s 是什么呢? s 就是信号量。所谓的信号量啊,它是一种特殊的变量,它在我们啊进程代码当中呢,是一个全局变量。 当信号量哎进行记录的时候,信号量它可以表示资源的数量。比如说呢,我们对打印机进行 pv 操作的控制,打印机它的台数呢是三台,那我们在设定信号量的时候,它的初始取值啊,一般呢就是等于三的。 当信号量为负数的时候,他还可以呢表示排队的进程数。我们在后面呢可以看到。首先我们来想一想,假如啊,我们有一个库存清单,哎,涉及到的一些资源,把它记录下来。 比如说 a 资源,他的初始值有一百个,那我们设定信号量的时候, s 就等于一百吧。我们在取 a 资源的时候,比如说呢,大家在办公室当中,在公司当中申请一个笔记本啊, 那申请的时候我们需要提交申请吧,那你提交是之后啊,我们资源的剩余清单就会变成九十九。所以申请资源在资源数相应的表示情况下,可以呢通过减一来表示申请资源, s 等于 s, 减一它是表示申请锁定资源,那我们呢锁定之后别人就不能用了,也也不会存在说同时去申请了吧,已经减掉了。一, 那申请之后我们要看一看资源够不够吧,不够的话就不能来申请吧。那这个过程会检查资源是否足够。怎么检查看一看够不够啊?什么样的情况下够呢?我们减一之后等于零,说明初始有一个资源可用吧。 那注意我们是先做减法再比较的。所以只有小于零的情况下才表示资源不足。 s 等于零的时候,资源仍然是足够的。这个地方注意 区别一下。因为我们先做了减一再做的比较。也就是说我们先申请资源,总数已经呢,在我们申请的基础上减去了一。比如说 b 资源,现在呢,总数只有一个,那我们申请之后,提交申请 psb 之后,信号量会从哎 一减去一变成了零。那正常来讲,一个资源我们是够用的吧。所以当他等于零的时候,仍然可以正常执行。只有等于小于零的时候,只有他小于零的时候,说明资源不够。资源不够怎么办? 我们没有提到 cpu 吧,非 cpu 资源不足,他会进入阻塞队列。那进入阻塞队列之后,只有呢资源足够的时候才会呢,进入就绪队列。这里呢,要注意一下啊。那我们这是批操作申请并锁定资源。同时呢,还能检查资源是否足够。不够就阻塞够的话呢, 就执行后面的其他代码。这个矩形的部分都是 ps 的过程。那我们再来看微操作。 v 操作是个资源释放的过程,什么样的情况下资源释放的呢?哎,我们用完了 b 资源,就把资源还回去了。还回去之后,这个资料清单上面资源数是不是要增加了?所以第一步释放资源, s 等于 s 加一,它是一个释放解锁资源的过程。 那释放之后,我们的微操作还有一个动作,他需要呢检查有没有人排队,有人排队的话,要通知别人。 那我们啊,在 s 小于零的情况下,相当于在我们的库管员那里做了一个登记。那你有登记的话,哎,当资源还回来,库管员呢,就会告诉你,哎,我们这个地方资源已经回来了,你过来拿吧。那这个过程所做的操作呢?也是微操作,先 释放资源,再检查是否有人排队。那有人排队的话,就通知并唤醒我们的阻塞进程。 没有人排队就不用通知了吧,直接往下走。有人排队的话,我们有一个通知的动作。那我们在这里首先第一点注意这个地方是小于等于零。 我们说啊,如果 s, b 刚刚减一变成了零,八,又来了一个新的人员要申请 s b, 他会变成负一,那资源不够了,他会堵塞。所谓的负一,意味着有一个进程在排队。 那在这个过程当中,一旦资源释放,我们先对 s 呢进行加一,他变成了零。哎,这种情况下,先加一再比较说明,等于零的时候就有人排队了。那这里判断的是 s 是否小于等于零。来真 别有没有人排队,等于零的情况下也会有人排队,这里呢,注意区分。其次,我们从主色队列来通知一个进程的话,大家想一想,这个进程会进入哪一个状态呢? 应该是进入就绪态。也就是说,当前进程没有执行完的时候,这个唤醒的进程并不会立即执行,他会等到哎,我们微操作的这个进程啊,全部完成之后呢,他才会进入哎我们的运行态。那我们给大家讲到的首先,信号量,他可以表示资源数, 当他小于零的时候,可以呢表示排队的进程数。在 p 操作当中,两个动作一个申请,一个呢检查资源是否足够。注意这个地方检查是用小雨零来进行检查的,小雨零才阻塞。其次,微操作先释放,再通知,释放的过程当中, 注意这个地方是小于等于零来进行判断的。这两个地方呢,相似,但是呢,不要搞混淆了自己啊。可以试着呢以一些信号量来推一推。这就是呢信号量与 pv 操作的一些呢过程。 下面我们来看一下对于我们的 pv 操作的基本概念啊。在我们软件设计师考试当中,具体是如何来考察的。 首先下面这道题, pv 操作是操作系统提供的具有特定功能的言语,那么利用 pv 操作可以做什么呢?哎,我们说 pv 操作是个加锁解锁的过程,所以他可能会发生死锁。 a 选项错误, b 选项实现资源的互斥使用。那我们呢利用 p v 操作可以控制资源的互斥访问,所以 b 选项是正确的。 c 选项提高资源利用率。对于资源来讲,如果给它加锁,我们呢会降低资源的利用率,所以 c 选项是错误的。 d 选项推迟进程使用共享资源的时间。那我们对于共享资源而言的话,他们是可以共享使用的。需不需要用 pv 操作呢?不需要,我们是对临界资源来进行控制访问的。所以 d 选项也是错误的。这道题啊,考察的是 pv 操作,他的一具体的应用有什么样的特点? 下面这道题。假设系统中有 n 个进程来共享三台打印三台扫描仪,并采用 pv 操作来实现进程同步与互吃。若系统信号量 s 当前值为负一,那么进程 p 一、 p 二分别执行的一次 p、 s 操作信号量值应该是多少? 首先我们说信号量 s 表示的是什么?资源数,所以它的初值应该是等于三的,表示三台扫描仪。那我们现在呢?当前值信号量等于负一, 说明什么?有一个进程在排队小于零的时候,可以表示排队的进程数。而目前 p 一又执行了一次 ps a, p 一执行 ps 信号量变成多少啊?信号量变成了负二, s 等于 s 减一,那 p 二又执行了一次 ps 信号量变成多少?这是一个全局变量,同样呢,会再次的减一,变成了负三。 所以我们在这里所谓的 pv 操作,在执行两次诶, p 操作之后,它的取值变成了负三,应该选择 b 选项。它所考察的是信号量以及 p 操作对信号量所做的减法过程。 那这里给大家介绍到了 pp 操作的基本概念,了解护士同步模型临界资源的定义。信号量是什么东西?大于零可以表示资源数,小于零可以表示欠着的资源数,也可以呢,表示进程的排队数。 p 操作的过程,微操作的过程又是什么样的一个过程呢?可以自己再去呢,试着推导一下。

这节课呢,我们重点介绍一下二值信号量和技术信号量啊这两个,那首先我们来看一下我们的二值信号量它的一个应用场景,那根据我们前面介绍的二值信号量它相关的一些概念 啊,大家应该也能理解他的一个用途,他主要是应用于任务与任务之间的一个同步,或者是任务和中断之间的一个同步的一个重要手段。 那么使用信号量啊,最多的一般就是二指信号量和护士信号量啊,护士信号量呢,我们在后面会专门介绍,那么为什么要叫二指信号量呢?前前面我们也给大家说了,因为信号量资源被获取了,这个信号值呢就是零 信号量资源呢被释放,那么信号量的值呢,就是一把这种只有零和 一的这两种情况的信号量呢,我们称之为二值信号量啊,这也是他的名字的由来。在多任务系统当中啊,我们经常会使用这个二值信号量, 比如我们的任务啊,需要等待一个标记的时候,那么这个任务啊,可以在轮巡中查询这个标记有没有被滋味啊,但是这样子做的话,就会很消耗这个 cpo 资源, 并且呢妨碍其他的任务的一个执行。更好的做法就是任务的大部分时间呢处于主射状态,因为他要查询这个标记的话, 那我们让他进入主射状态啊,这样呢 cpu 自愿就可以腾出来给其他的任务去运行,直到某个事件发生之后,那么这个任务呢才被唤醒去 继续执行,那么这里呢就可以使用二值信号量来实现这种同步啊,当我们任务取信号量的时候啊,因为啊,这个时候呢,尚未发生这个特定的事件,信号量呢,是为零的啊,为零的 这个时候他取信号量,因为信号量没有,所以呢,他会进入主色状态,比如说我们的任务 a, 他要取这个信号量,因为信号量现在没有了,所以他会进入了主色状态啊,主色状态进入主色状态之后,那么 cpu 资源呢,就会空闲啊,给其他的任务去执行啊,去执行, 当我们的事件条件满足之后,也就是说我们的这个信号量,或者在我们的中断,或者是任务里面释放了这个信号量,那么就会告诉这个任务啊,这个 事件已经发生了,那么任务获取到此时呢,销量就会唯一,此时呢他就会获取这个信号量,进而呢啊又会进入就绪态,当如果他的优先级数最高的时候,他就会进执行这个任务啊,执行这个任务, 这样子呢,这个 cba 的效率啊,就可以大大的提高,而而且呢,这个实时响应也是最快的啊,也是最快的, 这是我们二职销量常用的啊,常见的一个应用场景,也就是任务的一个同步,或者是任务和中段之间的一个同步。 那我们再来看一下二指信号量的一个运作的一个机制。那么在创建信号量的时候啊,系统会为这个创建的信号量对象呢,分配一个内存,并把这个可用的信 量初始化为用户自定义的一个个数啊,对于我们的二指信号量来说,它最大可用的信号量个数呢为一啊,只有零跟一嘛,对不对?二指信号量获取, 任何任何这个任务啊,都可以从这个啊创建的 二值信号量资源当中呢,获取一个二值信号量获取成功之后呢,他会返回正确,否则啊,任务会根据用户指定的主色时间来等待其他任务或者是中断来释放这个信号量, 在等待这个呃中段或者是任务这段时间啊,他的系统呢就会将这个任务呢变为 主色肽任务,就会将被挂到这个信号量的主色等待列表当中。那我们来看一下 下面这有一个图,这次呢在二十信号量无效的时候啊,假如此时呢有任务获取到这个信号量, 那么这个任务呢就会进入到主色状态啊,因为现在的二十信号量是无效的啊,无效的话,那么我们的任务想要获取这个二十信号量的话,他因为信号量无效,所以会进入了主色状态, 那么当我们某一个任务或者中断啊,释放了这个信号量的时候呢,那信号量只是就变成有效了,有效的话,那我们任务之前是一直等待获取这个信号量,现在已经等到了,所以呢他会立刻执行这个任务, 让这个任务呢啊变成了一个就绪台,如果这个任务的优先级是最高的,那么他就会执行这个任务的里面的内容, 这是我们二指信号量的一个运作机制,其实很好理解啊,就是对这个信号量的一个操作,一个是 释放,还有一个是获取啊,当我们的任务要获取这个信号量的时候,要根据信号量里面有没有值,有值的话那么就会进行一个获取, 如果说这个信号量无效,那么就一直在这里等待,那等待的是一个主色时间呢?可以通由我们自己来定义,这是二值信号量的一个运作机制。

这一讲,我们介绍正弦量有四个方面的内容,首先介绍正弦量的三要素,然后介绍同频率正弦量的比较,再介绍同频率正弦量的运算,最后呢,介绍周期信号的平均值和有效值。 首先来看正弦量的三要素,正弦量就是随时间按正弦规律变化的量,那么我们可以用口三音函数或者三音函数来表示,在这里呢,我们都用口三音函数来表示,就是他的一个表达式。 那么在这里边呢,有三个主要的要素,一个是这个 f m, 它是正弦量的最大值,叫做是正辅。还有一部分呢,这是它的角度,在 我们这里呢,称为是向位,那么向位随时间的变化率叫做角频率 omega。 再有一个是 t 等于零时的向位,那么 t 等于零时呢,这个向位就只有蒲扇了,把它叫做出向位,也叫做出向角啊,那么在我们这门课里边,又可以简称为出向, 注意它的曲直呢,在正负派之间就是正负一百八十度,那么它有什么意义呢?实际上呢,它就说明了 正弦量初始值的大小,因为通常呢,我们是以零作为计时起点,所以呢, t 等于零时的值,也就是正弦的初始值,是由这个出项角来反应的。 另外呢,除了角频率之外,还有一个量表示他的变化规律的,就是变化的快慢,那就是频率 f 啊,频率 f, 角频率和频率是什么关系呢?从这个关系式我们可以看出来,就是这个正弦量 转一个周期是二派个弧度,那么他用的时间是 t, 所以二派除上 t, 这是角频率,他的单位是每秒多少弧度,而频率呢是什么呢?时间的倒数啊,我们用 f 来表示,那么时间倒数秒分之一,他的单位呢就是赫兹, f 叫做频率,所以呢,那么 omega 和 f 人的关键是 omega 等于二派 f。 现在通过介绍我们就说政府频率和出项就是正显量的三要素,为什么这么说呢?因为我们知道了这三个量就可以写出它的表达式, 同时呢也可以画出它的波形。下面我们再来讲一下这个波形和出项的关系。 如果出向大于零,那么这个最大值呢,是发生在原点的左边的,因为实际上他有好多个最大值,就是我们选呢最靠近纵轴的这个最大值,那么就是这一个,他在这个原点的左端, 如果补扇小于零,这时呢最大值就最靠近纵轴的最大值发生在原点的右端啊。 据此呢,你就可以正确的画出正线量的波形,就根据表达式可以画出他的波形,那么反过来也是一样,如果给了你波形,你也可以写出他的表达式,根据最大值在原点右端还是左端,可以确定这个蒲扇的 啊,正和负。下面我们介绍同频率正弦量的比较,首先强调同频率,就是它的变化步骤是一致的,这样才进行比较,如果不同频率就啊没必要进行比较了。好,现在我们给出两个正弦量, f 一 t 和 f 二 t, 频率一样都是欧米伽,那么辅值呢,分别是 f 一 m, f 二 m 出现,分别是蒲扇一和蒲扇二, 那么它有这么几种关系。首先我们要根据一个参数叫向位差来进行判断,那么向位差的定义呢?是向位之差,由于是频率一样,所以呢这个向位差也就是他们的出向差。 那么如果这个相位差大于零,我们说 f f 一呢?超前 f 二,这时呢波形是什么样子呢?这样子的,蓝色的线代表 f 一,红色的线代表 f 二, 所谓超前呢,是指的呢, f 一优先于 f 二,先到达某一个点,现在我们比如就拿正的最大值来说,他先到达正的最大值, 注意这地方呢,容易出错。可能看着说这个红色的线不在这边吗?那么蓝线在那,是不是红色线掏钱呢?不是,我们是从计时起点开始,就从零开始,谁先到达挣的最大值,谁就掏钱。 那么反过来,如果范小于零,我们就说 f 一呢,之后 f 二,那么这时这个波形的关系就这样子了。看蓝色线仍然是 f 一,红色线是 f 二,那么它是之后与 f 二到达正的最大值的, 那么 five 有可能等于零,那么这时呢,我们叫做二边是同向位的,就是它的编号布点完全是一致的,同时到达正的最大值或者负的最大值,或者某一个点,图形呢,就是这样子的,它的波形, 那么也有可能这个 five 等于正负派,这种情况我们称它呢为反向啊。为什么是反向呢?我们看看波形就这样子的,就是当 f 一是正的时候呢, f 二是负的,那反过来,如果 f 一是负的呢? f 二是正的,就它俩正好相反,这叫反向。 那么再一种情况呢,是这个向位差等于正负二分之派,也就是正负九十度,这时的波形呢,是这样子的 啊,他们呢相差九十度啊,这是种情况,我们称为是正交,正交,这就是根据他的啊,相位差可以确定同频率的两个正行量,他的相互关系之后,超前或者正交,或者同向反向。 下面我们再来说一下同频率正弦量的运算。首先我们给出一个结论,就是同频率正弦量的代数和 或者说代数加,因为加呢,就是代数加,就代表了也有相减的减法的运算。微分积分,他的结果呢,仍然是同频率的正确量,这一点非常重要,就是频率不变, 变化的是什么呢?幅度和向位,只是幅度和向位发生了改变,我们具体来说一下,比如说给了一个正写量 ft, 那么对他求导 之后,根据数学的关系呢,是这样一个结果。那么我们比较可以看出来,频率没有改变,幅度变了,如果我们把它写成口算的形式,它的出项 或者相位也发生了改变啊,发生改变,这是关于同频率正响量的运算。那么我们就记住,做代数加微分积分之后,频率是不会发生改变的。 好,这是变成口三引之后。好,下面呢再来说一下周期信号的平均值和有效值。首先来说平均值, 平均值的定义就是这个信号在一个周期内的,先做积分,再取平均,就除上他的周期,这平均值的定义是,那么再来说有效值,这是一个很重要的概念。我们后边还会经常提到, 正限量本身是变化的,每一时刻的值在一个周期呢,都是不一样的。那么如果他通过一个元件,我们在怎样衡量他的对这个元件的效果呢?或者效能呢?我们就用一个有效值 来衡量,引入这么一个值是这样来定义的,与周期信号在一个周期内产生的热效用相同的值,流量的值就定义为这个周期信号的有效值。好,按照这个定义,我们可以写出这样一个等式来, 这里呢 f 就代表这么一个直流量,比如说它通过一个电阻元件,那么 iphone r 就是它的功率,再经过一个周期 t, 这就是在这一段时间内它的一个能量, 那么同样有这么一个正弦量,那么它呢也是经过电阻功率,就是 i 方 r 由 他是变化的,所以我们对他进行一个积分,在这个从零到替做积分,就是他在这一个周期内也是通过这个原件的一个能量,那么他俩相等,这样呢就得到了 这样一个周期信号给他热效用相等的值入量的值。 f 啊,这就是有效值的定义式,那么我们从这个定义式可以看出来,他是这个周信号先进行平方, 然后呢再积分取平均,最后呢再开方来得到的,所以呢,有时要把这有效值称为是方君根植 平方取平均在开方。那你跟着这外国教材上经常是这样来写的,我们后边给出了他的英文名称,下面我们要讨论一下对于政险周期变化的信号,他的有效值是多少。 好,我们先拿电压为例来说,按着刚才的定义式,我们进行积分,然后再开平方,这个过程我就不再讲了,最后呢,我们会得到这样一个结果,根号二分之 u m u m 是什么呢?是这个正线量的最大值, 那么也就近似等于零点七零七的 um, 也就是对按正线规律变化的这个信号来说,它的有效值是最大值的根号二分之一倍,或者说是近似的零点七零七倍, 那么对于电流同样也有这样一个关系,这就是我们讲的周信号平均值和有效值的定义,那么关键大家要掌握呢?正弦变化的信号,它的有效值和辅值的关系。

大家好,那么经过身边的一些朋友和学员的回忆啊, 呃,在二零二三年软件评测师考试的时候呢,在第一场选择题里面有这样一道题,不知道大家还记得没有,这个的话是考什么呀?考我们的操作系统里面有关于 pv 操作信号量的一道题目,大家来看。 呃,具体的题干啊,以及选项的话已经记不得了,但是说大概的这个整体的框架是没有问题的,我给大家呢分析一下啊,根据学员的回忆,我分析一下, 那么有八个进程要使用什么呀?某资源,大家来看八个啊,这个的话整个过程是八个进程,采用 pv 操作,若系统最多允许两个进程同时使用这个资源, 则信号量 s 的取值范围是什么?这个的话在我们复习的时候已经讲过很多次了,历年真题的话也考过很多次了,大家还记得怎么去算吧。那么最多允许两个进程同时使用的话,那么他的最大值就是二,能明白吧?所以说他的范围的最大值是二, 那么最小值怎么去算?我们记得吗?就是说我们这个最大值减去我们这个进程的总数,这有他的最小数啊,这最小值,也就是说整个过程当中的话,所有进程同时剩下这个资源,那么二减去八,能明白吧?最终的话应该是什么呀?负六, 所以答案的话应该是负六到二,选项的话,可能有各种奇葩的,能明白吧,二八对吧,零六,一二等等,反正不管是 啊,选项怎么去表示,最终的话,你选的答案应该就是负六到二,能明白吧。那么有的学员会问二,我好理解啊,对不对?最多有两个,那么负六什么意思啊?为什么还有负数啊? 不要呃着急,我们第二问的话就已经可以解释这个问题了,他说若信号量当前的值是负四,则表示系统中有多少个正在等待该资源的进程。这个其实就已经回答了刚才的那个问题了,能明白吧? 既然是负四嘛,对不对?证明是什么呀?现在的资源不够用,而现在呢,有正在等待这个资源的进程,那么这个负四表示的就是有四个正在等待这个资源的进程,能明白吧?负几啊?就是有几个,所以这块的话,大家非 非常好判断了,能明白吧?如果信号量的值是正数啊,你比方说二,那证明现在资源数是有两个没有进城去用它, 如果现在的话,有很多个进程要使用这个资源,而资源最多给提供两个的话,那么他就会用负数,能明白吧?用负数来表示正在等待这个资源的进程啊。这块的话,可以类比一下停车场,你比方说 在我们停车场一,一般这有个大门,对不对?这块的话会有车位,能明白吧?所以相当于什么呀?现在的话,整个过程当中啊,有两个空闲的车位, 现在这个进程就相当于是各种汽车过来了,能明白吧?我要进来,那么进来之后的话,你想这个,呃,停车场最多只允许两个进程停车,能理解我的意思吧?啊,所以说他的最 大致就是二,那么如果现在呢,这个已经占了,这个已经占了,现在的话,还有四辆车啊,要进行停车,那么这个时候呢, 这个牌子上的信号亮,能明白吧?他就可以标识一下当前有多少个进程,对吧?要等待使用车位,多少个车位啊?那么才能让我们的这个车,那么整个过程当中,呃进行一个什么呀?使用呢? 那么他就是用了一个负数来表示,也就是说负四就有四辆车要使用我们这个车位啊,就是这个意思, 这些车比方说,哎,用完了走了,这就空出来了,他就可以进了,那么同样这个信号量一个值也会同样的进行改变,如果现在又来了个进程,能明白吧?要使用这个资源,这个信号量呢也会进行改变啊,就是这个意思,所以最终的话,这个答案第一问应该是负六到二,那么第二 问的话应该是四,所以我第一第一问里面说这个负六的话,就相当于八个进程同时过来了,所以有什么呀,六个要等待这个资源的进程了啊,这是他的极端情况,所以通过上面的分析的话,大家一定要把这类题啊,那么知道该怎么去入手,能明白吧? 像这种题的话,在今年绝对是送分题,本身上不算难,但是也希望大家呢把这种题呢它的本质给了解透,那么 以后比方说下一次遇到类似的题目了,大家一定要知道该如何下手进行分析。好的,那我今天呢就给大家分享这么多,大家也可以回忆一下今年这道题,两分,你是不是拿到手了? 长按视频下方的点赞给我,强烈推荐,快来试试吧!

今天我们说说模拟量信号啊,在控制系统当中啊,我们习惯把信号呢分为模拟量和数字量两种。模拟量信号呢,就是电压或者电流的扶直,随着时间而做连续变化的这样的信号。 而数字上信号呢,则是用零一等这个二进制来表示的。呃,这种数字化的信号。数字量信号是能够被我们控制器直接进行处理的。而模拟量信号呢,则需要通过 a、 d 变换来将它变成 数字上信号,交给我们的处理器进行处理。呃,在我们的控制系统当中啊,呃有大量的时间呢,都是在呃将模拟量信号进行数字化的处理。 而我们这些模拟量信号呢,这个呃也分为输入和输出这么两种啊。 作为输入来说呢,主要是讲我们呃周围的这个物理量信号,比如说温度,压力,液位,流量啊等,把这些信号呢转换成模拟量信号。这个呢,我们就称为传感器, 传感器往往输出的就是模拟量信号,而我们需要处理的就是把传感器过来的这个模拟量信号变成数字量信号啊,这样我们的这个处理器就知道啊,我们的温度和压力用数字表示是多少了啊。然后呢,通过我们的程序进行处理, 处理完了以后呢,还是数字量。而这个数字量呢,这个去控制我们的这个被控对象,被控设备往往呢是需要模拟量。这样呢,我们 就需要数字量变成模拟量,这个过程需要 d a 进行变换。变成模拟量信号以后,去控制我们的电动执行器,我们的电动阀门啊,这个包括我们的这个一些执行器,变频器啊等。 今天呢,这个我们就简单说一说这个模拟量啊,这个信号呢,分为几种?在它使用当中呢,我们需要注意的一些事项。 模拟量信号啊,有 i、 e、 c 的标准和我们的国标,国标 g、 b、 t、 三、三、六、九点一啊。它规定的是直流电流信号。 直流电流信号分为两种,一个是四到二十毫安,一个是零到二十毫安。其中四到二十毫安呢,是我们首选。 如果我们使用四到二毫安,那么零毫安就被保留为专门用于指示信号电路故障或者电源故障啊。 呃,标准对负载阻抗的要求啊,是当负载阻抗是零到三百欧的时候,这时候呢,能够正常工作啊。所以说我们使用电流信号的时候,我们选配他的负载就需要选配零到三百欧姆。 那么对电源的要求是二十伏到三十伏的直流啊。一般情况下,我们的电流传感器呢,电流型的传感器,我们使用的是二十四伏的直流电源, 四到二十毫安啊。呃,它使用的是两线传输啊。其中啊,这个 四毫安是什么呢?是我们传感器的工作电流啊。啊。所以说我们的测量电流呢,就是四毫安到二十毫安啊,上线选为二十毫安啊。我们如果后面给他配一个二百五十 o 或者五百 o 的一个负载, 那么很容易就给它转成一到五伏或者二到十伏的这种电压信号。我们就可以进行对这个电压信号进行 a、 d 变换。 呃,零到二十毫安呢,他是三线制的啊,零到二二十毫安是三线制,他增加了一根 电源线啊,但是呢,他的测量的范围呢,是二十毫安的范围啊。而我们四到二十毫安的一个电流呢, 测的范围呢,是十六毫安十六毫安。所以说呢,他这个分辨率提高了啊。换算呢,因为整数这种换算也比较简单。 呃,模拟量的第二类信号,就是直流的电压信号啊,国标是 g、 b、 t 三、三、六、九点二。它分为四种, 一个是正一伏到正伏,第二是零伏到正伏,第三个是零伏到正十伏,第四个是负十伏 到正式服啊。其中呢,零到五伏啊,他的兼容性是最好啊,因为我们很多这个 a、 d 变换的这种芯片呢,都是这个五伏的正五伏的供电啊。 呃,一到五伏啊,如果我们这个使用在一到五伏,那么在这个低电压的时候,我也 也就是我们值比较小的时候呢,这会相对来说他的准确度要高一些啊。而零到十伏呢,自然而然的电压的提高呢,他就提高了抗干扰能力啊。另外呢,更适合十二伏和二十四伏预测放大器的这种电压。 而负十伏到正十伏呢,自然而然它的抗干扰能力和分辨率也更好啊。而且呢,因为它这个有正负的这种区别,可以代表着不同的性质啊。比如我们变频器啊,可以利用这个正负电压来代表我们电机的不同转向。 呃,这是两种模拟量的信号啊,主要就是最常用的就是是我们这个传感器,我们的一个变动器来输出的啊。呃,说到传感器呢,呃,现在 的趋势啊,就是我们许多的传感器呢,是带有总线的啊,呃,也就是我们传感器把这些模拟量就现场已经给他变成这个数字乱七号,然后我们通过现场总线跟我们的主控器进行连接啊,这有很多这个这个优点啊。 呃,常用的这些种线啊。首先呢就是这个 mode bus 啊, mode bus, 它是个协议,它的物理层啊,一般情况下呢,就是这个四八五,它的传输距离比较远啊,应用的是现在是这个最为广泛成熟。另外呢,就是这个 profit bus 啊,它的物理层呢,也是这个四八五。 还有呢,就是看懂线啊,看懂线呢,他也是这个两线制啊,我们前面这两个也是两线啊。当然这个这个四八五呢,也有这个这个 呃,四线制的,常用的就是两线制啊,我们看图像是两线制啊,传输距离远啊,求测能力强啊。这个呃,抗干扰能力也比较强啊,我们前面已经这个介绍过啊。 另外这个相对来说比较新型的就是 skite 啊。这个呢,是这个由德国贝福公司研发的,它是高速啊,实时这个灵活啊,这样的一种。这个新的这么一种这个网络传输方式啊, a c 呢,有相应的它的标准啊。就是说我们在这个自动化控制系统当中,我们看到了很多总线型的这种 传感器变通器啊,我们要这个指导它的这个呃工作原理呃,另外这个说到传感器呢,还有些芯片级的一些走向 啊, p i 啊, iphone c 啊,这都是特别短的,适合于我们这个仪表内部使用的。呃,总线型传感器的优点吧。总结这么一点吧,就是一是它是网络传输,所以说布线比较少啊,而且传输距离比较长,它传输的是数字量啊。 第二呢,就是因为他这个模拟量啊,是在这个现场进行了转换啊,所以说在模拟这个环形上受干扰比较少, 所以说他的干扰能力,抗干扰能力是非常强的啊。另外呢,他因为这个比较分散的这个进行这个数模拟量到数字量的这些变换了啊,占用我们主机的资源比较少。 而且呢,这个软件编程简单啊,这个软件的这个配置呢,就也就非常灵活啊啊。关于这个模拟量信号,我们就介绍这么多啊。

这节我们来讲信号量。首先看信号量的工作原理, 信号量的工作原理是,当有一个进程要求使用某一共享内存中的数资源时,系统会首先判断该资源的信号量,也就是统计信号量的 统计可以访问该资源的单个数。如果系统判断出该资源信号量大于零,进程可以使用该资源,并且信号量要减一,当不再使用该资源时,信号量再加以方便其他用户使用资源时,资源时 系统对对其进行准确的判断。如果该资源的信号量等于零, 进程会进入休眠状态,等待该资源有人使用借宿信号量大于零时,这样进程就会被唤醒 对该资源进行访问。在一个进程间通信机制中,信号量由多个信号组成,进程通过一个信号及实现同步因子。通常讲信号量、信号量及一个信号量及 有与其相对应的结构,用于定义信号量极的地下。这个结构存储了信号量级的各种属性,其定义结构如下, 信号量集中包含 ipc 破没结构指针 sum 结构指针信号量个数最近一次使用 sumpop 函数的 时间,最后一次改变信号量第一时间 cm。 结构定义如下, 信号量值最后一次访问资源的进程 id, 等待可用资源出现的进程数,等待全部资源可别占用独占的进程数。 下面看信号量的新闻操作, 前面介绍了关于信号量工作原理和信号量的一些属性信息。可以知道信号量并不能实现多个进行阶段数据交换,只是起到一个时间锁的功能, 通过信号通过系统对信号链的检测,在通讯过程中了解该资源是否可以使用。接下来就可以对信号量的相关钓友 函数进行简单介绍。创建信号量函数 stmedet 在使用信号量控制进程同步时,需要首先创建一个信号量级 cmgtet, 实现了创建一个新的信号量级操作和打开一个已经存在的信号量级操作。 看函数的定义形式如下, 信号量见急信号量的见值,信号量的个数访问权限 新项链操作函数 cmop, 他的参数信号量及标识符信号量的操作行为 要操作的信号量。信号量极的控制函数 sum ctl 下面看信号量。使用信号量实现进程间的通信,下面看一个举例, 在粒子中创建信号量及模拟系统资源的分配,假设系统中总共有四个资源可以使用,每隔三秒钟就有一个资源会被占用。 创建一个新的进程,获取进程的兼职,下面创建信号量。 信号量的指的是四与架子在前面定义的四 下面的外耳循环语句。每隔三秒钟回收一个资源, 如果资源数已经小于零了,那这时候回收资源就会显示就会返回负一,进而有程序显示出错误,最后删除信号量 这段代码。每隔三秒钟能够回收一个资源。下面我们再建立一段代码,在这段下面的代码中,让他每 三秒钟检测一下信号量的值的个数,然后把它显出来。创建一个进程,获取进程的见值。创建信号量 获取信号量的值如果等于负一的话,让他显示出错,退出程序,如果信号量值大于一,显示还有多少个可用资源, 如果等于零了,显示没有可用资源,退出循环一句,也是每隔三秒钟让他执行一次。下面我们来运行程序, 这里面有两个带两个进程,我们在两个终端窗口中打开,同时进行两个程序, 打开两个终端窗口,进入英语程序等所在目录。下面我们先打开程序, 在程序中把绝对路径改成相对路径,当填目录, slr 也是改成当前目录 编意程序。 在第一个中端插口中进行第一个程序 a, 第二个终端窗口装已经第二个呈现第 这里面由于每隔三秒会释放一个资源,第二个窗口在执行的时候,前两个资源已经释放完了,我们再重新进行一下, 这是整个程序的执行过程, 信号量操作就降完了。

信号与系统信号的基本运算。三好,我们再接着说一个稍微有点难度的问题。 如果已知 f 负四题减二题,负四减二题长这个样子,那么让你画出来 f 题,他确实有一点难度。好,我们来具体说下这个题的计算。首先我们对他进行一个反转,移,到右边你是负二题减四,我把它一转,就得到二题减四,这应该是非常 easy 的。 好,得到他以后,咱们进一步往下走。然后我原来你看 t 在原坐标系下是负三到负一,注意这个时候自变量的二 t 减四作为一个整体,所以 就求出来了原函数 f 的定义域。好,你一定要听清楚了,我这里是 t 的范围负三到负一,那么 原函数的自变量是负二梯减四这样一个整体。所以我得到二梯减四的范围是负二到二。这就决定了我一个函数 f 这里边这个对象,他的自定义范围应该是负二到二。我不管你是二梯减四亦或者负二梯减四,他都得满足负二到二。 得到这个之后,咱们进一步往下算,也就是函数他真正的自变量范围应该是负二到二。我不管你变成什么形式。好,我们继续往下走, 那么你展开以后把它得到 f t 减四。你这里显然是二题,我希望把你做一个展开。 好,继续往下走。我们说踢往上走得二,踢叫压缩,那么二踢得踢到展开,一展开显然就是二倍变成了二,三展开变成了六,这叫从数字角度。那如果你 从这个自定义的角度来讲,原来人家告诉你踢的范围是负二到二,现在得到这样一个东西来表达他的定义,也就是踢减四,满足负二到二的区间,所以踢大于二小于六。跟这里的判断结果保持一致。 好,我已经得到 f t 减四了。再接着叫什么左加右减,我们再搞一个平移就完事了。向左平移四个单位。好,左加是吧?对 t 加个四,直接就得到 f t 了。这个题稍微带一点难度来,给大家五秒钟时间,大家再看一看。 好,我们接着说第五个问题,微风和积分。也就是说 ft 求到,那就叫微风。然后 f 掏求积分,这就是积分的形式。 好,我们要明白,给你一个图形,你搞得定他求到是多少?对于上边这样一个 ft 来说,如果我对他求到,我们直接上。对于左边负二分之掏到零来说,这显然是一个一四函数是吧?高度是一,比上下边的 范围,自编量范围二分之掏,所以他的斜率就是掏分之二。来再付二分之。掏到零上,他是掏分之二。再接着从零到二分之掏,他保持一不变, 所以这个时候导数是零。再接着过了二分之掏之后,他从一瞬间变成零。好。在以前的概念中,我们说这叫导数,不存在,你也可以说叫导数,是无穷大。 在这里我们引入了一个东西,叫 c 个码,那个东西也就是冲击信号。来。我们从公式的角度来考虑一下 ft 在数学公式上表达。显然这是一个依次函数。涛风,这是他的斜率,乘个 t 加一来,这是他的函数。再接着在梯大于零的时候,这显然叫科四应梯。有印象,把单位接月函数减去, 从零开始,他全是一,然后我们减去二分之掏之后再来一个,那原来是从零开始往后走。这个对象是什么?踢减二分之掏大于等于零以后,他是个一吧,所以对应的踢大于等于二分之掏的时候,他是一 两个一减就得到零,到二分之掏上,他是一。我们写出来他的函数表达是接着我们要求二分之掏出的导数,实际上就是对第二只函数进行一个求导。 fe 飘 t 我们对科森影单位接月函数求到,就得到单位冲击信号,所以我们就得到 c 个码。踢减去 c 个码,踢减二分之掏,对应的实际上是一样的,而踢大于零,所以我们在零点是没有的。而到二分之掏处,也就是踢减二分之掏等于零的时候,他有一个负一的一个冲击信号,导致了这个点从一瞬间减为了零。 好,那么再接下来我们给大家看一个简单的例子,如果 ft 长这样,那么他的积分应该是多少?直接上在负二分之掏之前全是零, 负二分之掏到二分之刀上,那显然他的斜率是个一。所以我们只需要保证在这个函数从负二分之掏到二分之刀上,那么他从零增长到 一个单位长度就 ok 了。那显然保证学历为一。你看,对于横坐标来讲,负二分之刀到二分之掏,他的总长度是掏,你只要保证外的增 也是一个掏,那这个贪吉思达四十五度了。好,我这稍微不太一致对吧。所以他上来就是掏。过了二分之掏以后,那他的倒数为零,说明他是一个长寿。好。这就是给大家直观的展示一下如何求到以及如何搞积分。 来五秒钟。大家再看一个问题。 好,我们这节课就讲到这里,谢谢大家。

那么接着呢我们就讲解第三种信号量。信号量是一种计数器,用于控制多个县城对于资源的访问。当一个县城需要访问资源时,他需要申请获取信号量,如果信号量的计数器大于零,则可以访问资源,那么否则呢,该县城就会被等待,也就是被阻塞。 那么当县城结束访问资源后,需要释放信号量,并将计数器呢进行一个加一,那么他是怎样理解呢?我们也看一下他的一个实现逻辑是怎样的。 那么在主县城里面呢,就实力化了一个信号量,并且初始化他的值为零,那么为零的话,是不是也就代表当我们的县城去消费的时候,是不是他获取不到我们的这一个令牌, 那么呢他有就会被阻塞掉。那么我们往下看。那么首先就创建了一个生产的线程,那么生产的线程呢?就是循环的来生产数据, 并且呢每生产一个数据之后,他都会放入一个令牌,也就是呢第二我们这个软粒子方法把我们这个信号量呢进行一个加一的一个动作,那么加一之后呢就会进入一个休眠,那么这也就是主线城他的一个实现逻辑。然后我们再看一下消费者线城, 那么消费者现成他的一个主要实现逻辑呢,就是我们先进行一个额快要方法的一个调用,那么额快要方法呢?就是我们刚刚提到的进入一个信号量的一个申请, 也就是呢获取我们这一个令牌,那么当他大于零的时候,是不是就已经存在令牌,那么呢他就可以获取到令牌,继续往下直行,如果说他不是大于零的话,他是不是就被无限阻塞。那么当他获取到令牌之后呢,他进行了一个输出打印,打印之后呢,进行了一个休眠, 这也就是消费者县城他的一个主要实现逻辑。而主县城呢,最后我们就将两个县城的进行了一个大的调用,并没有其他的一些特殊逻辑。 那么接下来呢,我们就将我们这一个信号量的一个样例呢,运行起来看一下它的一个输出结果。 那么现在呢,我们信号量的这个压力是不是已经直接完成了?那么观察它的结果呢,是不是就已经实现了我们这一个线程间的一个通信。那么信号量它的一个主要特点呢,就是我们调用的这个 renix 方法来添加我们的这一个信号量,然后呢 再调我们这个快方法,然后来申请我们的这个信号量,如果说大于零的话呢,我们就可以申请成功,然后进行后续的消费。如果说没有信号量的话呢,那么我们这个线层呢,就会被无限的阻塞住。 那么这也就是第三种信号量的方式。感谢观看资料笔记免费领取资料图案,扫码添加就可拿到想要的资料。

大家好,欢迎大家观看迅威电子 linux 视频。这节课我们学习信号量。信号量也是处理并发与竞争的手段之一,它和我们之前讲的自选锁有什么区别呢? 自选锁是通过原地等待的方式来处理并发育竞争的,所以自选锁保护的临界区就不能太长,你要太长的话就会对 cpu 的资源产生浪费。但是有些情况我们必不可免的,要长时间的持有这个锁, 这时候我们用自选锁就不合适了。所以呢,就引入了信号量。那什么是信号量呢?举个例子,现在有一个电话亭,电话亭里面有一个公共电话, 某天 a 去打电话,打了一会,恰好 b 也来了, b 也要打电话,但是此时 a 正在打电话, b 就只能等着 a 打完才可以打电话。如果我们使用自选锁, b 就要一直在外面等着,等着 a 打完才可以打电话。 但是 a 的事情很重要,需要打很长时间的电话,打很长时间的电话是不是就意味着 a 持有这个锁的时间非常的长呢?也就是说这个临界区很大,这时候我们用自选锁就不合适了。 换一种方法, a 是不是可以告诉 b, 你先别在外面等着我了,你先找个地方休息一下,等我打完我告诉你,你再来打电话。那这种方法就是信号 让 b 先去休息一会。也就是说信号量的这种方法会引起调用者的睡眠,所以信号量有一个另外的名字叫做睡眠所。 这张幻灯片我其实说了信号量的两个特点,第一个特点就是信号量会引起调用者的休眠, 第二个特点就是在持有锁时间比较长的情况下,我们用自选锁是不合适的,我们要用信号量这张换成片。不光是信号量的引入,还给大家讲了这两个特点。 我们再来看这张幻想片。信号量的本质是一个全局变量,我们来看一下信号量是怎么工作的。首先我们要给信号量设置一个值,信号量的值 可以根据实际情况来自行设置,这个值的取值范围是大于等于零。当有现成来访问共享资源的时候,信号量执行减一的操作,访问完以后再执行加一的操作。 这是什么意思呢?我们看下面的这个例子。比如一个屋子有五把钥匙,这五把钥匙就是信号量的值,信号量的值是可以自行设置的,这里对应的就是这句话。 五把钥匙是不是就意味着有五个人可以进到这个屋子呢?有五个人可以进到这个屋子,实际上就是他是允许多个县城同时访问共享资源的,那允许几个县城同时访问共享 资源呀,这个就是这个值,决定的是你自己设置的,你可以设置成一,也可以设置成二。 我们继续往下看。当某个人想进入这个屋子的时候,那他是不是就要先拿一把钥匙啊,此时信号量的值减一,对应的就是这里就是有现成来访问资源的时候,信号量减一, 那直到这五把钥匙全部被拿走以后,这个屋子就进不去别人了。 如果还要有人想进去,他只能等有人从屋子里出来,把这个钥匙还回去,此时信号量的值加一,就又可以进去一个人了。那这里呢?对应的实际就是这个加一的操作。 透过他的这个工作方式,其实我们就可以联想到这个代码要怎么写。首先我们要先定义一个信号量。在 linux 里面,信号量是使用这个结构体来表述的。 定义完了这个信号量以后,我们肯定要给这个信号量设置一个值啊。这个值是允许几个县城同时来访问这个共享资源,我们可以设置成一,或者设置成二,或者设置成其他也可以。 那在使用的过程中,比如我们这个驱动,我们用到了这个资源,那我就让他在 open 的时候减一, 然后在 read 的时候我让他加一是不是就可以了呢?我们还用之前我们一直用的这个例子给大家 啊做演示。我们还是让我们这个驱动同时只能被一个应用程序打开,那这个信号量的值我们是不是要设置成一呀?在驱动里面将信号量的值设置成一以后,当第一个应用程序打开这个驱动以后,就让他执行减一, 那此时是不是就相当于没有钥匙了呢?因为我们是把他的值设置成了一,第二个应用程序再想打开这个驱动程序,他就打不开了,他就只能去睡觉,也就是去休眠。 他只有等第一个应用程序使完这个驱动,把钥匙还回去以后,第二个应用程序才可以用。这样我们就使用信号量的方式完成了。我们这个驱动同时只能被一个应用程序打开。那这些加一减 一和设置信号量的值的 a p i 函数都有哪些呢?我们看这张幻灯片。第一个 a p i 函数,它是定义一个信号量,并将信号量的值设置成一。 我们一般呢不使用这种方法,我们使用下面的这种方法。下面的这种方法是初始化信号量 sem, 并将信号量的值设置成 val。 然后我们再来看这两个 api 函数。这两个 api 函数都是获取信号量,他们俩的不同点就是一个可以被打断,一个不可以被打断。 比如说啊,这个在外面睡觉的这个啊,这个程序呢,我们可以使用 ctrl 加 c 啊把它打断。如果说我们使用啊这个档的话,我们就不能使用 ctrl 加 c 把它打断啊。这 这个呢,我们后面也会给大家演示 up 这个 a p i 函数,它是释放信号量, 这两个获取信号量就相当于刚才我们说的减一的操作,这个释放信号量就相当于我们说的加一的操作。 然后我们看最后这个 api, 这个 api 呢,它是尝试去获取信号量,如果获取到信号量就返回零,获取不到就返回啊,非零啊。但是使用这个 api 来说,它是不会引起休眠的。 呃, a p i 函数我们讲完了,那接下来我们来写代码。我们看一下虚拟机务版图这节课的实验代码。我们在十二这个实验代码的基础上来修改,我们复制十二这个文件夹, 我们打开十四这个文件夹, 然后我们将一些不需要的文件都把它删掉。大家也可以想一下,这个实验代码,如果是你的话,你要怎么来写,是不是你要在驱动中的 open 函数里面进行简易的操作呢? 简易的操作是不是就对应刚才我 ppt 这里的这两个函数的其中一个呀,你用哪个都可以。然后这些呢,我们就不要了。 第一步我们需要 要包含一个头文件,这个头文件是 linux 下面的 s e m a p h 啊, o r e 点 h 包含这个头文件。然后我们定义一个信号量, 那定义一个信号量,刚才我们幻灯片这里说啊,使用的是这个结构体来描述的 啊,这个名字呢,我们就随便起一个 这个信号量。我们啊定义好了以后,我们要初始化它。那初始化呢?我们一般在驱动的入口函数,也就是在引力 一趟函数里面对它进行初始化。初始化的话,我们需要使用啊这个 a p i 函数, 我们要初始化的是这个信号量,我们将它的值呢设置成一,这样就可以了。 然后我们在驱动中的 open 函数里面让它减一,减一的话,我们可以使用这种不可不可以打断的啊,这个 a p i 函数不可以打断的 a p i 函数啊,是这个函数非常的简单 是不是?或者说我们使用这种可以打端,我们就先给他注视掉 可以被打断的。我们是不是要使用这个 a p i 函数呀,啊,比如说我们可以使用 ctrl 加 c 啊,使用这个信号来打断 这个 a p i 函数呢,也就只有一个参数,我们这里可以使一个异符判断,然后我们让它返回一个这个错误, 比如说哎,我们被这个打断了,我们给他返回 i n t r 返回这个标准错误。 这样我们 open 函数我们就写好了。你使用这种方法或者使用这种方法都是可以的啊,都没有任何问题。然后在如例子函数里面,我们要让他加一, 那加一的话,我们就要用到 up 了是不是啊? 这样我们使用信号量来让我们这个驱动 同时只能被一个应用成语打开,我们就写完了啊,也没有几行代码。如果我们使用自选锁的话,我们保护的临界区是不是不能太大呀? 我们之前在讲自选锁的时候,是使用自选锁保护了一个全局变量 flag, 使用 flag 让我们这个驱动程序同时只能被一个应用打开。但是我们使用信号量的这种方式, 我们的这个临界区是不是就非常的大了呀?你看啊,我们在 open 函数里面,我们执行了一个简一的操作, 然后我们是在哪对他进行释放的呀?我们是不是在蕊粒子函数里面将他加了回来呀?如果我们使用自选锁的话,我们要这样做的话,是不是就非常浪费 cpu 的资源呀? 啊,驱动代码我们就写完了。然后我们再来看幻灯片这个地方。在使用信号量的时候,有一些注意事项,我们需要特别关注一下。首先,信号量的值不能小于零,你可以把它设置成一,但是你不能把它设置成零。 在访问共享资源的时候,信号量执行简易的操作,访问完以后,我们要让他再加回去,也就是说你要把这个钥匙再还回去,你不还回去怎么行呀,是不是啊? 当信号量为零的时候,想访问共享资源的县城必须等待。为什么要等待呀?因为现在已经没有这间屋子的钥匙了,你没有钥匙,你只能等着呀。那直到信号量大于零时,也就是当有钥匙还回 去的时候,等待的线程才可以访问。我们来看第四点啊,信号量会引起休眠,所以在中断中,我们不能用信号量。 第五点说的是信号量的啊使用情景就是当这个共享资源,或者说这个锁持有时间比较长的时候,这时候我们优先考虑信号量,而不是考虑自选锁。 我们再来看最后一点,在同时有信号量和自选锁的这种情况下, 我们要先获取信号量,再使用自选锁。为什么呢?在讲自选锁的时候,我们是不是说在自选锁保护的临界区里面,我们不能调用可能会引起休眠的函数,那 这个信号量他是不是就会引起这个休眠呀?你要在这个自选锁的临界区中,你要使用这种获取信号量的函数,是不是就不行呀?所以你要先获取这个信号量,你再使用这个自选锁 啊。第六点讲的就是啊,这个情况。这节课我们主要讲了信号量的理论知识,给大家留一个作业,大家将信号量和自选锁放在一起,对比一下他们俩不一样的地方。 我们下节课再来看信号量的实验操作。这节课我就先讲到这里,谢谢大家的观看。

周老师带你轻松过二十级,今天我们一起来学习一下计算机当中音频数据量的一个计算方法,那么这个呢,通常是一个关于选择题的考点,那么首先我们要明白几个相应的概念, 那么首先计算机系统啊,他是通过输入设备,也就是说我们的麦克风啊,然后把这个声音信号呢输入到我们的电脑当中, 在输的过程当中呢,通过采样量化,然后将其转换成数字信号啊,然后把它存到我们的计算机里面,当我们双击哎打开它来播放的时候,这就是一个输出这样一个过程 啊,那么在这个过程当中呢,每一秒钟采样的次数,他不是随时在采样的啊,每一秒钟采样的这样一个次数呢,我们称之为叫做采样的频率,那么采样的频率越高,声音 还原性呢就会越高啊,所以我们平常在下载一些音频文件的时候,你会发现啊,他有不同的一些质量啊,他输出的效果肯定也是不一样的啊,这种高真的,那肯定效果听起来就会更好。那么这里呢,我们就希望大家要了解和掌握一个关于音频数据量的一个计算方法, 这个计算方法是怎么样的呢?首先我们将公式给大家,这个音频数据量等于采样时间乘以采样频率,乘以采样的这个量化位数,然后再乘以我们的声道数啊,注意这四个相应的数字来进行相乘,那么在乘的过程当中呢,大家要注意就是他们的单位 啊,我们音频数据量啊,音频数据量等于的是采样时间,这个时间是秒,然后采样频率主要是赫兹,然后量化的位数是低,而且 是小编,小编我们前面哎,知道他叫做什么为啊来乘以声道数,那么最后音频数据量,你到底是想以字结,呃,千字结,造字结还是什么来表示,这个叫你换算的一个过程呢?所以呢,这几个时间单位 我们必须要清楚啊,秒赫兹和位,然后这里比如我们举了一个例子啊,例如要求计算三分钟双通道十六位量化位数,然后四十四点一千赫兹,采样频率的这样一个数据量为多少? 然后这个计算方法,首先我们来计算一下啊,他就等于说什么呢?第一才让时间三分钟换算成秒,是不是就是一百八十秒,然后来乘以我们的什么呢?才样的频率,我们的频率是四十四点一千赫兹,那么然后换算成赫兹,那是不是要乘以一千, 这个 k 是不是一千啊?所以乘以四四幺零零,然后再来乘以量化位数,我们这里是十六位,所以乘以十六, 然后再来乘以他的声道数,声道数这里提的是双通道,那么就是两个通道,两个声道,那么所以再乘以二。那老师为什么这里要除以八呢?因为这个地方的单位是位啊,是小 b, 那么小 b 转换成大 b, 一个大 b 字结就等于什么八位,是不是就等于八个小 b 啊?所以这个地方哈一个字节等于八位,所以我们把这个位数来除以八,是不是就换算成字结了?而字结是不是就是大 b 的一个表示方法?所以通过这样一个计算来除以大 b 呢,就等于三幺七五二, 然后三个零,那么这么多个字节,当然选择题当中他的单位不一定是这个字节啊,他可能会是字节造字节啊,或者是 什么,然后这个是我们叫换算,用这个三幺七零零除以幺零二四,他就换成什么 kb, 再除以幺零二四,是不是就换成 mb, 所以他的结果就等于三十点二八造字节 啊。这就是我们音频数据量的一个采样计算方法,这个公式啊,请大家务必要记牢了,而且他们的单位是怎么样的?那么后面的换算方法在我们之前的课程当中也是有所讲过啊。

信号与系统常见的信号二。 好,接下来我们说一下 c 个码 t 和科 c n t 的关系哈。首先科 c n t 的意思是从零开始它这个一,而 c 个码 t 的意思,如果我对它求一个导,你发现没有,我对它求导其实就是我们的科 c n t。 好,大家稍微注意一下这个地方,我们要掌握这个公式。也就是说对 cgmt 做积分的时候,我们刚才说他积分的瞬间会变成一,还有印象吧?哎, 变成一实际上就相当于我从零开始,积分变成了一,后边其实是不是就维持稳定了,始终是个一,所以那我对一进行求打,也就左边的科三踢球的反推过来就是 c 跟马踢好,你要明白他们之间的关系啊,科三踢关于踢球的就是 c 跟马踢了,好,我们来看一下 f 踢假 是 f, t 是这样一个东西,那我对他求导表现的结果是什么呢?先写出他的这个表达形式是吧?我们说左边这个形式,从负一开始他有值了。好,所以是二倍的可选 t 加一没问题吧? 一加一大于等于零,实际上表现为踢大于等于负一。好,也就从负一开始他有值了,并且这个值乘以二倍就变成了二,然后一直往右走,走到踢等于一的时候呢, 他开始变成零了,所以要做一个减法是吧?二倍的科审 t 减一好, t 减一大一点零,表现为 t 大一等于一, 在 t 大点一的时候,两个一减变成零了,这是他的数学公式。那么我们对他进行求导的时候来,你首先观察我对下边这个对象求导,那科四眼求导,我们刚才说了,是不是 c 哥们啊?好,所以是二倍的 c 哥们啊, t 加一,然后再减去二倍的 c 哥们, t 减一。来,这个时候你从图的角度来看,二倍的 c 个码 t 加一,是不是就在负一这个地方有一个冲击啊,然后它的积分结果是一个二。好, 然后再对过来,那么 c 个码在 t 等于一的时候,他也有一个冲击,是吧?是向下方向,这就反映了 c 个码 t 和科三 a t 的关系,大家要掌握这个给你一个 c 个码 t 的函数,你可以 也就要科技问题的函数啊,你求导可以搞定 cc 吗 t 让 cc 吗 t 做积分得到科这一题来三秒钟再看一下。 好,我们来具体的看这个题,已知 f t 让你画出这个 g t 等于 f t 的导数,而 f t 是长这样的,是吧?我们要画它的导数,首先你把 f t 的公式搞出来,是吧?这样你才能搞到 g t。 好,我们先说左边,你有一个从零到 他的一个冲击,是吧?所以对应的这个位置有一个想象的冲击,并且是一个四倍,也就他的基本结果是四,我才能达到这个单点之四。好,接着你看从负二到二,这显然这个往下斜的吧,这个典型的依次函数,对吧?斜率显然就四减到零了,比上他的下边高度是四, 所以怼过来就是负一。好,这是他的导数,然后到二以后,那这个二以后后边是个零了,是吧?所以这个时候没有这个导数了。好,这是关于他已知 ft 让你画,你得掌握这个画的方法,那再看一个对 lt。 求导,如果说得到如图所示的情况, 这是我们的一个 lt。 然后让你对他求导,那我们直接来了,那对于左边来说,你一直是个零求导,那就是个零了。然后从负 n 分之一开始,到右边的正 n 分之一,这是一个往上增的依次函数,是吧?从零增到了一,所以一 除以这个下边的高度吧。下边这个长度啊, n 分之一减负二分之一,是吧?所以是 n 分之二。好,所以怼过来呢?已除以 n 分之二,那么他的导数实际上斜率,是吧?就是二分之二。好,这是这一部分。从负二分之一到正的 n 分之一,他的斜率是二分之一。 过了 n 分之一之后,你看他维持在一不变了,你是一个长数,那么他的倒数自然就是一个零。来三秒钟,大家再看一下这两个题。 好,我们接着说这个 c 嘛, t 的用途啊。第一个,我们讲它采样,如果 f t 在 t 等于零处连续且处处有界,那么就有这样一个结果。好, 你看,我这是 f t 的一个对象,如果我用 c 跟吗 t 跟他做一个乘法,你还记得 c 跟吗 t 吧。我们说 c 跟吗 t 在零的瞬间是一个 无穷大,做积分是个一,对吧?做积分是个一。好,我们这是 c 跟马蹄的一个回忆哈。接着说,如果 c 跟马踢跟 f t 做一个乘法,你看在其他点, c 跟马蹄都是零,是吧?所以你这个乘呢?最 最后的结果就表现为他成为了其实只有一个点有值,就是零处有值,也就是 f 这个点对应的,是吧? t 等于零的时候, f 的值是 f 零,然后 c 个码 t 还是 c 个码 t? 好,那如果我对他做一个积分,你看 f 零显然是一个长寿,代表这的大小,是吧? c 个码 t 做个积分,显然就我们刚才说的一吧。好, 那他一积分就一乘以 f 零,结果就是 f 零。好,这就得到了我们如何把一个函数中某一个点给他踩出来,比如说我想踩零克的点,是吧?我拿四个嘛,踢函数,跟这个你这个目标信号做一个积分,那么乘法 一积分,结果就是这个点的值。好,这就他的第一个用途,采药。举个例子,如果 saying t 加四分之派,这是我的目标对象,跟 c 哥妈 t 做了一个惩罚, 好,那你一乘的话,那显然 t 等于零的时候带入前标才有意义,是吧?所以是 c 四分之派乘以 c 个码 t, 那显然就二分之根号二倍的 c 个码 t。 好,这就表现为他的一个材料,如果我对他在做一个积分。好,那左边这个对象一积分,二分之根号二代表大小, c 个码 t 积分呢?就是一个一, 所以结果就是二分之根。哈,注意,我右边写的是 ct 减四分之派,是吧?所以,那他的结果应该是吗? c 影负四分之派,乘以四跟八踢做积分,记完了,应该是负的二分之根号二倍的这个地方,四跟八踢积分是个一。好,来三秒钟,大家再看一下四跟八踢是如何把一个函数中某个点的 纸给踩出来了。 好,接着我们说一下这个平移的情况, 如果 f t 乘以 c 个码 t 减 t 零,我们说刚才 c 个码 t 是在零处有意义,对吧?零处踩了 f 零的值,如果你平移一下,也就是我们把 t 减 t 零等于零,反过来就是 t 等于 t 零处才有意义。好,那它对应的结果就是 f t 零乘以 c 个码 t 减 t 零, 大家一定要掌握这个公式啊。这是一个地推,那么我们对他做一个积分,显然跟刚才回一样,一模一样的类推是吧?实际上就是 f t 六这个值,然后呢, c 个码做积分是个一,是吧?所以结果就是 f t 六。 好,我们应用一下赛营, t 减四分之派乘以四个码 t 减一,那我对应有意义的值,无非就是 t 减一等于零, 对应的 t 等于一。好,那我具体带进来就是 c 应 e 减四分之百,再乘以 c 跟法 t 减一。 同时要注意了,我在 t 等于一处有意义,也就是你的积分区间应该包含一,我才能把它积成一,是吧?那你负三到零,我这四个嘛,体检一就是零啊,所以你这背积含有始终是吧塞应它乘以一个零,那背积含有就是个零了。零做积分,当然结果还是零。好, 大家要注意这种填空题啊,可能考试考。再接着我们看一个负一到九,摄影体检四分之半四个码题。 好,那 c 跟完踢,你一看,当然是在零处有意义,而负一到九包含了零这个点,所以我把 t 等于零带入,那就是 c 零减四分之派,也就是 c 负的四分之派。好,那它的结果显然就是负的二分之根号二没有问题吧?好,我们接着往下看,对于 二掏背的 c 个码掏减 t, d 掏好,我们依然是 c 个码掏减 t 等于零,那么怼过来就是掏等于 t, 那么我们套一下公式是吧, 踢等于踢零的时候,他才有结果,所以结果是 f 踢零,那你对过来,此时 ft 其实就相当于二掏。注意,我们的背肌对象是掏啊,这个背肌对象掏好,所以他的结果呢,就是二掏。那么二掏实际上掏是谁呢?掏等于踢,所以结果是二踢。注意, 这个的前提是我的 t 在负一到一之间,如果你在其他情况下,那你就记不到 c 个码这个对象了。你理解吧, c 个码在掏减 t 等于零的时候,才能使积分为一。如果你这个 t 超了界,那你实际上这个积分区间内 c 个码是个零。 有,那你就没啥可记得了。好,注意这个小细节。接下来我们看涛减一的平方四个码头, d 头那 一个码掏,直接就告诉你,在零处,他的结果是积分为一,实际上把掏等于零带进来,那就是零减一的平方,也就是一好一的前提是我取到了这个掏。你理解这意思吧,掏他的这个积分范围啊,包含了零。 好,那你仔细想一下,如果没包含零,也就是踢小于零的时候。哎,那我啥都没有,就是个零了。当踢大于等于零的时候,你包含了零,他这个时候积上来就是个一。这是什么东西啊?也就是科赛运踢吧,咱们前面所说的接月函数。 好,我们接着往下看。对于这样一个对象,如果你对他进行求导,那你观察一的负二题乘以科三题,这是个乘法法则吧。 第一部分的导数来,也就是一的负二题再乘以指数求导,也就是负二,是吧,我相当于写在后边了。第一部分的导数是他再乘以课间题, 加上我写在第一部分了,是吧?第一部分不求导乘以第二部分的导售,那就是 e 的负二题。乘以科三题的导数是 c 个码题,这要求大家非常说啊,科三题的导数是 c 个码题, c 个码题积分就是科三题。 好,我接着往后化解一部分,你看 c 个嘛, t 跟他相乘,这是个什么东西啊? e 的负二题实际上有意义的点是谁啊?就是 t 等于零,也就我们这条公式是吧。 ft 乘以一个对象就是 ft 零乘以这个对象好 好把零带进来,一的零次方是个一,所以他就剩下一个 c 嘛 t 这设计化减,再往后走也就二的一的负二 题,然后科四眼题。好,这是关于一个简单的求导和积分的一些计算核心还是上边这两个公式。任何一个 f t 跟 c 个码相乘,直接就是 f 这个值,是吧?在 c 个码取得定义的点的值。 好,如果我做个积分,那积分完了,就是真正的 ft 六这个值,因为 c 个码积分完了是个一。好,我们接着往下看。关于他的比例性,也就是 c 个码 a t, 他如果把 a 拆出来,那就 a 的绝对值分之一倍的 c 个码 t。 好,记一下这个公式就可以。 第四个是微风积分特性,那 c 跟马 t 是科三 a t 的求导,这个理解就可以了,对吧?我们前面也说 c 跟马踢做一个积分,就对应的是科三 a t。 好,给大家五秒钟时间,大家再看一下这个问题。 好,那么我们接着重复一下对科技的尺度变化。刚才也讲了,是吧? c 跟马 a t, 他对呢?就是 a 的,绝对值得 c 跟上踢,如果我对他做一个推动,那么往后推一步,也就是说 这个马 at 等于 a 的绝对之分之 cc 二 t, 那 c 个马二 t 让你算一下应该是什么?二分之一倍的 c 个马 t, 也就是零点五倍的 c 个马 t。 好简单的一个应用,大家简单看看就行。