操作系统-OS概述(一)

一、实时操作系统

        提供实时任务调度、资源管理和任务间通信的机制和服务

       OS是位于载体硬件和软件之间的软件,负责资源的分配和管理,操作系统的核心是内核,OS的内核始终运行在系统模式,其他程序运行在用户模式。

1、进程管理

        集成是运行中的程序实例。是OS的基本工作单元,程序是静态的实体,进行是动态的实体,进行需要进行资源调用,包括CPU/Memory/IO等。

        同一进程里里面的多个线程共享相同的地址空间,不同进程的线程并不是这样,多个线程还共享全局变量,文件描述符等。

操作系统-OS概述(一)_第1张图片

        在嵌入式的OS里面任务描述的是线程或者单线程进程,独一无二的标识符表示PID,内存里面存储的是数据和指令。虚拟内存技术可以保证每个进程在自身独立的地址空间运行。

2、内存管理

        内存中存储的是数据和指令,绝大多数应用程序并不知道物理地址,它们使用的是逻辑地址,逻辑地址是正在执行的应用程序看到的存储器位置所在的位置。

3、中断管理

        中断信号来自计算机连接的设备或者计算机内运行的某个进程,现代OS是中断驱动的,所有活动都由中断的到来引发。中断通过中断向量将控制器转移给ISR,中断向量表包含了所有中断服务程序的地址,中断架构必须保存被中断指令的地址,如果有中断正在响应,那么即将到来的中断将会被忽略,系统调用是一种软件产生的中断,可能由于错误或者用户请求而引发。

4、多任务

        多任务指OS支持多个相互独立的任务在同一个载体上运行,这种功能主要通过分时复用实现,也就是每个程序共享计算机的运行时间。

        每个任务都有一个上下文,这个上下文是存放于任务控制中的一组数据,用于显示任务的执行状态,任务控制块则是一个包含了与任务执行相关的所有信息的数据结构,当调度器将一个任务切出CPU时,该任务的上下文将被存储起来,当该任务继续执行时,该任务的上下文将会被恢复,这样该任务可以从上次中断的点继续执行,在任务执行期间,存储和恢复任务上下文的过程称为上下文切换。

操作系统-OS概述(一)_第2张图片

 上下文切换时多任务处理的开销。

5、文件管理

        目前AUTOSAR OS尚未遇到过,暂不区解析什么

6、I/O管理

        对于存储器映射I/O,每个I/O设备在I/O地址空间占据部分地址,通过I/O地址空间中的物理存储位置可以实现I/O设备和处理器之间的通信,通过对相应的地址进行读或写操作,处理器可以获得I/O设备的信息或者向其发送命令。

        I/O操作具有较大的延迟,绝大多数延迟由低速外设导致,例如,在磁盘将目标扇区旋转到读/写磁头下之前,磁盘信息无法读取或写入,通过给外设增加与之关联的输入和输出缓存可以降低延迟。

7、RTOS的内核特性

        RTOS设计的三个关键性要求:

        1、OS的时间特性必须时可预测的,所有OS提供的服务,其执行时间的上限必须时可预知的,包括系统调用和中断处理服务。

        2、OS必须管理着时序和调度,调度器必须了解任务的截至期。

        3、OS必须快,例如:上下文的切换时间必须短,一个快速的OS有助于改善系统的软实时约束及保证硬的截止期。

内核主要在于:时间调度、中断处理、内存管理。

操作系统-OS概述(一)_第3张图片

8、时钟和定时器

        在大多数RTOS内核中时间长度由系统节拍的数量表示,RTOS的工作原理时设置一个硬件定时器来周期性的中断,比如1ms更新一次,并根据中断建立所有的程序,定时器也叫心跳定时器,中断也称为时钟中断。

9、优先级调度

        由于实时任务具有软或硬的截至日期,所有任务的紧迫性并不相同,截止期短的任务应该优于截止期长的任务执行。实时应用系统的任务调度通常是基于优先级的、抢占式的调度。

 10、实时信号

        信号和软件中断类似,在RTOS中,当子进程终止时,信号自动传递给父进程,信号也可用于其他的同步和异步通知。

11、信号量

        信号量时用于控制进程或线程间共享资源访问的计数器,信号量的值时当前可用的资源数,信号量有两个基本的操作,一个是计数值自动增加,另一个是等到计数器非空并自动减少计数值,信号量跟踪有多少可用的资源,并不关注可用的资源是什么。

        二进制信号量等同于互斥锁,适用于在任何时刻都只能由一个任务使用资源的场合。

12、消息传递

        消息传递的基本操作是发送和接收,消息传递可以是直接或者间接的,消息传递中,需要通信的进程必须清晰的指定接收或发送者,消息的传递可以是同步或者异步的,同步传递发送进程会阻塞直到执行完消息原语,异步消息传递中,发送进程会立即获得控制权。

13、共享内存

        共享内存是RTOS将公共物理内存空间映射到独立特定进程进程虚拟空间的一种方法,共享内存常用于不同进程或者线程间共享信息(资源),共享内存必须是独占访问的,因此需要用互斥锁或信号量保护内存区域,任务中访问共享数据的代码段称为临界区

        使用共享内存的一个副作用是它可能导致优先级反转,即出现低优先级任务在运行而高优先级任务在等待的情形。

RTOS示例

        1、LynxOS

        2、OSE

        3、QNX

        4、VxWorks

        

你可能感兴趣的:(AUTOSAR,-,OS,java,开发语言)