Linux 黑历史:usleep/nanosleep——设计失败的 API

作者&投稿:历视 (若有异议请与网页底部的电邮联系)
~ 在处理器技术中,大家熟知处理器在自旋等待状态下会付出性能代价,消耗电能,占用计算资源,可能对系统整体性能产生负面影响。为解决这一问题,Intel在奔腾4中引入了PAUSE指令,专门用于缓解自旋等待的性能损失,其设计初衷即为“Spin Loop Hint”。

然而,在过去的Linux内核和系统库中,存在着大量的次优化自旋锁和轮询,这些被过度使用的代码背后,是某些人对“精巧”、“实时”、“精准控制”等概念的过度吹嘘,而当时Windows等系统已实现了用户认可的抢占式任务调度。Linux在引入线程功能上相对滞后,早期的多任务和异步功能的实现并不完善,usleep和nanosleep就是在这样的背景下诞生的两个API。

usleep和nanosleep初看似乎解决了微秒级甚至纳秒级睡眠的问题,但实际上它们更像是自旋等待的变种,不完全符合睡眠的典型语义,反而会消耗大量CPU资源。早期的Linux开发人员常常因为这些API的误用而遇到问题。

随着时间的推移,POSIX标准的引入和内核版本的更新(如Linux 2.5.39),对usleep和nanosleep的行为进行了修正,使其行为更接近其他操作系统,如Windows。这一修正导致了API设计上的争议,支持者认为这是Linux风格的体现,反对者则认为应保持睡眠行为的清晰性。这一问题在Linux的发展中留下了痕迹。

如今,尽管早期的误导已经过去,Linux在系统定时器周期上也有所进步,从最初的15.625ms提升到了更小的值。对于编程而言,准确理解wait和sleep的使用,以及在高精度时序需求下选择spinwait,都显得尤为重要。同时,嵌入式系统和多媒体游戏应用的定时器精度需求各不相同,需要针对具体环境进行选择。

Windows系统虽然没有usleep这样的API,但KeDelayExecutionThread和ExSetTimerResolution等提供了类似功能。总的来说,Linux在实时性方面虽然不是专业设计,但通过优化驱动和内核,已能满足多媒体和游戏应用的基本需求。


海阳市13611125026: linux中nohup和&有什么区别 -
错图利力: sh 22.sh & 将任务放到后台 ,即使关闭xshell退出当前session依然继续运行,但标准输出和标准错误信息会丢失 nohup sh 22.sh 将任务放到后台,关闭标准输入,前台不再能够接收任何输入(标准输入),重定向标准输出和标准错误到当前目录下的nohup.out文件,即使关闭xshell退出当前session依然继续运行.nohup sh 22.sh & 将任务放到后台,但是依然可以使用标准输入,前台能够接收任何输入,重定向标准输出和标准错误到当前目录下的nohup.out文件,即使关闭xshell退出当前session依然继续运行.

海阳市13611125026: 独家童话凌超肖兔第几集在一起
错图利力: 独家童话凌超肖兔第17集在一起.凌超借机向肖兔表白,称二人从小青梅竹马长大,都知道对方的黑历史,也能相互包容,在一起是最合适不过的,肖兔没想到凌超会在这样的场合表白,不过并没太煞风景,她故作矜持地表示,一切等他拿到竞赛第一再说,显然这也是借口,她的心里早已接受了凌超.凌超如愿拿到了第一,他和肖兔的情侣关系也正式确立.

海阳市13611125026: debian linux的发展史 详细点. -
错图利力: Debian 是一套为了您的计算机所设计的自由操作系统 (OS).操作系统是使计算机运行的基本程序和工具的集合.Debian 使用 Linux 核心(操作系统的最重要部份),但大部份的基本工具则来自 GNU 计划,因此我们称为 GNU/Linux. ...

海阳市13611125026: linux有几种shell -
错图利力: Linux系统提供多种不同的Shell以供选择. 常用的有Bourne Shell(简称sh)、C-Shelll(简称csh)、Korn Shell(简称ksh)和Bourne Again Shell (简称bash).Bourne Shell是AT&T Bell实验室的 Steven Bourne为AT&T的Unix开发的,它是Unix...

海阳市13611125026: 抖音痞幼黑历史是什么?网红痞幼黑资料
错图利力: 这位痞子一直很火,主要还是前阵子和车圈几位大佬一起拍的抖音视频,有猴哥、陈... 抖音痞幼黑历史是什么?网红痞幼黑资料爆红不久,痞幼就被曝出黑历史,痞幼之前...

海阳市13611125026: 怎样清除域名黑历史 -
错图利力: 有黑历史很难搞的.看有多黑,如果是被安全软件提示风险,可以去对应的机构去申诉.如果是被国家封了,基本等于废了.

海阳市13611125026: 肖战227事件是怎么回事?
错图利力: 因肖战一些粉丝的举报行为,导致同人文网站ao3平台被禁,相关其他平台的视频内容也被删,遭到网友不满,成立了“227历史时刻”超话,记录肖战粉丝与ao3和lofter事...

海阳市13611125026: 许多人称汤显祖为中国的莎士比亚的原因,主要是因为他戏剧创作同样取得了伟大成就,学者们同时提醒我们,黑有个历史的巧合,两人都逝世于1616年.该... -
错图利力:[答案] “许多人称汤显祖为中国的莎士比亚的原因”中已经提到了原因,后边只能说“主要是”,而不能说“主要是因为”,“原因... “许多人称汤显祖为中国的莎士比亚,主要是因为他戏剧创作同样取得了伟大成就,学者们同时提醒我们,还有个历史的巧...

海阳市13611125026: 下列诗句中对划线词句的理解有误的一项是 ( ). -
错图利力:[选项] A. 照你在历史的隧洞里蜗行摸索(“历史的隧洞”指祖国曾有过的漫长而黑暗的历史) B. 千百年未落到地面的花朵(“未落到地面的花朵”比喻没能变成现实的美好理想) C. 刚从神话的蛛网里挣脱(比喻虚幻的空想像蛛网一样,可以被轻易抹去) D. 是绯红的黎明/正在喷薄(“绯红的黎明”“喷薄”喻指祖国的前程蒸蒸日上,灿烂辉煌)

海阳市13611125026: 黑芝麻胡同历史来历 -
错图利力:[答案] 黑芝麻胡同位于区域的西北部,呈东西走向,东起南锣鼓巷,西止南下洼子胡同,南邻沙井胡同,北靠着前鼓楼苑胡同,全长265米,宽5米,黑芝麻胡同明朝属昭回靖恭坊,称何纸马胡同,清朝属镶黄旗,宣统时称黑芝麻胡同. 历史传说 据传,此...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网