在很多操作系统中,都存在这样一类API(函数接口):HOOK函数,也叫钩子函数。
比如:Windows桌面系统、C/OS、 FreeRTOS等RTOS中,都可以看见HOOK函数的存在。
下面结合C/OS来讲讲什么是HOOK函数,它的用途是什么。
嵌入式专栏
1
什么是HOOK函数? HOOK函数,也叫钩子函数,是一种会被操作系统内部的回调的函数。
如果使能了HOOK,操作系统就会在特定的事件到来之际,调用对应Hook函数(回调函数,也是你写的hook应用程序)。
比如...
《30天自制操作系统》笔记(06)——CPU的32位模式
进度回顾上一篇中实现了启用鼠标、键盘的功能。屏幕上会显示出用户按键、点击鼠标的情况。这是通过设置硬件的中断函数实现的,可以说硬件本身的设计就具有事件驱动的性质,所以软件层面上才有基于事件的消息机制。但上一篇没有说明中断的来龙去脉,本篇就从头到尾描述一下CPU与此相关的设置问题。Segment32位的CPU使用32条地址线,能区分232=4G个内存地址。每个内存地址都有1Byte的...
1.问题
像一些效率工具,比如滴答清单,Notion/我来,Xmind,Cubox等这些,差不多都有两年以上的使用基础,但是苦于一直还是沦为了工具人,而不是用工具解决问题的人,像Notion的Database, 维格表/飞书表格的很好解决了信息系统数据冗余的却没有关联的问题,Cubox解决了截切 收藏的问题,滴答清单在ToDo方面很好地指引了我,另外在我来这款工具上,我也花了很多心力做了知识系统,其他还有Flomo,可以解决Memo无压力记录,但是慢慢地...
文章目录
一、管程二、死锁一、管程
1、管程的概念 用信号量可以实现进程之间的同步与互斥,但要设置很多信号量,使用大量的P、V操作,还要仔细安排多个P操作的排列次序,否则将出现错误的结果或死锁现象。为了解决这个问题,便引入的管程,另一种高级同步工具。
管程是一个共享资源的数据结构以及一组能为并发进程在其上执行的针对该资源的一组操作,这组操作能同步进程和改变管程中的数据。
2、管程的基本思想 即把信号量及其操作...
一. 实验目的理解进程运行的并发性 理解进程各种状态及其之间的转换
理解进程管理中PCB的结构
掌握优先数进程调度算法
二. 实验内容
用 VC编写实现进程调度算法模拟进程调度的实现过程。调度算法采用的是动态优先数与时间片相结合的算法。要求如下:进程相关信息如进程标识符及进程所需时间都放入PCB中;
设计运行、完成和就绪三个进程队列;
就绪队列按优先数从小到大排列,每次选择优先数最大的就绪进程运行。初...
1. 进程之间通信的方式有:信号,管道,消息队列,共享内存。较熟悉一下两种。
2. 信号通信机制:信号可以在任何时候发送给某一进程,而无须知道该进程的状态。如果进程未处于执行状态则信号被内核保存,知道恢复执行然后传递给它。在Linux中有几十种信号分别代表着不同的含义,依靠着信号值的不同来区别。比方说有raise 函数,kill 函数,pause 函数,sigsuspend 函数。并且用户可以通过signal 函数来修改信号的相应动作。
...
我们在使用win10操作系统的联想电脑时,有的小伙伴们如果想要重装自己的操作系统但是不知道应该怎么做的话,小编可以来告诉你。首先我们需要找一个网站下载自己需要的操作系统文件,比如在系统家园网站下载就很安全稳定。然后根据自己的安装方式来进行安装。具体步骤就来看下小编是怎么做的吧~U盘安装教程:1、下载U盘制作软件准备好一个U盘,U盘大小自行决定。当然了,如果想要用u盘安装win7或是u盘装win8建议容量大一些,至少需要...
点我查看秘籍连载
进程表和进程数据结构
内核负责管理维护所有进程,为了管理进程,内核在内核空间维护了一个称为进程表(Process Table)的数据结构,这个数据结构中记录了所有进程,每个进程在数据结构中都称为一个进程表项(Process Table Entry),如图。从图中可知,进程表中除了记录了所有进程的PID,还使用一个字段记录了所有进程的指针,指向每个进程的进程控制块(Process Control Block,PCB),请记住PCB这个词,它太重...
1.执行程序(windows中可执行程序以exe为后缀名。)1.如何存放:可执行程序需要放在硬盘上,而硬盘是一个外设上面有文件系统,exe以文件方式存放在硬盘上。操作系统将程序放在硬盘特定的位置。2.如何启动:而应用程序需装入内存上才能被CPU运行,操作系统再把exe从硬盘放到内存里面去,去启动他。3.操作系统给程序分配内存4.操作系统给用户提供设备分配5.会自动分配内存不会被一个程序霸占6.程序结束如何退出系统并释放内存
【故障描述】win10操作系统出现错误代码“0xc000000f”【解决办法】
使用PE工具中Diskgenius分区工具选择“硬盘--重建主引导记录MBR”重建主引导记录
决定不定期整理一下计算机操作系统的笔记,零零散散的。。表现得凑合凑合,但是在脑子里不能凑合(¬︿??¬)
-----------------------------------------------------------分割线--------------------------------------------------------------------------------------------------------
进程就是操作系统对cpu是如何管理的
程序运行起来了就是进程。
进程控制块PCB 简单的来说就是一个结构体,每个节点就是一个结构体
在lin...
进程的基本概念程序:一个在时间上严格按先后次序操作实现算法功能的指令序列,程序本身是静态的。进程:描述性定义:计算机中的所有程序(软件),按照某种顺序运行,这种运行的过程称之为进程。另一种定义是:可并发执行的程序在一个数据集合上的执行过程。程序执行有固定的时序 特征:顺序性、封闭性、可再现性顺序性:处理机的操作严格按规定顺序执行封闭性:程序执行时,独占系统资源可再现性:当初始条件相同时,程序多次执行...
第一章:导论
1. 计算机系统的四个组成成分:计算机硬件、操作系统、系统程序和用户。可以大致分为硬件、软件和数据。
定义: 现代通用计算机系统由一个或多个CPU和若干设备控制器通过共同的总线相连而成,该总线提供了对共享内存的访问。
设备控制器维护一定量的本地缓冲存储和一组特定用途的寄存器。
2. 硬件:CPU(处理器),内存,输入和输出设备。
3. 可以将操作系统看成资源分配器,将计算机系统的资源进行有效分配,...
分段存储当中有段长和基址。
1MB = 1024KB = 1024*1024B
?
1GB=1024MB=1024*1024KB=1024*1024*1024B=2^10*2^10*2^10B=2^30B
每一个段表项的大小是相同的。都是36位或者都是32位的。比如判断缓存区是否可用,是否满了,就可以让多个段表中的某一个指针指向同一个块,实现共享。分页中有可能两个合起来,一部分可以访问另一个部分不能重复访问,不合适。段表中只需要设计一个属性为允许就能实现复用。------------------------------...
计算机组成:应用程序
操作系统
计算机硬件
什么是操作系统
是一个协调、管理、控制计算机硬件与软件的控制程序操作系统分成两部分:接口程序:将硬件的功能封装成简单的接口,用来给应用软件或者给用户使用内核:具体控制硬件,对下内核态与用户态(了解)cpu的两种工作状态用户态:cpu执行用户程序/应用程序所处的状态,处于用户态不能控制硬件内核态:cpu执行操作系统内核所处的状态,处于内核态能够控制硬件应用程序的启动:(...