473,387 Members | 1,583 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,387 software developers and data experts.

freestanding vs hosted implementations

I hope this isn't OT.
What is the purpose of a free standing implementation of C? stdio.h
isn't even included. I've only used hosted implentation.

Bill

-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----== Over 80,000 Newsgroups - 16 Different Servers! =-----
Nov 13 '05 #1
5 3409
bd wrote:
On Fri, 04 Jul 2003 21:45:43 -0400, Bill Cunningham wrote:

I hope this isn't OT.
What is the purpose of a free standing implementation of C? stdio.h
isn't even included. I've only used hosted implentation.

In some situations, the whole C Library would be impossible to fit. E.g.
an embedded device. Or, it may not yet be available, like in the Linux

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel.

~~~~~~~

Could you elaborate?

Thanks,
--ag
--
Artie Gold -- Austin, Texas

----== Posted via Newsfeed.Com - Unlimited-Uncensored-Secure Usenet News==----
http://www.newsfeed.com The #1 Newsgroup Service in the World! >100,000 Newsgroups
---= 19 East/West-Coast Specialized Servers - Total Privacy via Encryption =---
Nov 13 '05 #2
bd
On Fri, 04 Jul 2003 21:53:48 -0500, Artie Gold wrote:
bd wrote:
On Fri, 04 Jul 2003 21:45:43 -0400, Bill Cunningham wrote:

I hope this isn't OT.
What is the purpose of a free standing implementation of C? stdio.h
isn't even included. I've only used hosted implentation.

In some situations, the whole C Library would be impossible to fit. E.g.
an embedded device. Or, it may not yet be available, like in the Linux

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel.

~~~~~~~

Could you elaborate?


The Linux kernel dosen't have access to the C library - it's responsible
for using non-standard methods to load it for other programs. Also, the
malloc() method of memory allocation is unacceptable for the kernel, as it
leads to internal fragmentation of the address space.

--
Freenet distribution not available
I have often regretted my speech, never my silence.
-- Publilius Syrus

Nov 13 '05 #3
Artie Gold wrote:
bd wrote:
In some situations, the whole C Library would be impossible to fit.
E.g. an embedded device. Or, it may not yet be available, like in

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
the Linux kernel.

~~~~~~~~~~~~~~~~~

Could you elaborate?


Code that runs from an operating system kernel, such as a device driver,
typically does not have access to the C standard library. The kernel is
considered to be a freestanding environment.

--
Simon.
Nov 13 '05 #4
bd wrote:
On Fri, 04 Jul 2003 21:53:48 -0500, Artie Gold wrote:

bd wrote:
On Fri, 04 Jul 2003 21:45:43 -0400, Bill Cunningham wrote:

I hope this isn't OT.
What is the purpose of a free standing implementation of C? stdio.h
isn't even included. I've only used hosted implentation.
In some situations, the whole C Library would be impossible to fit. E.g.
an embedded device. Or, it may not yet be available, like in the Linux


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel.


~~~~~~~

Could you elaborate?

The Linux kernel dosen't have access to the C library - it's responsible
for using non-standard methods to load it for other programs. Also, the
malloc() method of memory allocation is unacceptable for the kernel, as it
leads to internal fragmentation of the address space.

Ah. _That's_ what you meant.
Of course, infinite regress being what it is.... ;-)
[Of course a kernel would be inherently non-standard in any event; its
`hostedness' is largely irrelevant.]

Thanks,
--ag
--
Artie Gold -- Austin, Texas

----== Posted via Newsfeed.Com - Unlimited-Uncensored-Secure Usenet News==----
http://www.newsfeed.com The #1 Newsgroup Service in the World! >100,000 Newsgroups
---= 19 East/West-Coast Specialized Servers - Total Privacy via Encryption =---
Nov 13 '05 #5
Bill Cunningham wrote:
What is the purpose of a free standing implementation of C?
stdio.h isn't even included. I've only used hosted
implentation.


Basically, it provides for those environments where C programs
can have non-standard entry/exit mechanisms, i.e. no command line
(and hence no command line parameters, no system() function that
depends on a shell or command line interpreter, and (perhaps)
nothing to return to.

Most of the free-standing implementations are embedded
applications (e.g. cable modem, washing machine); and the
remainder are the "host" part of hosted systems (ex: kernel, I/O
subsystems).

Free-standing implementations are free to dispense with support
for those elements set forth in the standard that just don't make
any sense in their particular context. Typically, the standard
I/O capabilities are severely trimmed or omitted, memory
management may be dropped in favor of pre-allocated
regions/variables, and pointers to specific memory, I/O, and
control space locations may abound.
--
Morris Dovey
West Des Moines, Iowa USA
C links at http://www.iedu.com/c

Nov 13 '05 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

19
by: Vijay Kumar R Zanvar | last post by:
Hi clc, I want to know few examples of freestanding environments. -- "There's money in this case, Watson," he continued, glancing out of the window, "if there is nothing else." - A Scandal...
5
by: Segfahlt | last post by:
I need a little help here please. I have 2 win forms user controls in 2 different projects that I'm hosting in 2 different virtual directories. The controls have been test and operate okay in...
6
by: bhagatd | last post by:
In freestanding environment name of the function called at program startup can be other than 'main' how it is specified?
20
by: J de Boyne Pollard | last post by:
MThe library functions which are included to allow process Mlaunch, forking, and termination, imply that it is both Mpossible and desirable for a process to fork itself. This is Ma fundamental...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.