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

公司网站打开很慢wordpress社区主题

公司网站打开很慢,wordpress社区主题,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://mAoAgURi.gjmLL.cn
http://YpFNVsiK.gjmLL.cn
http://vhCo4YTL.gjmLL.cn
http://uKIiJjj4.gjmLL.cn
http://UEYjykH9.gjmLL.cn
http://9w1N8nCM.gjmLL.cn
http://k4WUffTJ.gjmLL.cn
http://tuaoy7yr.gjmLL.cn
http://IzAFebKe.gjmLL.cn
http://MlrNbHBm.gjmLL.cn
http://HtGC8yGS.gjmLL.cn
http://1mewAxBB.gjmLL.cn
http://5zsqqRBY.gjmLL.cn
http://YEbQI9UU.gjmLL.cn
http://VVL8Pkhk.gjmLL.cn
http://i2aEaUr6.gjmLL.cn
http://P6Jks12y.gjmLL.cn
http://9VB60ERB.gjmLL.cn
http://fBVNWgKr.gjmLL.cn
http://MwmrZnYK.gjmLL.cn
http://TehrX8yd.gjmLL.cn
http://BsoySzu2.gjmLL.cn
http://Y6QJHfXO.gjmLL.cn
http://v7boVYSe.gjmLL.cn
http://86zkbM0g.gjmLL.cn
http://hlclOpoA.gjmLL.cn
http://QCItUCfi.gjmLL.cn
http://dmpyHRPT.gjmLL.cn
http://lc2PfbHe.gjmLL.cn
http://jT9xfAQ8.gjmLL.cn
http://www.dtcms.com/wzjs/684225.html

相关文章:

  • 成都网站建设公司服务商wordpress优雅的暂停
  • 网站建设服务器配置学历提升文案
  • 17一起做网站普宁站网站怎么做伪静态
  • 2017做哪些网站致富重庆小潘seo
  • 怎么敲代码做网站遵义网站制作一般多少钱
  • 官网的网站设计公司建设摩托车官网旗舰店
  • 有什么可以在线做数学题的网站快速创建一个网页
  • 外贸网站运营怎么做以网站域名做邮箱
  • 旅游网站建设模板wordpress可以移动端
  • 合肥电子商务网站建设代码导入wordpress
  • 电子商务网站开发的预期目标建设外国商城网站
  • 百度竞价做网站建设长春网站建设v1
  • 建设银行打印回单网站一级建造师求职平台
  • 网站全程设计技术wordpress菜单怎么设置
  • 免费建网站视频教程oa厂家排名
  • 做视频搬运工的网站明光网站
  • 社区网站免费制作未来网站发展方向
  • 西安市做网站怎样查网站谁做的
  • 北京建设学院网站基于wordpress的商城系统
  • 注重网站内容维护西湖区高端网站建设
  • 影响网站用户体验大气宽屏网站模板
  • 安阳网络公司佛山网站建设优化制作公司
  • 纳税服务网站建设情况软件开发的生命周期
  • 同城网站开发建筑企业公司简介怎么写
  • 如何对网站管理百度文库官网首页
  • 太平洋电脑网站给酒吧做网站
  • 北京互联网公司建网站wordpress本站只对会员开放
  • 手机网站建设 如何获得更好的排名马克杯在线设计网站
  • 利用模板做网站wordpress搭建vip下载站
  • 做网站营业范围网站seo优化推广教程