多任务抢占式调度器

怎甘沉沦 提交于 2020-01-16 08:49:19

以ARM9为平台,介绍一个多任务抢占式调度器。抢占式调度器提供:延时,挂起,恢复任务操作。没有加入信号量邮箱等同步通信机制,只是实现一个基本的任务调度功能。

多任务原理的印象<建立一个属于自己的AVR的RTOS>,自己要好好看这篇文章。循序渐进,一步步把简单的东西弄懂了,便没有复杂的了,所谓水到渠成。

  • 操作系统(operating system (os))是一种系统软件,它在计算机硬件和应用程序之间,通过提供应用程序接口( application programming interface API),屏蔽了计算机硬件工作的一细节,提供一个友好的平台,方便应用程序的设计和开发。主要是包括以下几个方面:进程管理;存储管理;设备管理;文件管理;作业管理等。
    • 进程管理:其工作主要是进程的调度 ,在单用户单任务的情况下,处理器仅为一个用户的一个任务所占用,进程管理的工作就十分简单。但是在多道程序或多用户的情况下,组织多个作业或任务时,需要解决处理器的调配、分配和回收等问题;
    • 存储管理分为:存储分配,存储共享、存储保护、存储扩张等几个功能
    • 设备管理分为:设备分配、设备传输控制、设备独立性等
    • 文件管理:文件存储空间的管理、目录管理、文件操作管理、文件保护
    • 作业管理负责处理用户提交的任何要求。
  • 多任务OS设计(在ARM9上运行简单的多任务调度器),需要直观的看下多任务的代码和单任务程序(前后台系统)的区别。
    • 多任务最大的好处是充分利用硬件资源,单任务时采用大循环结构,遇到delay函数,CPU在空转;而多任务系统,遇到delay或需要等待资源时,系统会自动的执行下一个任务,当条件满足时,在回来运行先前的任务,这样就充分提高了CPU的运行效率。
  • 如何实现多任务?
    • 只有一个CPU,如何才能在同一时间实现多个独立程序的运行?只有当每个任务互相独立时,每个任务要有自己的CPU、堆栈、程序代码区、数据存储区,这个任务就是一个独立的任务。
  • 操作系统对处理器的管理主要是中断和任务调度的管理。
  • 根据对事物响应能力的区分,操作系统分为实时操作系统和分时操作系统。
    • 什么是嵌入式实时操作系统?
      • 多任务管理:嵌入式实时操作系统会提供多任务管理函数,是程序设计者设计多线程的应用程序。实时系统会体提供良好的任务调度机制,控制任务的启动、运行、暂停和结束。
  • 复杂工程项目的管理:批处理文件,不仅可以一次启动一批命令,而且还可以用鼠标算计图标的方式进行启动,是一种很方便的命令行工具。故通常把批处理文件、makefile和连接文件结合使用,用来提高程序开发效率。
  • 实时操作系统的内核主要是对任务的管理和调度,任务分为用户任务和系统任务。
    • 任务主要由3部分组成:任务代码,任务控制块和任务堆栈。
    • 优先级别表示任务优先权的参数
    • 任务就绪表结构及其操作,任务的切换及调度。
  • 嵌入式实时操作系统预定义了2个系统任务:空闲任务和统计任务。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!