操作系统
计算机操作系统相关
MarkeyL
网络行业某产品部门开发,日常工作内容涉及嵌入式网络设备SSLVPN,国密,数字证书等模块.
同时也做一些SDWAN体系中集中管理平台的开发工作,也会经常和java打交道.
21年有跨平台图形客户端相关的工作内容,又开始接触C++和QT,以及qml.
展开
-
为什么中断上下文中不能睡眠
中断发生以后,CPU跳到内核设置好的中断处理代码中去,由这部分内核代码来处理中断。这个处理过程中的上下文就是中断上下文。为什么可能导致睡眠的函数都不能在中断上下文中使用呢? 首先睡眠的含义是将进程置于“睡眠”状态,在这个状态的进程不能被调度执行。然后,在一定的时机,这个进程可能会被重新置为“运行”状态,从而可能被调度 执行。 可见,“睡眠”与“运行”是针对进程而言的,代表进程的task_struct结构记录着进程的状态。内核中的“调度器”通过task_struct对进 程进行调度。但是,中断上下文却不是原创 2021-12-14 15:09:04 · 1129 阅读 · 0 评论 -
进程间通信
背景各进程的内存地址相互独立进程间的通信需要有操作系统的支持.共享存储Linux系统如何实现共享存储://注:通过“增加页表项/段表项”即可将同一片共享内存区映射到各个进程的地址空间中(第三章内容)// 通过 shm_open 系统调用,申请一片共享内存区int shm_open(......);// 通过 mmap 系统调用,将共享内存区映射到进程自己的地址空间void * mmap (......);为避免出错,各个进程对共享空间的访问应该是互斥的。各个进程需要自己来实现原创 2021-09-07 11:31:06 · 1852 阅读 · 1 评论