C5、作业

本文介绍如何在Windows系统中使用作业对象来管理一组进程,包括进程的限制与通知机制。主要探讨了分配的CPU时间控制、I/O完成端口内核对象的使用方法,以及如何跟踪进程的状态变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作业(组合一组进程的实体,沙盒?)(win98不支持)

n         将进程放入作业,参见:void StartRestrictedProcess()

n         获取当前作业中的一组进程ID,参见:void EnumProcessIdsInJob(HANDLE hjob)

n         作业的通知信息:

一、分配的CPU时间是否已到期:一旦分配的CPU时间用完,OS强制撤销作业中的所有进程,并通知作业对象。可以使用:WaitForSingleObject来跟踪。但也可以再次调用SetInformationJobObject赋予更多CPU时间。如果想防止作业对象撤销进程而只是通知你超时,可以用下面方法:

a)         创建结构

JOBOBJECT_END_OF_JOB_TIME_INFORMATION joeojti;

joeojti.EndOfJobTimeAction = JOB_OBJECT_POST_AT_END_OF_JOB;

b)        设置作业对象

SetInformationJobObject(hJob, JobOjbectEndOfJobTimeInformation, &joeojti,sizeof(joeojti));

 

二、使用监听I/O完成端口内核对象方法:

a)         创建I/O完成端口内核对象hIOCP

b)        将作业与端口关联:(系统将监视该作业,当有事件发生,OS将事件送往I/O完成端口)

JOBOBJECT_ASSOCIATE_COMPLETION_PORT joacp

joacp.CompletionKey = 1;       //任何值,以确定本作业(关键字值)

joacp.CompletionPort = hIOCP;              //I/O完成端口内核对象

SetInformationJobObjecthJob JobObjectAssociateCompletionPortInformation,

                                          &joacp, sizeof(joacp));

c)        线程通过函数监控I/O完成端口:

BOOL GetQueuedCompletionStatus(HANDLE, PDWORD,PULONG_PTR, POVERLAPPED, DWORD);

使用关键字值,知道哪个作业的事件

### 关于模拟电子技术基础的作业题目与解答 #### 1. 学习资源概述 对于希望深入学习模拟电子技术的学生来说,《电子技术基础(模拟部分)》康华光版[^2] 是一本经典的教材,其内容涵盖了从基本电路元件到复杂放大器的设计等多个方面。此外,该书还提供了详细的课后练习题及解答,能够有效巩固所学知识点。 如果倾向于另一种风格的教学材料,则可以考虑殷瑞祥教授编写的《电路与模拟电子技术》[^3] 及其对应的课后答案解析。这份资料不仅有助于验证自己的解题思路是否正确,还能进一步提升对核心概念的理解程度。 --- #### 2. 常见作业题目类型 以下是模拟电子技术领域常见的几类典型作业题目: ##### (1) **二极管电路分析** 计算给定条件下二极管的状态(导通还是截止),并求解相应节点电压值。 ```plaintext 已知某简单整流桥电路输入交流信号峰值为Vp=10V, 负载电阻R_L=1kΩ, 试问理想情况下输出直流平均电流是多少? ``` ##### (2) **BJT 放大器设计** 围绕双极型晶体管(BJT),完成共射极放大器增益、输入阻抗和输出阻抗等相关参数估算。 ```plaintext 假设β=100,V_BE(on)=0.7V,R_C=2kΩ,R_E=500Ω,V_CC=12V. 当基极偏置电流I_BQ设定为20μA时,请确定集电极静态工作点位置(Q-point). ``` ##### (3) **MOSFET 应用实例** 针对金属氧化物半导体场效应晶体管(MOSFET),探索源跟随器配置下的性能表现。 ```plaintext 设NMOS器件阈值电压VTN=-1V,Kn'=μ_n C_ox(W/L), 其中W/L比例系数等于80 μm/um,gate-source间施加固定DC bias V_GS=2V. 请求出此时漏极电流ID近似表达式。 ``` --- #### 3. 推荐工具与平台支持 为了更好地辅助学习过程,除了纸质书籍外还可以借助在线开放资源库获取更多样化的训练素材。例如GitCode平台上托管的相关项目文件夹就包含了大量实用文档链接[^2][^3]: - `https://gitcode.com/open-source-toolkit/e6c5b` 提供了康华光版本的标准参考方案; - 同理访问路径 `https://gitcode.com/open-source-toolkit/d2af2`, 用户同样能下载得到由殷老师整理出来的详尽指导手册副本。 另外值得注意的是,在日常复习期间应当注重理论联系实际动手能力的发展——积极参与实验室环节活动或者自行搭建小型测试环境均是非常有益的做法! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值