当前位置: 首页 > wzjs >正文

phpcms 生成网站地图网络推广网络营销外包

phpcms 生成网站地图,网络推广网络营销外包,输入网址跳到别的网站,wordpress主题萨龙龙1.保存信号 当前阶段 1-1 信号其他相关常见概念 实际执行信号的处理动作称为信号传递 信号从产⽣到递达之间的状态,称为信号未决(Pending)。 进程可以选择阻塞 (Block )某个信号。 被阻塞的信号产⽣时将保持在未决状态,直到进程解除对此信号的阻塞,才执⾏递达的动作. 注意,阻…

1.保存信号

当前阶段

1-1 信号其他相关常见概念

实际执行信号的处理动作称为信号传递
信号从产⽣到递达之间的状态,称为信号未决(Pending)。
进程可以选择阻塞 (Block )某个信号。
被阻塞的信号产⽣时将保持在未决状态,直到进程解除对此信号的阻塞,才执⾏递达的动作.
注意,阻塞和忽略是不同的,只要信号被阻塞就不会递达,⽽忽略是在递达之后可选的⼀种处理动
作。

1-2在内核中的表示

每个信号都会有自己的标志位,一个是block和pending,还有一个函数指针来处理动作,信号产生时内核在进程控制块中设置该信号的pending位,直到信号传递才彻底清楚该标致位 在上 图的例⼦中,SIGHUP信号未阻塞也未产⽣过,当它递达时执⾏默认处理动作
SIGINT信号产生过但是因为在被堵塞所以不能够传递,虽然他的处理方式是忽略但是没有接触堵塞之前不能忽略这个信号,因此进程仍有机会改变处理动作之后在接触堵塞
SIGQUIT信号为产生过,一旦产生SIGQUIT信号将被阻塞,他的处理动作是用户默认的自定义函数

1-3 sigset_t

从上面的图片来看标志位只有0或1,不关心该信号产生了多少次 阻塞标志也是这样
表⽰的。因此, 未决和阻塞标志可以⽤相同的数据类型sigset_t来存储, , 这个类型
可以表⽰每个信号的“有效”或“⽆效”状态, 在阻塞信号集中“有效”和“⽆效”的含义是该信号
是否被阻塞, ⽽在未决信号集中“有 效”和“⽆效”的含义是该信号是否处于未决状态。下⼀节将详
细介绍信号集的各种操作。阻塞信号集也叫做当前进程的 这⾥的“屏蔽”
应该理解为阻塞⽽不是忽略。
sigset_t称为信号集
信号屏蔽字(Signal Mask),

1-4 信号集操作函数

# include <signal.h>
int sigemptyset ( sigset_t * set );
int sigfillset ( sigset_t * set );
int sigaddset ( sigset_t * set , int signo);
int sigdelset ( sigset_t * set , int signo);
int sigismember ( const sigset_t * set , int signo);
函数sigemptyset初始化set所指向的信号集,使其中所有信号的对应bit清零,表⽰该信号集不包含
任何有效信号。
函数sigfillset初始化set所指向的信号集,使其中所有信号的对应bit置位,表⽰ 该信号集的有效信号
包括系 统⽀持的所有信号。
注意,在使⽤sigset_ t类型的变量之前,⼀定要调 ⽤sigemptyset或sigfillset做初始化,使信号集处于
确定的 状态。初始化sigset_t变量之后就可以在调⽤sigaddset和sigdelset在该信号集中添加或删
除某种有效信号。
这四个函数都是成功返回0,出错返回-1。sigismember是⼀个布尔函数,⽤于判断⼀个信号集的有效信 号中是否包含 某种 信号,若包含则返回1,不包含则返回0,出错返回-1

1-4-1 sigprocmask

调⽤函数 sigprocmask 可以读取或更改进程的信号屏蔽字(阻塞信号集)。

# include <signal.h>
int sigprocmask ( int how, const sigset_t * set , sigset_t *oset);
返回值 : 若成功则为 0 , 若出错则为 -1
如果oset是⾮空指针,则读取进程的当前信号屏蔽字通过oset参数传出。如果set是⾮空指针,则 更改
进程的信 号屏蔽字,参数how指⽰如何更改。如果oset和set都是⾮空指针,则先将原来的信号 屏蔽字
备份到oset⾥,然后 根据set和how参数更改信号屏蔽字。假设当前的信号屏蔽字为mask,下表说明了
how参数的可选值。
如果调⽤sigprocmask解除了对当前若⼲个未决信号的阻塞,则在sigprocmask返回前,⾄少将其中⼀
个信号递达。

1-4-2 sigpending

# include <signal.h>
int sigpending ( sigset_t * set );
读取当前进程的未决信号集 , 通过 set 参数传出。
调⽤成功则返回 0 , 出错则返回 -1

2.信号捕捉

当前阶段

2-1 信号捕捉的流程

⽤⼾程序注册了 SIGQUIT 信号的处理函数 sighandler
当前正在执⾏ main 函数,这时发⽣中断或异常切换到内核态。
在中断处理完毕后要返回⽤⼾态的 main 函数之前检查到有信号 SIGQUIT 递达。
内核决定返回⽤⼾态后不是恢复 main 函数的上下⽂继续执⾏,⽽是执⾏ sighandler
数, sighandler main 函数使⽤不同的堆栈空间,它们之间不存在调⽤和被调⽤的关系,是两个
独⽴的控制流程。
sighandler 函数返回后⾃动执⾏特殊的系统调⽤ sigreturn 再次进⼊内核态。
如果没有新的信号要递达,这次再返回⽤⼾态就是恢复 main 函数的上下⽂继续执⾏了。

2-2 sigaction

# include <signal.h>
int sigaction ( int signo, const struct sigaction *act, struct sigaction *oact);
当某个信号的处理函数被调⽤时,内核⾃动将当前信号加⼊进程的信号屏蔽字,当信号处理函数返回时⾃ 动恢复原来的信号屏蔽字,这样就保证了在处理某个信号时,如果这种信号再次产⽣,那么 它会被阻塞到 当前处理结束为⽌。 如果在调⽤信号处理函数时,除了当前信号被⾃动屏蔽之外,还希望⾃动屏蔽另外⼀ 些信号,则⽤sa_mask字段说明这些需要额外屏蔽的信号,当信号处理函数返回时⾃动恢复原来的信号屏 蔽字

2-3 穿插话题了解一下操作系统是怎么运行的

2-3-1 硬件中断

中断向量表就是操作系统的⼀部分,启动就加载到内存中了
通过外部硬件中断,操作系统就不需要对外设进⾏任何周期性的检测或者轮询
由外部设备触发的,中断系统运⾏流程,叫做硬件中断

2-3-2 时钟中断

我们想一下进程可以在操作系统的指挥下,被执行被调度,那么操作系统被谁指挥的呢
外部设备来触发中断,但是这个需要用户来触发有没有定期触发的呢
这个就是时钟中断如图所示
2-3-3 死循环
如果是这样,操作系统不就可以躺平了吗?对,操作系统⾃⼰不做任何事情,需要什么功能,就向中 断向量表⾥⾯添加⽅法即可.操作系统的本质:就是⼀个死循环!
这样,操作系统,就可以在硬件时钟的推动下,⾃动调度了.
所以,什么是时间⽚?CPU为什么会有主频?为什么主频越快,CPU越快?
2-3-4 软中断
上述外部硬件中断,需要硬件设备触发。
有没有可能,因为软件原因,也触发上⾯的逻辑?有!
为了让操作系统⽀持进⾏系统调⽤,CPU也设计了对应的汇编指令(int 或者 syscall),可以让CPU内
部触发中断逻辑。
所以
2-3-4 缺页中断 ?内存碎⽚处理?除零野指针错误?
缺⻚中断?内存碎⽚处理?除零野指针错误?这些问题,全部都会被转换成为CPU内部的软中断,
然后⾛中断处理例程,完成所有处理。有的是进⾏申请内存,填充⻚表,进⾏映射的。有的是⽤来
处理内存碎⽚的,有的是⽤来给⽬标进⾏发送信号,杀掉进程等等。

文章转载自:

http://AmZ4y9Vk.mkrjf.cn
http://7EkIucUd.mkrjf.cn
http://uAPkba0z.mkrjf.cn
http://gIZcwIcX.mkrjf.cn
http://fZbbKben.mkrjf.cn
http://Yefnum1A.mkrjf.cn
http://AKRiLjq0.mkrjf.cn
http://eCyOiDbc.mkrjf.cn
http://Kd7ViDMc.mkrjf.cn
http://jt4Mxj1i.mkrjf.cn
http://46bmlRWR.mkrjf.cn
http://MAtRsr1b.mkrjf.cn
http://eWCODBU7.mkrjf.cn
http://SdcrFySj.mkrjf.cn
http://bkr9W2kC.mkrjf.cn
http://HZ6d12QV.mkrjf.cn
http://sHQcsGEv.mkrjf.cn
http://I3T9C3Pf.mkrjf.cn
http://V2yzJ6pg.mkrjf.cn
http://9qeUXwVu.mkrjf.cn
http://fBvdNSLM.mkrjf.cn
http://jpTCxqoi.mkrjf.cn
http://MwOwAnpr.mkrjf.cn
http://uAzg6oLy.mkrjf.cn
http://cP6VQ4K5.mkrjf.cn
http://dA6tcxxh.mkrjf.cn
http://yLHhPP30.mkrjf.cn
http://bkpHhtdo.mkrjf.cn
http://BhqY6OGN.mkrjf.cn
http://KFWG1cdF.mkrjf.cn
http://www.dtcms.com/wzjs/639163.html

相关文章:

  • 韩国 网站设计南宁seo规则
  • 展厅设计素材网站提供设计的的网站
  • 电子政务门户网站建设的教训asp与sql做网站
  • 做外单阿里的网站民治网站优化培训
  • 免费建立网站软件公司邮箱怎么在自己电脑上登录
  • 图像放大网站网络科技公司一般都是骗
  • 朋友用我的vps做网站保险行业网站建设
  • 怎样创建网站和网页客户评价网站建设
  • 企业网站建设销售前景网站设计与管理方向
  • 网站开发国外研究状况建网站需要编程吗
  • dell网站的网站设计特色做网站什么好
  • 湖州建设局投标网站济南高风险区最新通告
  • 国家城乡与住房建设部网站外包公司离职一定要一个月吗
  • 网站关键词标签软件工程师证书有哪些
  • 网页设计小白做网站设计公司怎么开
  • 用自己的手机做网站前端需要学什么语言
  • 网站建设项目方案ppt做百度推广送网站
  • 网站自定义链接怎么做怎样退订3d卫星街景会员费用
  • 网站系统发生错误装饰公司网络营销
  • 哪个网站有淘宝做图的素材做app和网站怎样
  • 上海专业网站建设报宁波网络推广教程
  • 网站 简约漯河网做网站
  • 网站建设丶金手指下拉13江门推广平台排行榜
  • 住建设部官方网站工作招聘58同城
  • 南昌定制网站公司网站软件下载
  • html网站模板免费seo优化总结
  • 58同城网站建设如何创建微信公众号要钱吗
  • 用户体验的互动展示网站影视广告网站
  • 商城网站开发教程多媒体网站开发实验报告
  • 网站正在建设中英语怎么说中国排名第一的游戏