Operating System Embedded: Difference between revisions

Content deleted Content added
MPC5XX and MPW55XX are not supported
No edit summary
Line 1:
{{Infobox OS
| name = OperatingEnea System EmbeddedOSE
| logo =
| screenshot =
Line 25:
| website = [http://www.enea.com/ose www.enea.com/ose]
}}
The '''Operating System Embedded''' (mostly known under the [[acronym]] '''Enea OSE''') is a [[real-time operating system|real-time]] [[embedded operating system]] created by the [[Sweden|Swedish]] information technology company [[ENEA AB|ENEA]]. [[Bengt Eliasson]], who at the time was a consultant from ENEA with an assignment at [[Ericsson]], wrote the basic parts of the [[kernel (computer science)|kernel]]. The early version for the [[Zilog Z80]] processor was named OS80.
 
OSE uses [[Event (computing)|events]] (named ''[[Signal programming|signals]]'' due to ENEA's Telecomms background) in the form of messages passed to and from [[computer process|processes]] in the system. Messages are stored in a [[Queue (data structure)|queue]] attached to each process. A 'link handler' mechanism allows signals to be passed between processes on separate machines, over a variety of transports. The OSE signalling mechanism formed the basis of an [[Open source|open-source]] [[inter-processprocesskernel communication]]design projectthat calledcombines [[LINXthe (IPC)|advantages LINX]] .of
both traditional Asymmetric Multiprocessing (AMP) and Symmetric Multiprocessing (SMP) while
avoiding the disadvantages inherent in both programming models. communication]] project called [[LINX (IPC)| LINX]] .
 
Enea OSE Multicore Edition was release in 2009 and is based on the same microkernel architecture. The kernel design that combines the advantages of both traditional Asymmetric Multiprocessing (AMP) and Symmetric Multiprocessing (SMP).
 
The hybrid AMP/SMP kernel in OSE Multicore Edition is based on a number of factors:
 
* Essential services in OSE are implemented according to a micro kernel model which
allows IP stacks, file systems, application loaders, etc. to be located on different cores,
while applications can access these services regardless of ___location in the system
(___location transparency).
 
* A kernel that instantiates a separate scheduler on each core with associated data
structures to preserve determinism and realtime characteristics.
 
* User defined process migration and load balancing based on low intrusion mechanisms
to measure CPU load on each core.
 
* A lightweight kernel internal IPC mechanism called kernel events used to perform
asynchronous, cross core transactions in order to avoid the use of fine-granular locking
designs, which has a detrimental effect on performance.
 
The system exists in several revisions named ''OSE'' for [[ARM architecture|ARM processors]], [[PowerPC]] and [[MIPS architecture|MIPS]], ''OSE<sub>ck</sub>'' for various DSP's and ''OSE Epsilon'' for minimal devices(written 100% in assembly).
 
OSE supports a wide range of processors:
* ARM9E
* ARM consortium family: ARM 7, ARM 9, ARM10, XScale
* ARM11
* MIPS 32 consortium family
* Xscale
* Freescale PowerPC family: Host Processors MPC 7xxx, PowerQUICC I MPC 8xx, PowerQUICC II MPC 82xx and MPC 83xx, PowerQUICC III MPC 85xx, Host Processors MPC 8xxx
* Cavium Octeon Plus (CM58xx and CM56xx)
* IBM PowerPC family (from AMCC): 405EP, 405GP, 440GP, 440GX
* IBM PPC4xx
* IBM PowerPC family (from IBM): 750, 750CX, 750FX, 750GX
* IBM PPC7xx
* INTEL ARM 5 family - XScale, PXA-25x
* Freescale MPC86xx (multicore support on MPC8641D)
* Intel Network Processor: IXP2400
* Freescale MPC85xx (multicore support on MPC8572DS, QorIQ P2020, P4080)
* Texas Instruments: OMAP (all chipsets, for OMAP DSP part see OSEck)
* Freescale MPC83xx
* Freescale MPC82xx
* Freescale MPC74xx
* MIPS32
 
==See also==