




已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Commercial Real-Time Operating Systems Lecture 24,Outline,Standards Metrics RTOSs VxWorks Embedded Windows platforms Linux extensions ,(Traditional) Real-Time Applications,Transportation systems Automotives, avionics, railway system, submarines, Space-based systems Satellite systems, planetary rovers, Industrial Automation Manufacturing automation (e.g. Bottling factories) Process control (e.g. petroleum refinement, temperature control systems, ) Motion control Robotics applications, mechanical pets, Data Acquisition systems Supervisory control and data acquisition systems (SCADA), Security monitoring systems Defense/military systems Radar systems, Smart weapons, ,+,Emerging Applications,Cell-phones, VoIP phone, PDAs MP3 players Set-top boxes, Game Consoles Automotive Systems Network Elements Web Servers,Popular Standards,Real-Time Operating System standards IEEE 1003.1b POSIX Real-Time Extensions () OSEK (automotive real-time OS standard) () Real-Time (and Concurrent) Programming Languages Real-Time Specification for Java (, ) Ada 83 and Ada 95 Real-Time Middleware Real-Time CORBA (middleware and abstraction of the underlying RTOS) Networks/buses CANbus (Controller Area Network bus) TTA: Time-Triggered Architecture () FlexRay () ATM or Switched Ethernet Priority-based or weighted fair-sharing schemes,Metrics in Real-Time Systems (1/2),End-to-end latency: E.g. worst-case, average-case, variance, distribution Can involve multiple hops (across nodes, links, switches and routers) Behavior in the presence or absence of failures Jitter Throughput: How many X can be processed? How many messages can be transmitted? Survivability: How many faults can be tolerated before system failures? What functionality gets compromised?,Metrics in Real-Time Systems (2/2),Security: Can the systems integrity be compromised? Can violations be detected? Safety: Is the system “safe”? Can the system get into an unsafe state? Has it been certified? Maintainability: How does one fix problems? How does the system get upgraded? Dynamism and Adaptability: What happens when the system mission changes? What happens when individual elements fail? Can the system reconfigure itself dynamically? How does the system behave after re-configuration?,RTOS Considerations,What processor(s) does it run on? 8-bit, 16-bit, 32-bit, Intel Pentium Processor, PowerPC, Arm/StrongArm Intel Xscale, MIPS, SuperH, IBM and Intel Network Processors What board(s) does it run on? Complete software package for a particular hardware board is called a BSP (Board Support Package) What is the software environment? Compilers and debuggers IDE Cross-compilation + symbolic debugging on target? Profilers (CPU, memory) Test coverage tools Native simulation/emulation support?,Real-Time Operating Systems,Windows platforms Embedded XP, Windows CE, Pocket Windows VxWorks from Wind River Systems () Linux variants Blue Cat Linux () (Embedded) Red Hat Linux () FSM RT-Linux () Monta Vista Linux () TimeSys Linux () LynxOS () QNX () Solaris real-time extensions TRON Embedded OS specification in Japan Has multiple profiles for different classes of devices,Common RTOS Features,Utilities Bootstrapping support “Headless” operation Display not necessary APIs (Application Programming Interfaces) Multiple threads and/or processes Fixed priority scheduling is most popular Mutex/semaphore support likely with priority inheritance support Inter-process communications Message queues Timers/clock Graphics support Device drivers Network protocol stack,Emerging RTOS Requirements,Full-featured operating system Support for new processors and devices Support for Internet protocols and standards Support for Multimedia protocols and standards Support for File Systems Memory protection Resource protection, security Development tools and libraries GUI Environment,Do this with low and predictable overheads.,Case Study: Linux in embedded systems,Why Linux?,Reliable, Full-featured Operating System Rich multi-tasking support Security, Protection Networking Support TCP/IP, RSVP, SIP, MPLS, H.323 Multimedia Support JPEG, MPEG, GSM Device Drivers Standard, Known Environment and APIs Unix Lineage Familiar environment for many users/developers POSIX Compliance,Why Linux?,The Cost Factor Free run-time royalties The Open Source Factor A global team of programmers enhancing the environment literally all the time Availability of libraries, tools, and device drivers Source Code Access allowing “peeking inside the hood” (and customizing as necessary) The Popularity Factor Excellent textbooks and documentation,Why Linux?,Small Embedded Systems Modular Kernel, possible to configure the kernel to suitable size Customizable Root File System Lots of Utilities High-End Embedded Systems High-Availability Clustering SMP Support,Linux API: Tasking,Process Encapsulates a thread of control and an address space Address space may be shared giving threads in effect Schedulable Entity Threads Are processes to the Linux kernel Scheduled by the Linux kernel Can be created such that they share the address space with the parent process, effectively giving threads,Linux API: POSIX, SVR4, BSD,POSIX 1003.1.b (Real-Time Extensions) Priority Scheduling Memory Locking Clocks and Timers Real-Time Signals POSIX 1003.1.c (Thread Extensions) Using pthreads library Thread creation, destruction, etc. Mutexes, Condition Variables SVR4 IPC Shared Memory Semaphores Networking: BSD Sockets,Linux Internals Architecture,Device Drivers,Modules,Core Mechanisms,Process Scheduler,vfs,mm,ipc,net,The Real-Time Linux Challenge,How to leverage the advantages of Linux, while making it suitable for real-time systems?,Approaches to Real-Time Linux,Approaches limiting Real-time and Non Real-time Task Interactions Compliant Kernel Approach LynxOS/Blue Cat Linux Thin Kernel Approach RTLinux/RTAI Approaches that integrate Real-time and Non Real-time tasks Core Kernel Approach TimeSys Linux, Monta Vista Linux Resource Kernel Approach TimeSys Linux,Linux Internals: Scheduling,Schedulable Entities Processes Real-Time Class: SCHED_FIFO or SCHED_RR Time-Sharing Class: SCHED_OTHER Real-Time processes have Application defined priority Higher priority than time-sharing processes Non Schedulable Entities Interrupt Handlers Have priorities, and can be nested Bottom Halves & Task Queues Run on schedule, ret from system call, ret from interrupt,Linux and Real-Time: Problems,Timer Granularity Many real-time tasks are driven by timer interrupts In Standard Linux, the timer is set to expire at 10 ms intervals Scheduler Predictability Linux scheduler keeps tasks in an unsorted list Requires a scan of all tasks to make a scheduling decision Scales poorly as number of tasks increases, and is especially poor for real-time performance Various subsystems NOT designed for real-time use Network protocol stack Filesystem Windows manager,Approaches to Real-Time Linux,Compliant Kernel Approach,Dual Kernel Approach,Core Kernel Approach,Resource Kernel Approach,Compliant Kernel Approach,Linux Kernel (Embedded Applications),Real-Time Kernel (Real-Time Applications),Linux System Call API,Linux System Call API,Linux Development Tools And Environment,Linux Development Tools And Environment,Compliant Kernel Approach,Basic Claim Linux is defined by its API and not by its internal implementation The real-time kernel is a non Linux kernel Implications No benefits from the Linux kernel Not possible to benefit from the Linux kernel evolution Not possible to use Linux hardware support Not possible to use Linux device drivers,Compliance,100% Linux API Support all of Linux kernel API Implications Any Linux application can run on real-time kernel Development can be done on Linux Host, with rich set of host tools for development All Linux libraries are trivially available to run on real-time kernel Third party software Achieving 100% Linux API is non-trivial Consider the amount of effort put on Linux kernel development,Approaches to Real-Time Linux,Dual Kernel Approach,Compliant Kernel Approach,Core Kernel Approach,Resource Kernel Approach,The Thin Kernel Approach,Hardware,Real-Time Kernel (RT-Linux or RTAI),Real-Time Task,Real-Time Task,Real-Time Task,Linux Kernel,Linux Process,Linux Process,User-Level,Kernel-Level,Real-time tasks do NOT use the Linux API or Linux facilities Failure in any real-time task crashes the entire system,Approaches to Real-Time Linux,Compliant Kernel Approach,Dual Kernel Approach,Core Kernel Approach,Resource Kernel Approach,Core Kernel Approach,Basic Ideas Make the kernel more suitable for real-time Ensure that the impact of changes is localized so that Kernel upgrades can be easily incorporated Kernel reliability and scalability is not compromised Mechanisms Static Configuration Can be configured at compile time Dynamic Configuration Using loadable kernel modules,Core Kernel Approach,Allows the use of most if not all existing Linux primitives, applications, and tools. Need to avoid primitives that can take extended time in the kernel Allows the use of most existing device drivers written to support Linux. Need to avoid poorly written drivers that unfairly hog system resources Robustness and Reliability Core kernel modifications can effect robustness, but source is available,Approaches to Real-Time Linux,Compliant Kernel Approach,Dual Kernel Approach,Core Kernel Approach,Resource Kernel Approach,Resource Kernel,A Kernel that provides to Applications Timely, Guaranteed, and Enforced access to System Resources Allows Applications to specify only their Resource Demands, leaving the Kernel to satisfy those Demands using hidden management schemes,Protection in Resource Kernels,Each application (or a group of collaborating applications) operates in a virtual machine: a machine which consists of a well-defined and guaranteed portion of system
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年圍欄護(hù)欄個(gè)性化定制與安裝服務(wù)協(xié)議
- 高管責(zé)任與公司治理的關(guān)聯(lián)性分析
- 語(yǔ)文教育數(shù)字化轉(zhuǎn)型與創(chuàng)新路徑
- 理賠業(yè)務(wù)風(fēng)險(xiǎn)管理跨文化協(xié)作風(fēng)險(xiǎn)基礎(chǔ)知識(shí)點(diǎn)歸納
- 大連景點(diǎn)介紹課件視頻
- 農(nóng)業(yè)機(jī)器人技術(shù)在生產(chǎn)中的應(yīng)用前景
- 精神健康與體育活動(dòng)結(jié)合的治療模式
- 老舊廠區(qū)改造項(xiàng)目商業(yè)模式
- 谷雨季節(jié)農(nóng)事規(guī)劃
- 老舊供水管網(wǎng)更新改造工程項(xiàng)目背景及必要性分析
- 2025年外研版英語(yǔ)八年級(jí)下冊(cè)期末檢測(cè)模擬題附答案(一)
- 2025-2030中國(guó)反芻飼料行業(yè)市場(chǎng)現(xiàn)狀分析及競(jìng)爭(zhēng)格局與投資發(fā)展研究報(bào)告
- 四川省綿陽(yáng)市三臺(tái)縣2023-2024學(xué)年八年級(jí)下學(xué)期語(yǔ)文期末試卷(含答案)
- 采購(gòu)油卡協(xié)議書(shū)
- 第四版(2025)國(guó)際壓力性損傷潰瘍預(yù)防和治療臨床指南解讀
- 2025年檔案管理專業(yè)考試試卷及答案
- 多重耐藥菌病人的處理流程
- 《常見(jiàn)性病防治知識(shí)》課件
- 駐村第一書(shū)記工作總結(jié)模版
- 2025物理大一輪復(fù)習(xí)講義復(fù)習(xí)講義答案精析
- 2025年高考政治搶押秘籍(江蘇專用)時(shí)政熱點(diǎn)04哪吒2(學(xué)生版+解析)
評(píng)論
0/150
提交評(píng)論