Google Answers Logo
View Question
 
Q: Division of computer software, Window XP ( Answered 5 out of 5 stars,   0 Comments )
Question  
Subject: Division of computer software, Window XP
Category: Science
Asked by: begentle-ga
List Price: $30.00
Posted: 19 Oct 2002 18:12 PDT
Expires: 18 Nov 2002 17:12 PST
Question ID: 85301
Windows XP 
outline of the important features of Linux.

a.Does the division of computer software into operating systems and
applications make sense for today?


b.Does the division make sense for the future?

c.What are the advantages of producing the operating system and
application software together?

d.What are the disadvantages?

Request for Question Clarification by ericynot-ga on 20 Oct 2002 05:27 PDT
Your question has four "bullets" that obviously want individual
answers, plus the two lines at the top:
Windows XP
outline of the important features of Linux.

Are those two lines part of your question? If so, could you clarify
their wording? They are not specifically tied to the other four
questions, so perhaps they should be removed (Windows and Linux are
just two of many OS's with applications).

Thanks.
Answer  
Subject: Re: Division of computer software, Window XP
Answered By: haversian-ga on 20 Oct 2002 09:32 PDT
Rated:5 out of 5 stars
 
Hello begentle-ga,

ericynot's question is important - what is the significance of the XP
/ linux bit?  If you post the answer to that as a clarification
request to this answer, I will be notified of it and can respond
quickly.  However, since I've got some spare time now, I'm going to
tackle the other 4 parts of your question.

In answering your question, I am going to take a fairly hard line view
of what an operating system is.  Since there is no standard
definition, I will start with what I consider to be an OS.

The operating system is the software responsible for allocating and
deallocating machine resources.  It manages CPU time, memory, access
to disk, network, keyboard, port, PCI and other resources.  Even this
however is not a precise definition (how about a video card driver? 
What about the filesystem layer?), but we will pretend for a moment
that it is.

The division between OS and application is reasonable now.  Clearly
applications cannot be written to run on the bare metal (how would you
switch between watching a movie and writing an essay?), so there has
to be some system to switch between applications.  In that sense, if
in no other, there needs to be an operating system running on every
computer system which is not single-purpose (such as a VCR control
system).  While the division is unclear except from a marketing
perspective (while consumers think of Windows as an operating system,
computer scientists realize it is vastly more than that, as it
includes numerous client applications, a window manager, kernel,
etc.), the conceptual divide is important both when designing software
and when using it.

In the future, the division between an operating system and an
application will continue to blur.  I expect there will be an
abandonment of the OS/app divide in favor of a tiered approach since
ultimately this is the most stable and efficient way to implement
things.  The bottom layer interacts with hardware and switches tasks. 
Then there are higher levels such as the filesystem layer, which
provide services to applications.  If each layer and component is
well-documented, incremental improvements can be made without worrying
about causing the whole house of cards to collapse.  A major cause of
application instability today is that software does not adhere to
published specifications, so when another vendor changes the way
something is implemented (without changing the "public" accessors),
software that uses unpublished functions breaks.  This must stop and
will hopefully coincide with increased popularity of "better"
programming languages.

In theory, there are no advantages to producing the OS and apps
together.  If done properly, the OS and applications will be written
separately, whether they are produced "together" or not - the problem
I mentioned in the previous paragraph about undocumented interfaces is
not restricted to third-party applications; the OS vendor is just as
likely to suffer as anyone else.  In practice, documenting interfaces
is a huge undertaking so it tends not to be done well.  Therefore,
developing the Os and apps together allows the apps to take advantage
of OS features that may only be known to the developers of the OS
itself.  The disadvantages are the same - if both are developed
simultaneously, there is less incentive to do a good job documenting
the OS, which leads to greater reliance on undocumented features which
are subject to change, since no documentation exists to say that they
must not be changed.

Consider the following example.  I write code to allocate memory to
applications which has two publicly-accessible methods, one to request
memory, and one to free it.  Suppose the first were req(size) that
returns the starting address of the memory block, and the second is
free (start, size) that frees a block of memory.  In the code I write,
these methods are just wrappers.  The request code has to figure out
what memory is available, decide if the requester should have it, and
then mark it as used by a given app.  If an application peeked at the
data structure I use to keep track of memory, it could give itself
memory faster than by using req().  However, since I specify that
applications should only use req() and free(), I assume that I can
change how req() operates and as long as it takes a size and returns
an address it should be OK.  I discover that using a hash table
instead of a list makes req() work better, so I change the code.  Now,
when an application peeks at my hash table and interprets it as a
list, it makes a huge mess by writing a table entry on top of my hash
table!  Granted, this is a simplistic example, but it is demonstrative
of real problems that occur in commercial code.

I hope this is the answer you were looking for; if not, ask for a
clarification.  Also, let me know what you meant by the Windows XP /
linux bit.

-Haversian

Request for Answer Clarification by begentle-ga on 20 Oct 2002 11:10 PDT
Hello Haversian,

This was one questions.  I want an outline of important features of
Windows XP.  I must have been real tired, Linux, should not have been
in there.

Clarification of Answer by haversian-ga on 20 Oct 2002 17:56 PDT
Could you be more specific?  What are we comparing winxp to? 
Important features from whose perspective?  What level of detail are
you looking for?

Request for Answer Clarification by begentle-ga on 20 Oct 2002 19:56 PDT
Just the important features of Windows CE fairly in-depth information.
 This will later be compare to Windows CE and Linux but for now I just
need some information on the features of Windows XP by tommorow.

Clarification of Answer by haversian-ga on 21 Oct 2002 03:13 PDT
Which?  Windows CE, or Windows XP?  WinCE is now being called PocketPC
(someone finally wised up that calling their product wince wasn't a
great idea) and is a stripped-down Windows intended for hand-held
devices.  Windows XP is the successor to windows 2000, which was
intended to unify the NT (commercial) and 95/98 (consumer) kernels but
did not.  Windows 95/98 live on as Windows ME, and Windows 2000 lives
on with a new driver model as Windows XP.
begentle-ga rated this answer:5 out of 5 stars
What has been answered was very well done!!!!!

Comments  
There are no comments at this time.

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy