AUTOSAR_EXP_PlatformDesign - 04.Operating System

2024-01-06 12:18

本文主要是介绍AUTOSAR_EXP_PlatformDesign - 04.Operating System,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

AUTOSAR_EXP_PlatformDesign - 04.Operating System

【translated by sky8336, 2019.06.07, Shanghai】

04.Operating System

4.1 Overview 

操作系统(OS)负责自适应平台上所有应用程序的运行时调度、资源管理(包括管理内存和时间限制)和进程间通信。操作系统与执行管理一起工作,执行管理负责平台初始化,并使用操作系统执行应用程序的启动和关闭。

 

自适应平台没有为高性能处理器指定新的操作系统。相反,它定义了一个执行上下文和用于自适应应用程序的操作系统接口(OSI)。

 

OSI规范包含的应用程序接口是ARA的一部分,ARA是Adaptive application的标准应用程序接口。操作系统本身很可能提供执行所需的其他接口,例如创建进程,EM需要它来启动应用程序。然而,提供这些功能的接口,包括其他接口,都不能作为ARA的一部分,并且被定义为依赖于平台实现。

 

OSI同时提供C和c++接口。在C程序的情况下,应用程序的主要源代码业务逻辑包括定义在POSIX标准中的c函数调用,即IEEE1003.13[1]中定义的PSE51。在编译过程中,编译器确定平台操作系统中的哪个C库提供了这些C函数,运行时应链接可执行的应用程序。
对于c++程序,应用程序软件组件的源代码包括c++标准及其标准c++库中定义的函数调用。

 

4.2 POSIX 

市场上有几种操作系统,例如Linux,提供了POSIX兼容的接口。但是,与平台服务和基础相比,应用程序需要使用更受限制的操作系统API。

 

一般的假设是,用户应用程序应该使用PSE51作为操作系统接口,而平台应用程序可以使用全POSIX。如果在应用程序级别上需要更多的特性,它们将从POSIX标准中提取,而不是在可能的情况下重新指定。

 

Adaptive Platform Foundation和Adaptive Platform Services功能的实现可能会使用进一步的POSIX调用。特定调用的使用将对实现者开放,而不是标准化。

 

4.3 Scheduling 

操作系统提供多线程和多进程支持。标准调度策略是SCHED_FIFO和SCHED_RR,它们由POSIX标准定义。允许使用其他调度策略,如SCHED_DEADLINE或任何其他特定于操作系统的策略,但限制是不能跨不同的AP实现移植这些策略。

 

4.4 Memory management 

支持多进程的原因之一是为了实现不同功能集群和AA之间的“freedom of interferences”。OS对多进程的支持迫使每个进程位于一个独立的地址空间中,与其他进程隔离并受到保护。同一个可执行文件的两个实例在不同的地址空间中运行,这样它们可以共享相同的入口点地址和代码以及启动时的数据值,但是,数据将位于内存中的不同物理页面中。

 

4.5 Device management 

设备管理将在POSIX PSE51接口下提供。细节参考POSIX 规范说明。

 

-----------------------

【end-2019.06.07】

这篇关于AUTOSAR_EXP_PlatformDesign - 04.Operating System的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/576328

相关文章

取得 Git 仓库 —— Git 学习笔记 04

取得 Git 仓库 —— Git 学习笔记 04 我认为, Git 的学习分为两大块:一是工作区、索引、本地版本库之间的交互;二是本地版本库和远程版本库之间的交互。第一块是基础,第二块是难点。 下面,我们就围绕着第一部分内容来学习,先不考虑远程仓库,只考虑本地仓库。 怎样取得项目的 Git 仓库? 有两种取得 Git 项目仓库的方法。第一种是在本地创建一个新的仓库,第二种是把其他地方的某个

Partical System

创建"粒子系统物体"(点击菜单GameObject -> Create Other -> Particle System) 添加"粒子系统组件"(点击Component -> Effects  ->Particle System) 粒子系统检视面板  点击粒子系统检视面板的右上角的"+"来增加新的模块。(Show All Modules:显示全部) 初始化模块: •

小技巧绕过Sina Visitor System(新浪访客系统)

0x00 前言 一直以来,爬虫与反爬虫技术都时刻进行着博弈,而新浪微博作为一个数据大户更是在反爬虫上不遗余力。常规手段如验证码、封IP等等相信很多人都见识过…… 当然确实有需要的话可以通过新浪开放平台提供的API进行数据采集,但是普通开发者的权限比较低,限制也比较多。所以如果只是做一些简单的功能还是爬虫比较方便~ 应该是今年的早些时候,新浪引入了一个Sina Visitor Syst

浙大数据结构:04-树7 二叉搜索树的操作集

这道题答案都在PPT上,所以先学会再写的话并不难。 1、BinTree Insert( BinTree BST, ElementType X ) 递归实现,小就进左子树,大就进右子树。 为空就新建结点插入。 BinTree Insert( BinTree BST, ElementType X ){if(!BST){BST=(BinTree)malloc(sizeof(struct TNo

System.getProperties().

Java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor.url Java 供应商的 URL java.home Java 安装目录 java.vm.specification.version Java 虚拟机规范版本 java.vm.specification.vendor

12C 新特性,MOVE DATAFILE 在线移动 包括system, 附带改名 NID ,cdb_data_files视图坏了

ALTER DATABASE MOVE DATAFILE  可以改名 可以move file,全部一个命令。 resue 可以重用,keep好像不生效!!! system照移动不误-------- SQL> select file_name, status, online_status from dba_data_files where tablespace_name='SYSTEM'

linux 内核提权总结(demo+exp分析) -- 任意读写(四)

hijack_modprobe_path篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm     原理同hijack_prctl, 当用户执行错误格式的elf文件时内核调用call_usermod

linux 内核提权总结(demo+exp分析) -- 任意读写(三)

hijack_prctl篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm   prctl函数: 用户态函数,可用于定制进程参数,非常适合和内核进行交互 用户态执行prctl函数后触发prctl系统

linux 内核提权总结(demo+exp分析) -- 任意读写(二)

hijack_vdso篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm     vdso: 内核实现的一个动态库,存在于内核,然后映射到用户态空间,可由用户态直接调用 内核中的vdso如果被修改

linux 内核提权总结(demo+exp分析) -- 任意读写(一)

cred篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm   每个线程在内核中都对应一个线程结构块thread_infothread_info中存在task_struct类型结构体 struct t