From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2850 invoked by alias); 24 Jun 2005 12:38:48 -0000 Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Received: (qmail 2834 invoked by uid 22791); 24 Jun 2005 12:38:44 -0000 Received: from londo.lunn.ch (HELO londo.lunn.ch) (80.238.139.98) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Fri, 24 Jun 2005 12:38:44 +0000 Received: from lunn by londo.lunn.ch with local (Exim 3.36 #1 (Debian)) id 1DlnS1-000405-00; Fri, 24 Jun 2005 14:38:29 +0200 Date: Fri, 24 Jun 2005 12:38:00 -0000 To: R Vamshi Krishna Cc: ecos-discuss@sources.redhat.com Message-ID: <20050624123829.GB7187@lunn.ch> Mail-Followup-To: R Vamshi Krishna , ecos-discuss@sources.redhat.com References: <20050624112732.GA7187@lunn.ch> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.9i From: Andrew Lunn Subject: Re: [ECOS]: Is eCos Hard Real Time OS ?? X-SW-Source: 2005-06/txt/msg00237.txt.bz2 On Fri, Jun 24, 2005 at 05:11:47PM +0530, R Vamshi Krishna wrote: > On Fri, 24 Jun 2005, Andrew Lunn wrote: > > >On Fri, Jun 24, 2005 at 04:37:42PM +0530, R Vamshi Krishna wrote: > >> > >>Is eCos a Hard Real Time OS ? > > > >No, its a soft real time system. It never give guarantees that task X > >will finish by time Z, which is the normal definition of hard real > >time. eCos will do its best to ensure that the high priority task gets > >to run before the low priority task, which for most embedded systems > >is enough. > > > > Andrew > > > > > > > Then what parts do I re-write to make it hard-real time ? > Because I want to use eCos but also I need a hard real-time > OS. You have to think, what exactly does hard real time mean to you? Do you need 80.000% and 20.000% or will 78.1% and 19.2%, plus some lost to interrupts be OK? Does the system have to be completely deterministic or is some randomness in timing allowed? The scheduler is the obvious one that you need to look at. Interrupt handling will upset hard real time, so you need to re-write all the device drivers you want to use so that they don't use interrupts. You need to do polled IO from within your threads. You need to think how you handle the timer interrupt. Do you need it at all? You might want to consider disabling the caches. The cache gives you none deterministic behavior. I'm sure there are many more issues to consider, but it will largely depend on what you actually mean by hard real time. Andrew -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss