当前位置: 首页 > news >正文

做文件的网站网站优化建设

做文件的网站,网站优化建设,做网站的入门书籍,网络营销是什么专业的课虽然Linux系统功能强大、实用性强、易于软件的二次开发,并且提供编程人员熟悉的标准API。但是由于Linux系统一开始就被设计成GPOS(通用操作系统),它的目的是构建一个完整、稳定的开源操作系统,尽量缩短系统的平均响应时间,提高吞吐…

虽然Linux系统功能强大、实用性强、易于软件的二次开发,并且提供编程人员熟悉的标准API。但是由于Linux系统一开始就被设计成GPOS(通用操作系统),它的目的是构建一个完整、稳定的开源操作系统,尽量缩短系统的平均响应时间,提高吞吐量,注重操作系统的整体功能需求,达到更好地平均性能。(在操作系统中,我们可以把吞吐量简单的理解为在单位时间内系统能够处理的事件总数。)嵌入式定制

因此在设计Linux的进程调度算法时主要考虑的是公平性,也就是说,调度器尽可能将可用的资源平均分配给所有需要处理器的进程,并保证每个进程都得以运行。但这个设计目标是和实时进程的需求背道而驰的,所以标准Linux并不提供强实时性。

Linux系统实时性不强使其在嵌入式应用中有一定的局限性,主要是受内核可抢占性、进程调度方式、中断处理机制、时钟粒度等几个方面的制约,具体如下:

(1) 进程调度

Linux系统提供符合POSIX标准的调度策略,包括FIFO调度策略(SCHED_FIFO)、带时间片轮转的实时调度策略(SCHED_RR)和静态优先级抢占式调度策略(SCHED_OTHER)。Linux进程默认的调度策略为SCHED_OTHER,这种调度方式虽然可以让进程公平地使用CPU和其它资源,但是并不能保证对时间要求严格或者高优先级的进程将先于低优先级的执行,这将严重影响系统实时性。那么,将实时进程的调度策略设置为SCHED_FIFO 或SCHED_RR ,似乎使得Linux系统具备根据进程优先级进行实时调度的能力,但问题在于,Linux系统在用户态支持可抢占调度策略,而在内核态却不完全支持抢占式调度策略。这样运行在Linux内核态的任务(包括系统调用和中断处理)是不能被其它优先级更高的任务所抢占的,由此引起优先级逆转问题。

(2) 内核抢占机制

Linux的系统进程运行分为用户态和内核态两种模式。当进程运行在用户态时,具有高的优先级的进程可以抢占进程,可以较好地完成任务;但是当进程运行在内核态时,即使其他高优先级进程也不能抢占该进程。当进程通过系统调用进入内核态运行时,实时任务必须等待系统调用返回后才能获得系统资源。这和实时系统所要求的高优先级任务运行是相互矛盾的。

当然,这种情况在Linux2.6版本的内核发布以来有了显著改进,Linux2.6版本后的内核是抢占式的,这意味着进程无论在处于内核态还是用户态,都可能被抢占。Linux2.6以后的内核提供以下3种抢占模式供用户选择。

PREEMPT_NONE——没有强制性的抢占。整体的平均延时较低,但偶尔也会出现一些较长的延时。它最适合那些以整体吞吐率为首要设计准则的应用。

PREEMPT_VOLUNTARY——降低延时的第一阶段。它会在内核代码的一些关键位置上放置额外的显示抢占点,以降低延时。但这是以牺牲整体吞吐率为代价的。

PREEMPT/PREEMPT_DESKTOP——这种模式使内核在任何地方都是可抢占的,临界区除外。这种模式适用于那些需要软实时性能的应用程序,比如音频和多媒体。这也是以牺牲整体吞吐率为代价的。

(3) 中断屏蔽

Linux在进行中断处理时都会关闭中断,这样可以更快、更安全地完成自己的任务,但是在此期间,即使有更高优先级的实时进程发生中断,系统也无法响应,必须等到当前中断任务处理完毕。这种状况下会导致中断延时和调度延时增大,降低Linux系统的实时性。

(4) 时钟粒度粗糙

时钟系统是计算机的重要组成部分,相当于整个操作系统的脉搏。系统所能提供的最小时间间隔称为时钟粒度,时钟粒度与进程响应的延迟性是正比关系,即粒度越粗糙,延迟性越长。但时钟粒度并不是越小越好,就同等硬件环境而言,较小的时间粒度会导致系统开销增大,降低整体吞吐率。

在Linux2.6内核中,时钟中断发生频率范围是50~1200Hz,周期不小于0.8ms,对于需要几十微秒的响应精度的应用来说显然不满足要求。而在嵌入式Linux系统中,为了提高整体吞吐率,时钟频率一般设置为100HZ或250HZ。

另外,系统时钟负责软定时,当软定时器逐渐增多时会引起定时器冲突,增加系统负荷。

(5) 虚拟内存管理

Linux采用虚拟内存技术,进程可以运行在比实际空间大得多的虚拟空间中。在分时系统中,虚拟内存机制非常适用,然而对于实时系统这是难以忍受的,频繁的页面换进换出会使得系统进程运行无法在规定时间内完成。

对于此问题,Linux系统提供内存锁定功能,以避免在实时处理中存储页被换出。

(6) 共享资源的互斥访问差异

多个任务互斥地访问同一共享资源时,需要防止数据遭到破坏,系统通常采用信号量机制解决互斥问题。然而,在采取基于优先级调度的实时系统中,信号量机制容易造成优先级倒置,即低优先级任务占用高优先级任务资源,导致高优先级任务无法运行。

虽然从2.6.12版本之后,Linux内核已经可以在较快的x86处理器上实现10毫秒以内的软实时性能。但如果想实现可预测、可重复的微秒级的延时,使Linux系统更好地应用于嵌入式实时环境,则需要在保证Linux系统功能的基础上对其进行改造。

http://www.lbrq.cn/news/2470051.html

相关文章:

  • 织梦播放器网站苏州关键词排名提升
  • 拉萨做网站公司sem网络营销
  • 服务器里面如何做网站江门seo推广公司
  • 用c 做网站可以吗软文发布平台媒体
  • 网站头部固定网络营销过程步骤
  • 开服表网站开发创建一个网站
  • 网站建设比较好的网站发布与推广方式
  • 网站开发费用算无形资产关键词优化上海
  • 湖南土特产销售网网站建设制作武汉网站设计十年乐云seo
  • 代办公司执照重庆seo按天收费
  • 电商网站建设公司网站首页制作网站
  • 企业网站案例分析厦门seo关键词排名
  • 团员信息查询系统入口丽水网站seo
  • 营销网络是什么意思网站优化的主要内容
  • wordpress同步空间seo策略有哪些
  • 免费网站建设seo百度竞价品牌广告
  • 用什么网站推广广州网络优化最早的公司
  • 政府网站建设费用营销型网站定制
  • html5 单页 响应式 网站模板网络营销有什么
  • 明年做哪些网站致富新闻网站排行榜
  • 河北邢台有什么好玩的地方信息流优化师是干什么的
  • 商贸公司的网站建设百度网盘搜索引擎网站
  • 怎样制作网站站点湖南网站制作哪家好
  • 自己做的网站可以上架烟吗微信拓客的最新方法
  • php网站怎么做seo基础理论
  • 衡水网站建设套餐网站策划报告
  • 电子产品开发流程余姚网站seo运营
  • 做英语阅读的网站怎么制作网站教程步骤
  • 职教mooc建设委员会网站seo搜索引擎优化包邮
  • 广州微网站建设哪家好电商网站设计
  • k8s之控制器详解
  • 双指针算法介绍及使用(下)
  • OSPF之多区域
  • MNIST 手写数字识别模型分析
  • MySQL 表的操作
  • redis常用数据类型