public inbox for elix@sourceware.org
 help / color / mirror / Atom feed
From: RANDALL_LOOMIS@densolabs.com
To: joel.sherrill@OARcorp.com
Cc: Paul Beskeen <paulb@cygnus.co.uk>, elix@sourceware.cygnus.com
Subject: Re: First Comments on the EL/IX API Draft Specification
Date: Thu, 09 Dec 1999 12:27:00 -0000	[thread overview]
Message-ID: <88256842.006BBD2F.00@SMTP.DENSOLABS.COM> (raw)

Gave the EL/IX White paper and EL/IX API Draft Specification a couple reads
through.
My first issue is with the white paper, the paragraph:

> This is intended to be an application level standard and we will not
attempt to provide any
>  device driver compatibility, no /dev, etc. We will also avoid all
terminal I/O support (see the
>   I/O discussion below).

> I/O

>                    EL/IX includes BSD sockets (as part of 1003.1g), which
 should take care of many I/O
>                   requirements. We also provide POSIX 1003.1 file I/O
facilities which can operate on
>                  network drives, flash file systems, RAM and ROM disks,
and even real hard disks. But
>                   beyond these devices, we really want to support some
kind of abstraction layer that can be
>                    used to describe a wide range of custom hardware
devices that will enable embedded
>                    applications to be ported across embedded Linux, eCos,
 and other operating systems that
>                    support EL/IX. For now, the specification of that
abstraction layer remains to be defined. In
>                    particular, the /dev part of the file system hierarchy
 is currently excluded from the EL/IX
>                    proposal. Since I/O is so fundamental to most uses of
embedded systems, and since there is
>                    so much variety that must be supported, some sort of
abstraction layers need to be defined,
>                    which is a subject for the next section.

It seems to me, that an implementation of a /dev device file system is
exactly the kind of abstraction layer that can
be used to enable applications to be ported betweeen OS's.  Also, POSIX
terminal I/O support seems particularly important
for unifying terminal/serial I/O implementations  across platforms.  Almost
 every embedded system has some kind of serial
port and most that I've seen reinvent their own version of serial I/O
interface drivers.
I don't understand why the implementation of a POSIX virtual file system
with device files and POSIX terminal I/O support to unify
device I/O and serial I/O implementations wouldn't be crucial for EL/IX to
be a meaningful API that could sit atop an embedded kernel.

From my  first read through of the API Draft Specification, I believe it
should cite the reference numbers for each of it's entries.
e.g.:
  kill() [POSIX 1003.1-1990 3.3.2.1]
  fopen() [ANSI X3.159-1989 4.9.5.3] [ISO 9899:1990 7.9.5.3] [POSIX
1003.1-1990 8.2.3.1]
etc.
  This will make it much easier to plainly see the origin of the function
and refer to the authorative material(s).

Under the "General File Creation" heading, the blurb, "These are only
applicable to file systems that are writable" doesn't
seem accurate.  Clearly, a read only file can be "opened".

Under "Control Operations on Files", the fcntl() function is relegated to
level 2 while other primitive file descriptor and file I/O functions
are under level 1.  I do not believe you can separate fcntl in this way.
Many libraries implement dup() and dup2() functions in terms of
fcntl() calls.  Also, according to POSIX, the fcntl.h header file declares
the functions:  creat() fcntl() and open() as well as all the O_xxxx
file open mode flags.  Clearly, POSIX does not intend for these to be
separated.













             reply	other threads:[~1999-12-09 12:27 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-12-09 12:27 RANDALL_LOOMIS [this message]
  -- strict thread matches above, loose matches on Subject: below --
1999-12-22 12:50 RANDALL_LOOMIS
1999-12-23  4:08 ` Nick Garnett
1999-12-16 10:41 Nick Garnett
1999-12-08 13:28 Announcing availability of " Paul Beskeen
1999-12-09 10:55 ` First Comments on " Joel Sherrill
1999-12-16 10:05   ` Nick Garnett

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=88256842.006BBD2F.00@SMTP.DENSOLABS.COM \
    --to=randall_loomis@densolabs.com \
    --cc=elix@sourceware.cygnus.com \
    --cc=joel.sherrill@OARcorp.com \
    --cc=paulb@cygnus.co.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).