Linux_PCB

进程控制块 PCB 
每个进程在内核中都有一个进程控制块(Processing Control Block),Linux内核的进程控制块是task_struct结构体,用来维护进程相关的信息,主要表示进程状态。其作用是使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位或与其它进程并发执行的进程。PCB通常是系统内存占用区中的一个连续存区,它存放着操作系统用于描述进程情况及控制进程运行所需的全部信息。

进程控制块(PCB)是系统为了管理进程设置的一个专门的数据结构。系统用它来记录进程的外部特征,描述进程的运动变化过程。同时,系统可以利用PCB来控制和管理进程,所以说,PCB(进程控制块)是系统感知进程存在的唯一标志。

PCB包含信息:
                       进程id、用户id和组id
                       程序计数器
                       进程的状态(有就绪、运行、阻塞)
                       进程切换时需要保存和恢复的CPU寄存器的值
                       描述虚拟地址空间的信息
                       描述控制终端的信息
                       当前工作目录
                       文件描述符表,包含很多指向file结构体的指针
                       进程可以使用的资源上限(ulimit –a命令可以查看)
                       输入输出状态:配置进程使用I/O设备,如磁带机。

进程控制块PCB的组织方式:双向循环链表
1.线性表方式:不论进程的状态如何,将所有的PCB连续地存放在内存的系统区。适用于系统中进程数目不多。
2.索引表方式:该方式是线性表方式的改进,系统按照进程的状态分别建立就绪索引表、阻塞索引表。
3.链接表方式:系统按照进程的状态将进程的PCB组成队列,从而形成就绪队列、阻塞队列、运行队列等。

新创建的一个进程:先生成PCB,再生成进程主题
销毁一个进程:先销毁进程主题,再销毁PCB

pcb源码:https://blog.csdn.net/mcl2840072208/article/details/88309037

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux开发板是指一种基于Linux操作系统的专用板卡,用于嵌入式系统开发和应用。它是通过在PCB上布置特定的元件和接口,实现与外部设备的连接和通信。 Linux开发板的PCB设计需要考虑多个因素。首先是电路的可靠性和稳定性,确保各个元件的供电和信号传输的稳定性。其次,需要根据应用需求选择合适的处理器、存储器和其他集成电路,并进行合理的布局和连接。此外,还需要考虑外部接口的数量和类型,例如USB、以太网、串口等。 在PCB设计中,还需要注意信号完整性和EMC(电磁兼容性)的问题。信号完整性包括信号损耗、信号串扰等,需要采取合适的层次布局、地线设计和阻抗匹配等措施来保证。EMC问题主要是为了防止外部干扰对电路的影响以及电路对外部设备产生的干扰,例如通过合理的屏蔽、地线设计和滤波器来减少EMI(电磁干扰)的产生和传播。 另外,为了方便使用和开发,Linux开发板还需要提供相应的调试和扩展接口。例如,可以设计调试接口,方便开发人员进行代码调试和测试。同时,还可以设计扩展接口,例如GPIO、I2C、SPI等,方便用户根据自身需求进行硬件扩展和外设连接。 总之,Linux开发板的PCB设计需要充分考虑性能、可靠性、信号完整性和用户需求等多个方面,以实现高性能、稳定可靠的嵌入式系统开发和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值