跟着简叔学的,可以B站搜索 简说linux
1.上下文
1.1中断的种类如上下文判断方式
中断可分为软件中断和硬件中断。或者BH ,这个BH是什么东西去查了查,说是软中断的实现方式,已经被弃用了。
之前讲过内核中的进程描述方式struct task_struct 中有一个thread_info,他之中保留着不同架构的对于进程的描述信息。其中有一个属性是下面这个。 32bit的变量
接触fpga布线是从复位杯的比赛开始。但是比赛的问题和数据已经将布线问题高度抽象化为了一个数学问题。所以个人认为无法实际支撑fpga布线的研究,因为在读相关文献的时候常常有看不懂的地方。所以从现在起阅读并翻译《MAPPING AND FPGA GLOBAL ROUTING USING MEAN FIELD ANNEALING》第三章的内容。
有些部分因怕翻译有误所以也copy了原文。
文章代码来源:高并发Web服务器
书接上文,这里是http处理业务请求的具体逻辑内容。
1 | bool HttpConn::process() { |
文章代码来源:高并发Web服务器
服务器的工作实际上就是监听并且处理各种各样的事件。当服务器处于启动状态,就会不断用Epoll去监听,正在被监听的文件描述符事件。根据返回值和事件类型做出相应的处理。
1 | while(!isClose_) { |
跟着简叔学的,可以B站搜索 简说linux
platform驱动是一种模拟的总线驱动。将字符型驱动包装成platform驱动有两大好处。
不在总线上的驱动都可一包装成platform驱动
什么是BSP(14条消息) 嵌入式中的BSP—-BSP到底是什么?_芯片bsp_shangtang的博客-CSDN博客
内核里分别用device和driver来表示设备和驱动,面向对象的思想,device是所有设备的基类,driver是所有驱动的基类。将我们瞎写的字符型驱动改造成platform驱动比较规范话,
跟着简叔学的,可以B站搜索 简说linux
与之前学的信号量相比,自旋锁是一种死等的机制。而信号量不会。只有一个执行单元获取锁并进入到临界区,其他的都给我死等。可以在中断上下文执行,因为是不睡眠的。中断上下文代码不允许睡眠,也不允许调用那些可能会引起睡眠的函数。这种死等的实现是不同的架构有不一样的方法。