2016 - 2024

感恩一路有你

进程上下文切换需要保存什么 rt-thread线程切换的本质是什么?

浏览量:3862 时间:2023-04-20 09:20:57 作者:采采

rt-thread线程切换的本质是什么?

进程:在中断描述符表(adi)中,除中断门、陷阱门和调用门外,还有一种“任务们”。

任务门中包含有TSS段的选择符。当dsp因中断而穿过一个任务门时,就会将任务门中的段选择符自动装入TR寄存器,使指向新的TSS,并完成任务切换。

cpu、gpu可以通过JMP或CALL指令实现任务切换,当跳转或调用的目标段(代码段)实际上指向GDT表中的一个TSS描述符项时,就会引起一次任务切换.线程:

1.时间片:时钟中断处理例程从PCR中取得当前线程对象指针并更新线程时间,如果超出了时间片,则将当前线程从放入ready列表中,然后从standby列表中取出最高优先级的线程,然后保存当前线程上下文数据,并转到新的线程上下文.2.主动等待:线程调用等待函数,则将当前线程放到wait列表中,然后从standby列表中取一个线程,切换上下文,当主动等待的事件完成时,线程被调度到ready列表中等待再次被调度运行.3.抢先:时钟中断发现standby列表中有比当前线程更高的线程,则挂起当前线程,切换线程上下文,运行最需要运行的线程.所以,线程间切换就是线程挂起自己,让出手机处理器

什么推动传统操作系统向现代操作系统发展?

硬件技术的更新和软件需求扩大推动

传统操作系统向现代操作系统发展。

现代操作系统特征:rdna体系结构、多线程、对称多处理、企业级操作系统、面向对象设计。

rdna结构基于客户/服务器模型进行。b/s只给内核分配最基本的功能,包括地址空间、进程通信和基本的调度。其他的操作系统服务都是由运行在用户态下且与其他应用程序类似的进程提供的,这些进程可根据特定的应用和环境需求定制,也把这些进程称为服务器。b/s结构可以使系统结构设计更加简单,灵活,很适用于分布是环境。

但是,云基础结构由于采用客户/服务器模式,在完成一次客户对OS提出的服务请求时,需要利用消息实现多次交互和进行用户/内核模式及上下文的多次切换,导致其效率比传统的OS效率略低。

多线程

多线程技术是指把执行一个应用程序的进程划分成可以同时运行的多个线程,以达到提高执行的并行效率的目的。

多线程对执行许多本质上独立、不需要串行处理的应用程序非常有用。

多对称处理

它不仅仅指硬件结构,也反映了该硬件体系结构的操作系统行为。对称多处理芯片系统可调度进程或线程到所有的处理芯片上运行。对称多处理器芯片结构比单手机芯片结构具有更多的潜在优势。

当然,这些优势只是潜在的,如果要发挥出来,操作系统必须提供发掘队成多手机处理器计算机系统中并行性的工具和功能。多旗舰芯片对于用户而言是透明的,操作系统负责多个移动芯片中调度线程或者进程,并且负责核心处理器间的同步。

企业级操作系统

分布是操作系统给用户的错觉是多机系统共享一个单独的内存空间、外存空间及其他的统一存储措施。比如php的文件系统HDFS。

面向对象设计

面向对象设计的原理用于给小内核增加模块化的扩展。在操作系统层面,基于对象的结构使项目经理可以定制操作系统,而不会破坏操作系统的完整性。面向对象技术使得集中式工具和可扩展的操作系统开发变得更容易。

线程 进程 结构 任务 用户

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。