《财务管理实训讲义CreateTim》由会员分享,可在线阅读,更多相关《财务管理实训讲义CreateTim(39页珍藏版)》请在金锄头文库上搜索。
1、Commercial Real-Time Operating SystemsCommercial Real-Time Operating SystemsLecture 24Lecture 24OutlineStandardsMetricsRTOSsVxWorksEmbedded Windows platformsLinux extensions(Traditional) Real-Time ApplicationsTransportation systemsAutomotives, avionics, railway system, submarines, Space-based system
2、sSatellite systems, planetary rovers, Industrial AutomationManufacturing automation (e.g. Bottling factories)Process control (e.g. petroleum refinement, temperature control systems, )Motion controlRobotics applications, mechanical pets, Data Acquisition systemsSupervisory control and data acquisitio
3、n systems (SCADA), Security monitoring systemsDefense/military systemsRadar systems, Smart weapons, +Emerging ApplicationsCell-phones, VoIP phone, PDAsMP3 playersSet-top boxes, Game ConsolesAutomotive SystemsNetwork ElementsWeb ServersPopular StandardsReal-Time Operating System standardsIEEE 1003.1b
4、 POSIX Real-Time Extensions (www.ieee.org)OSEK (automotive real-time OS standard) (www.osek.org) Real-Time (and Concurrent) Programming LanguagesReal-Time Specification for Java (, ) Ada 83 and Ada 95Real-Time MiddlewareReal-Time CORBA (middleware and abstraction of the underlying RTOS)Networks/buse
5、sCANbus (Controller Area Network bus)TTA: Time-Triggered Architecture ()FlexRay (www.flexray.org)ATM or Switched EthernetPriority-based or weighted fair-sharing schemesMetrics in Real-Time Systems (1/2)End-to-end latency: E.g. worst-case, average-case, variance, distributionCan involve multiple hops
6、 (across nodes, links, switches and routers)Behavior in the presence or absence of failuresJitterThroughput: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
7、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
8、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 ConsiderationsWhat processor(s) does it run on?8-bit, 16-bit, 32-bit, Intel Pentium Processor, PowerPC, Arm/StrongArm Intel Xscal
9、e, MIPS, SuperH, IBM and Intel Network ProcessorsWhat 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 debuggersIDECross-compilation + symbolic debugging on target?Profilers (CPU, m
10、emory)Test coverage toolsNative simulation/emulation support?Real-Time Operating SystemsWindows platformsEmbedded XP, Windows CE, Pocket WindowsVxWorks from Wind River Systems ()Linux variantsBlue Cat Linux ()(Embedded) Red Hat Linux ()FSM RT-Linux ()Monta Vista Linux ()TimeSys Linux ()LynxOS ()QNX
11、()Solaris real-time extensionsTRONEmbedded OS specification in JapanHas multiple profiles for different classes of devicesCommon RTOS FeaturesUtilitiesBootstrapping support“Headless” operationDisplay not necessaryAPIs (Application Programming Interfaces)Multiple threads and/or processesFixed priorit
12、y scheduling is most popularMutex/semaphore support likely with priority inheritance supportInter-process communicationsMessage queuesTimers/clockGraphics supportDevice driversNetwork protocol stackEmerging RTOS RequirementsFull-featured operating systemSupport for new processors and devicesSupport
13、for Internet protocols and standardsSupport for Multimedia protocols and standardsSupport for File SystemsMemory protectionResource protection, securityDevelopment tools and librariesGUI EnvironmentDo this with low and predictable overheads.Case Study: Linux in embedded systemsWhy Linux?Reliable, Fu
14、ll-featured Operating SystemRich multi-tasking supportSecurity, ProtectionNetworking SupportTCP/IP, RSVP, SIP, MPLS, H.323Multimedia SupportJPEG, MPEG, GSMDevice DriversStandard, Known Environment and APIsUnix LineageFamiliar environment for many users/developersPOSIX ComplianceWhy Linux?The Cost Fa
15、ctorFree run-time royaltiesThe Open Source Factor A global team of programmers enhancing the environment literally all the timeAvailability of libraries, tools, and device driversSource Code Access allowing “peeking inside the hood” (and customizing as necessary)The Popularity FactorExcellent textbo
16、oks and documentationWhy Linux?Small Embedded SystemsModular Kernel, possible to configure the kernel to suitable sizeCustomizable Root File SystemLots of UtilitiesHigh-End Embedded SystemsHigh-AvailabilityClusteringSMP SupportLinux API: TaskingProcessEncapsulates a thread of control and an address
17、spaceAddress space may be shared giving threads in effectSchedulable EntityThreadsAre processes to the Linux kernelScheduled by the Linux kernelCan be created such that they share the address space with the parent process, effectively giving threadsLinux API: POSIX, SVR4, BSDPOSIX 1003.1.b (Real-Tim
18、e Extensions)Priority SchedulingMemory LockingClocks and TimersReal-Time SignalsPOSIX 1003.1.c (Thread Extensions)Using pthreads libraryThread creation, destruction, etc.Mutexes, Condition VariablesSVR4 IPCShared MemorySemaphoresNetworking: BSD SocketsLinux Internals ArchitectureCore MechanismsProce
19、ss SchedulervfsmmipcnetThe Real-Time Linux ChallengeHow to leverage the advantages of Linux,while making it suitable for real-time systems?Approaches to Real-Time LinuxApproaches limiting Real-time and Non Real-time Task InteractionsCompliant Kernel ApproachLynxOS/Blue Cat LinuxThin Kernel ApproachR
20、TLinux/RTAIApproaches that integrate Real-time and Non Real-time tasksCore Kernel ApproachTimeSys Linux, Monta Vista LinuxResource Kernel ApproachTimeSys LinuxLinux Internals: SchedulingSchedulable EntitiesProcessesReal-Time Class: SCHED_FIFO or SCHED_RRTime-Sharing Class: SCHED_OTHERReal-Time proce
21、sses haveApplication defined priorityHigher priority than time-sharing processesNon Schedulable EntitiesInterrupt HandlersHave priorities, and can be nestedBottom Halves & Task QueuesRun on schedule, ret from system call, ret from interruptLinux and Real-Time: ProblemsTimer GranularityMany real-time
22、 tasks are driven by timer interruptsIn Standard Linux, the timer is set to expire at 10 ms intervalsScheduler PredictabilityLinux scheduler keeps tasks in an unsorted listRequires a scan of all tasks to make a scheduling decisionScales poorly as number of tasks increases, and is especially poor for
23、 real-time performance Various subsystems NOT designed for real-time useNetwork protocol stackFilesystemWindows managerApproaches to Real-Time LinuxCompliant Kernel ApproachDual Kernel ApproachCore Kernel ApproachResource Kernel ApproachCompliant Kernel ApproachCompliant Kernel ApproachBasic ClaimLi
24、nux is defined by its API and not by its internal implementationThe real-time kernel is a non Linux kernelImplicationsNo benefits from the Linux kernelNot possible to benefit from the Linux kernel evolutionNot possible to use Linux hardware supportNot possible to use Linux device driversCompliance10
25、0% Linux APISupport all of Linux kernel APIImplicationsAny Linux application can run on real-time kernelDevelopment can be done on Linux Host, with rich set of host tools for developmentAll Linux libraries are trivially available to run on real-time kernelThird party software Achieving 100% Linux AP
26、I is non-trivialConsider the amount of effort put on Linux kernel development Approaches to Real-Time LinuxDual Kernel ApproachCompliant Kernel ApproachCore Kernel ApproachResource Kernel ApproachThe Thin Kernel ApproachLinuxProcessLinuxProcessUser-LevelKernel-LevelReal-time tasks do NOT use the Lin
27、ux API or Linux facilitiesFailure in any real-time task crashes the entire systemApproaches to Real-Time LinuxCompliant Kernel ApproachDual Kernel ApproachCore Kernel ApproachResource Kernel ApproachCore Kernel ApproachBasic IdeasMake the kernel more suitable for real-timeEnsure that the impact of c
28、hanges is localized so that Kernel upgrades can be easily incorporatedKernel reliability and scalability is not compromisedMechanismsStatic ConfigurationCan be configured at compile timeDynamic ConfigurationUsing loadable kernel modulesCore Kernel ApproachAllows the use of most if not all existing L
29、inux primitives, applications, and tools. Need to avoid primitives that can take extended time in the kernelAllows the use of most existing device drivers written to support Linux. Need to avoid poorly written drivers that unfairly hog system resourcesRobustness and ReliabilityCore kernel modificati
30、ons can effect robustness, but source is availableApproaches to Real-Time LinuxCompliant Kernel ApproachDual Kernel ApproachCore Kernel ApproachResource Kernel ApproachResource KernelA Kernel that provides to Applications Timely, Guaranteed, and Enforced access to System ResourcesAllows Applications
31、 to specify only their Resource Demands, leaving the Kernel to satisfy those Demands using hidden management schemesProtection in Resource KernelsEach application (or a group of collaborating applications) operates in a virtual machine:a machine which consists of a well-defined and guaranteed portio
32、n of system resources CPU capacity, the disk bandwidth, the network bandwidth and the memory resourceMultiple virtual machines can run simultaneously on the same physical machineguarantees available to each reserve set is valid despite the presence of other (potentially mis-behaving) applications us
33、ing other reserve sets“Resource Kernel” ArchitectureMiddlewareServicesCPUMemoryNetBWPhysicalresourcesCPUMemoryNetBWCPUNetBWMemoryCPUMemoryNetBW.ResourceKernelRT FilesystemPublisher/SubscriberServicesRT-ORBQoS MgrReal-TimeJavaAppsReal-Time and Multimedia ApplicationsReal-Time and Multimedia Applicati
34、onsLinux Resource Kernel ArchitectureLinuxProcessLinuxProcessLinuxProcessKernelUser-LevelLKMReserves and Resource SetsReserveA Share of a Single ResourceTemporal ReservesParameters declare Portion and Timeframe of Resource UsageE.g., CPU time, link bandwidth, disk bandwidthSpatial ReservesAmount of
35、spaceE.g., memory pages, network buffersResource SetA set of resource reservesSummaryThe world of embedded real-time is changing, and converging with theDesktop world, The Enterprise world,The Server world,The Internet World, etc.There are 3 dominant platformsVxWorks (proprietary)Windows variantsLin
36、ux variants)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZq$u*x+A2D5H8KbNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JbMePhTkWnZr$u(x+A2E5H8KcNfRiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMeQhTkWoZr$u
37、(x+B2E5H9KcNfRiUmXp#s&v)y0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LdOgRjVmYp!t&w-z1C4G7Ja
38、MePhTkWnZr$u*x+A2E5H8KcNfQiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMePhTkWoZr$u(x+A2E5H9KcNfRmYp!t&w-z1C4G7JaMePhTkWnZr$u*x+A2E5H8KcNfQiUlXp#s%v)y0B3F6I9LdOgSjVmYq!t&w-z1D4G7JbMePhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*
39、w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&w)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgSjVmYq!t&w-z1D4G7JbMePhTkWnZr$u(x+A2E5H8KcNfRiUlXp#s%v)y0C3F6IaL
40、dOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)y0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8KbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbNfQiUlXo#s
41、%v(y0B3F6I9LdOgRjVmYq!tA2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JbMePhTkWnZr$u*x+A2E5H8KcNfQiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E6H9KcO
42、fRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LdOgRjVmYp!t&w-z5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(y
43、0B3E6I9LdOgRjVmYp!t&w-z1C4G7JaMePhTkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgSjVmYq!t&w-z1D4G7JbMePhTk#s%v(y0B3E6I9LdOgRjVmYp!t&w)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgSjVmYq!t&w-z1D4G7JbMePhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRi
44、UmXp#sz1D4G7JbMePhTkWnZr$u(x+A2E5H8KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWo%v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7e
45、QhTkWoZr$u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPlWoZr%u(y+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$t*x-
46、A2D5G8KRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMePhSkWnZq$u*x-E6H9LcOfRjUmXp!s
47、&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2DLcOfRjUmXp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(C4F7IaMdPhSkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhS
48、kWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LcOgRjVmt*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#r%v(y0B3E6I9LcOkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhS#r%v(y+B3E6H9LcO
49、gRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1G8KbNeQiTlWo#r%v(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWn%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!tA1D5G8
50、JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!t&w)z1C8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6IPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5KcOfRiUmXp!s&v)z0C
51、3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmXp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5GOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&w)z4G8JbMeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&A1D4G8JbMeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5GcNfRiUlXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-z1D4G8JbMeQhTkW