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

网站怎么做移动图片不显示厦门关键词优化报价

网站怎么做移动图片不显示,厦门关键词优化报价,比较好的网页网站设计,广州的房地产网站建设信号是什么时候被处理? 进程从内核态,切换到用户态的时候,信号会被检测处理。 内核态:操作系统的状态,权限级别高 用户态:你自己的状态 内核态和用户态 进程地址空间第三次 所谓的系统调用本质其实是一堆…

信号是什么时候被处理?

进程从内核态,切换到用户态的时候,信号会被检测处理。
内核态:操作系统的状态,权限级别高
用户态:你自己的状态

内核态和用户态

进程地址空间第三次
所谓的系统调用本质其实是一堆函数指针数组。
1.我们使用系统调用或者访问系统数据,其实还是在我们进程的地址空间内进行跳转的。

2.进程无论如何切换,总能找到OS
我们访问OS,本质是通过我的进程的地址空间的[3,4]GB来访问的。
在这里插入图片描述

3.操作系统是如何运行的
信号技术本来就是通过软件的方式,来模拟的硬件中断
OS的周期时钟中断:非常高的频率,非常短的时间,给CPU发送中断——CPU不断进程处理中断。
操作系统是一个死循环,不断在接受外部的其他硬件中断。

4.操作系统不相信任何用户
必须要能区分当前用户的运行模式,所以就有了用户态和内核态。

信号是如何被处理?

在这里插入图片描述

捕捉信号还有其他方式吗?

#include <signal.h>int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);

参数说明
signum: 要操作的信号编号(如 SIGINT、SIGTERM 等)
act: 指向新信号动作结构的指针,如果为 NULL 则不改变当前处理方式
oldact: 输出型参数,用于保存原信号动作结构的指针,如果为 NULL 则不保存
返回值
成功时返回 0,失败时返回 -1 并设置 errno。

struct sigaction {void     (*sa_handler)(int);         // 信号处理函数void     (*sa_sigaction)(int, siginfo_t *, void *); // 替代的信号处理函数sigset_t sa_mask;                    // 执行处理函数时要阻塞的信号int      sa_flags;                   // 修改行为的标志void     (*sa_restorer)(void);       // 已废弃
};

关于sa_mask变量

  1. 当某个信号的处理函数被调用时,内核自动将当前信号加入进程的信号屏蔽字(屏蔽该信号)
  2. 如果我们处理完对应的信号,该信号默认也会从信号屏蔽字中进行移除。(解除屏蔽该信号)
    为什么会这样?原因:不想让信号,嵌套式地对同一个信号进行捕捉处理。

用例子解释:

#include<iostream>
#include<signal.h>
void Print(sigset_t pending)
{std::cout<<" curr process pending: ";for(int sig = 31;sig > 0;sig--){if(sigismember(&pending,sig)) std::cout << "1";else std::cout <<"0";}std::cout << std::endl;
}
void handler(int signo)
{std::cout << "signal: " << signo <<std::endl;//不断获取当前进程的pending信号集并打印sigset_t pending;sigemptyset(&pending);while(true){sigpending(&pending);Print(pending);sleep(1);}
}int main()
{struct sigaction act,oact;act.sa_handler = handler;act.sa_flags = 0;sigemptyset(&act.sa_mask);sigaction(2,&act,&oact);while(true)sleep;
}

在这里插入图片描述

在调用信号处理函数时,除了当前信号被自动屏蔽外,还希望自动屏蔽另外一些信号,则要用sa_mask字段说明。
例子:

int main()
{struct sigaction act,oact;act.sa_handler = handler;act.sa_flags = 0;sigemptyset(&act.sa_mask);sigaddset(&act.sa_mask,3);sigaddset(&act.sa_mask,4);sigaddset(&act.sa_mask,5);//除了屏蔽当前正在处理的函数,还屏蔽3,4,5号信号sigaction(2,&act,&oact);while(true)sleep;
}
http://www.dtcms.com/wzjs/159682.html

相关文章:

  • 网站建设工作职责说明书seo网站推广费用
  • 百度手机端排名如何优化seo中文含义
  • 网站开发人员职责重庆今天刚刚发生的重大新闻
  • uniapp做网站全国疫情高峰时间表最新
  • 机票网站建设方总1340812山东关键词优化联系电话
  • 营销型品牌网站建设网站关键词排名优化软件
  • 北京市专业网站制作企业上海seo网站策划
  • 网站建设的日常工作有什么竞价推广论坛
  • wordpress主题zhixina站长工具seo排名查询
  • 建设企业网站得花多少钱哈尔滨seo网络推广
  • 西安网站制作工作室网络优化大师手机版
  • 美食网站开发目的网站建设技术
  • vr网站开发真正免费建站
  • 网站根目录在哪wordpress广州软件系统开发seo推广
  • 网站推广的方法及特点厦门人才网唯一官方网站
  • 绵阳优化网站排名可以做产品推广的软件有哪些
  • 家具网站建设比较好的排名优化软件
  • 男女做鸡视频网站网页关键词排名优化
  • 做外贸的有哪些网站有哪些南京百度网站快速优化
  • 怎么提高网站百度权重哪些网站可以免费发广告
  • 环保网站案例网络营销的成功案例
  • 企业网站建设可行性分析 技能训练seo如何优化关键词
  • 网站的ab测试怎么做百度网站收录查询
  • dede网站模板页在什么文件夹国外搜索引擎排名
  • 网站 如何 备案长春网站优化服务
  • 网站建设的技术要求竞价账户托管公司哪家好
  • 在重庆_那里可以做诚信网站认证网站注册查询
  • 天河商城型网站建设最近疫情最新消息
  • 开通公司网站怎么做分录天津快速关键词排名
  • 专业做曝光引流网站网络营销郑州优化推广公司