- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统及ThreadX简介
操作系统及ThreadX简介 软件二部 2006.09 主要内容 多任务操作系统概述 ThreadX简介 关于驱动的交流 操作系统概述 什么是操作系统 管理计算机的所有资源,并为应用程序提供服务的最重要的系统软件 操作系统的目的 为用户编程提供简单的接口,屏蔽复杂的硬件细节 有效管理并协调分配系统的软硬件资源,提高资源利用率和计算机系统的效率 多任务操作系统概述 任务调度 通信 I/O 内存管理 文件系统 时间管理 任务 多任务操作系统(Multitasking operating system) 可以同时并发执行多个进程/线程 操作系统维护进程/线程表,记录所有正在运行的任务的当前状态 内存地址空间(address space):可执行代码、数据、栈(进程和线程是有区别的) 寄存器:指令计数器、栈指针寄存器等 其他信息 进程和线程的区别 进程和线程的主要差别体现在不同的操作系统资源管理方式 进程有独立的地址空间 线程有自己的堆栈,但线程之间共享地址空间 任务调度方法 时间片调度 优先级调度 静态优先级 动态优先级 混合调度 通信 通信机制在任务之间提供了通信的能力 管道 Socket 事件 信号 消息 I/O 一般来说I/O设备分为两类 块设备 地址固定,大小固定 可以块读写 如Flash设备 字符设备 以字符流方式收发 如串口等 I/O 很多操作系统允许将I/O设备看作文件 块特殊文件(block special files) 字符特殊文件(character special files) I/O 设备 地址 控制寄存器 数据缓冲 中断 I/O软件目标 设备无关 程序可以操作任意设备 无需预先指定设备 统一命名 通过文件名/字符串/ID方式使用统一的操作 错误处理 尽可能在接近硬件的层次处理硬件错误 设备接口设计 同步设备vs.异步设备 查询vs.中断 软件缓冲 共享设备vs.独占设备 内存管理 理想编程希望内存和实际使用中的内存性能存在冲突: 大vs.有限 快vs.部分速度快 稳定vs.有可能受干扰 内存管理的方式 分级管理 单级管理 文件系统 文件系统包含的操作 目录 文件 文件系统的组成方式 文件 ThreadX线程调度-控制块结构 typedef struct TX_THREAD_STRUCT { ULONG tx_thread_id; /* Control block ID */ ULONG tx_run_count; /* Threads run counter */ VOID_PTR tx_stack_ptr; /* Threads stack pointer */ VOID_PTR tx_stack_start; /* Stack starting address */ VOID_PTR tx_stack_end; /* Stack ending address */ ULONG tx_stack_size; /* Stack size */ ULONG tx_time_slice; /* Current time-slice */ ULONG tx_new_time_slice; /* New time-slice */ struct TX_THREAD_STRUCT *tx_ready_next, *tx_ready_previous; CHAR_PTR tx_thread_name;/* Pointer to threads name */ UINT tx_priority; /* Priority of thread (0-31)*/ UINT tx_state; /* Threads execution state */ UINT tx_delayed_suspend;/* Delayed suspend flag */ UINT tx_suspending; /* Thread suspending flag */ UINT tx_preempt_threshold;/* Preemption threshold */ ULONG tx_priori
文档评论(0)