操作系统及内核
sudo-wang
稳住
展开
-
signal函数的应用(linux)
1. 功能设置某一信号的对应动作2. 声明#include <signal.h>typedef void (*sighandler_t)(int);sighandler_t signal(int signum, sighandler_t handler);3. 参数说明 第一个参数...转载 2018-07-27 15:49:05 · 256 阅读 · 1 评论 -
signal函数详细用法
信号是在软件层次上对中断的一种模拟,所以通常把它称为是软中断信号和中断的区别信号与中断的相似点:(1)采用了相同的异步通信方式;(2)当检测出有信号或中断请求时,都暂停正在执行的程序而转去执行相应的处理程序;(3)都在处理完毕后返回到原来的断点;(4)对信号或中断都可进行屏蔽。&n...转载 2018-07-27 15:52:18 · 7273 阅读 · 0 评论 -
PC机启动流程。PC如何从上电进入到操作系统?
固件的初始化,尝试启动CPU电源刚接通后,处理器处于实模式(real mode)并且禁止了内存分页机制,且只有1MB的可用存储地址空间。启动时寄存器的初始化,保存着CPU执行指令地址的地址寄存器(EIP)指向的是0xFFFFFFF0(4GB存储空间的最后16字节),这个地址被称为reset vector,是一条到BIOS程序入口的跳转指令。执行BIOS程序,进行通电自检(Power-...原创 2019-01-10 17:44:30 · 3318 阅读 · 0 评论 -
信号量、互斥量、读写锁、条件变量的区别
信号量强调的是线程(或进程)间的同步:“信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在sem_wait的时候,就阻塞在那里)。当信号量为单值信号量是,也可以完成一个资源的互斥访问。有名信号量:可以用于不同进程间或多线程间的互斥与同步 创建打开有名信号量 sem_t *sem_open(c...转载 2019-01-11 11:57:21 · 412 阅读 · 0 评论 -
内存管理算法:Buddy 算法
buddy system简介:buddy system内存管理,努力让内存分配与相邻内存合并能快速进行(对于普通算法来讲,合并内存相当困难),它利用的是计算机擅长处理2的幂运算。我们创建一系列空闲块列表,每一种都是2的倍数。举个例子,如果最小分配单元是8字节,整个内存空间有1M。我们创建8字节内存块链表,16字节内存块链表,32字节内存块链表,64,128,256,512,1k,2K, 4K...转载 2019-01-13 21:29:56 · 461 阅读 · 0 评论 -
Linux进程管理、调度和系统调用
Linux 进程的系统调用:sys-fork:完整派生sys_clone:通过参数复制资源sys_vfork:复制 task_struct ,其他共享,阻塞父进程结构流程图如下:Linux进程管理和调度执行完进程的调用后,下面来看看进程的管理和调度一张图带你看懂 Linux 进程管理和调度的整个过程:(流程线上面的函数名就是内核里面相应执行过程的代码段)Linux 进程销毁...原创 2019-01-09 15:14:05 · 919 阅读 · 0 评论