Linux-Misc Digest #718, Volume #20 Mon, 21 Jun 99 03:13:30 EDT
Contents:
Re: open systems?!? Re: Why does Apple not cooperate with Be? (Lawrence D�Oliveiro)
Visual programming languages for Linux (Ananke)
Re: open systems?!? Re: Why does Apple not cooperate with Be? (Lawrence D�Oliveiro)
Re: Uninstalling Linux Red Hat 5.2 ??? ("Ryan T. Rhea")
----------------------------------------------------------------------------
From: [EMAIL PROTECTED] (Lawrence D�Oliveiro)
Crossposted-To: comp.sys.mac.programmer.misc,comp.sys.be.misc,comp.unix.misc
Subject: Re: open systems?!? Re: Why does Apple not cooperate with Be?
Date: Mon, 21 Jun 1999 17:02:39 +1200
In article <yfRa3.232$[EMAIL PROTECTED]>, "William
Edward Woody" <[EMAIL PROTECTED]> wrote:
>Lawrence D�Oliveiro <[EMAIL PROTECTED]> wrote in message...
>> "William Edward Woody" <[EMAIL PROTECTED]> wrote:
>> >Lawrence D�Oliveiro <[EMAIL PROTECTED]
>> >> Actually, four purposes spring to mind:
>> >> * To abstract away from hardware specifics, allowing the same
>upper-layer
>> >> code to run on a wide variety of hardware configurations.
>> >
>> >Not really. This is a recent innovation, but not necessary for
>> >an operating system.
>>
>> The idea goes back at least 30 years, to when different models in the same
>> computer family started shipping with different configurations of disk and
>> tape drives and the like.
>
>Yes, it goes back to ideas from 30 years ago, but again, it's not
>necessary for an operating system (though it is nice to have a
>device driver scheme which permits this sort of abstraction).
>
>The recent innovation I was refering to, by the way, is the
>Microsoft "HAL" layer (Hardware Abstraction Layer) which Apple
>recently adopted for the MacOS.
Hmm, your Microsoft fixation seems to extend to believing that Microsoft
introduced something first when it didn't.
Consider that, say, 10 years ago, MacOS was allowing identical
applications to run on a greater variety of different hardware
configurations than MS-DOS could manage at the same time: you had Mac
models with different CPUs, different graphics displays, completely
different bus architectures, a whole range of different printers,
different network interfaces, differing numbers of serial ports--just
about everything could be in some way different. If that's not hardware
abstraction, then what is?
>> >> * To define common communication mechanisms (data interchange formats
>for
>> >> text, graphics and the like).
>> >
>> >No cigar. This is more of a high level thing, and not an OS thing.
>> >Microsoft would have you believe that this is part of the operating
>> >system...
>>
>> What has Microsoft got to do with this?
>>
>> >But really: is a GIF file definition part of an OS? JPEG definition?
>> >RIFF? TIFF? HTML?
>> >
>> >No.
>>
>> Yes! ...
>
>So Linux running anything earlier than X v11R5 isn't an operating
>system? Sheesh.
That proves my point. Linux is primarily useful as a server operating
system, running a relatively small number of dedicated applications such
as Apache, BIND and the like. It's actually quite difficult to use in a
general-purpose desktop platform, precisely because it is lacking so many
things we take for granted in a modern operating system.
>> >> * To minimize reinvention of code for common application tasks.
>> >
>> >No; this is what a library (shared library, static library) is
>> >for.
>>
>> And what is an operating system, if not built out of a bunch of libraries?
>
>BWWWWWAAAAAHHHHH!!! HA! HA! HA! HA! HA! HA! HA! *snort*
>
>Thanks, I needed a stupid rhetorical question.
>
>Get yourself a copy of Linux and poke around in it a while.
>One of the things you'll notice is that the actual operating
>system itself is a small kernel which does very little beyond
>arbitrating between processes and providing a device driver
>and file system abstraction.
Linux does seem to be the last rallying point of the traditionalists,
doesn't it?
>Other operating systems that have been floating around there
>even abstract the file system out into a separate process
>which can be replaced by another application, albeit a rather
>low-level "magical" application.
Yes, I know. I used VAX/VMS for several years, with its F11BACP
("FILES-11B Ancillary Control Process") and MTAAACP (ANSI magtape manager
process). Then they found that having a separate process was incurring too
much context-switching overhead, so the filesystem manager process was
replaced with a resident kernel module called the "XQP" ("eXtended QIO
Processor", where QIO stands for "Queue I/O", the main system service call
for making all I/O requests).
And Windows NT tried running the graphics subsystem in a protected address
space in early versions, but they, too, found that that was causing too
much overhead, so they moved graphics into the kernel in NT 4.0, just like
MacOS had been doing for the previous 10 years.
The only holdout left is UNIX, which still insists that X Windows is a
good architecture for graphics. So I find that launching Netscape on a
600MHz DEC Alpha requires a full 10 seconds before a window even appears.
A slow, elderly Mac can do better than that!
>Play around with them for a while, and get yourself a good
>book, such as Tannenbaum's "Modern Operating Systems."
Hmm, I just checked at Amazon, and that book dates from 1992. Now, I'll
agree that the most fundamental of the changes in operating systems that
we've been discussing took place before then. However, it does seem to
take a while to sink in to academia...
No offence to Andy Tanenbaum--I have the second and third editions of his
"Computer Networks", which I treasure as historical snapshots of the state
of networking theory and practice--but this whole discussion is reminding
me of this introductory system software course I did in my second year at
University (1980). The lecturer's only experience seemed to have been on
UNIVAC computers. Not far outside the lecture hall, we had perfectly good
DEC PDP-11 and VAX computers that the students could have done so much
with, if only someone would show them how. But since the lecturer knew
nothing about them, all he could do was pass out paper notes explaining
how the UNIVAC did system service calls and so on. All the hands-on
experience I gained at the time was in spite of him, not because of him!
>3) While it may be true that you link to a library to
>provide bindings to your kernel's various operating system
>traps, if you look at those bindings, you'll find that in
>general they use some sort of "trap" mechanism to invoke
>the kernel. That is, you don't link to the kernel like a
>library; instead, the library you link to contains magic
>code to call into the kernel using processor-specific
>"tricks".
This is only mostly true for protected-mode operating systems. For
example, MacOS did use traps to invoke system services, back in its 68K
days. But the PowerPC version does it all with direct routine calls--the
only traps left are for communicating with 68K code.
Also, the Amiga was accessing the entire operating system through
procedure calls, without traps, back in 1985 I think it was.
Even in protected-mode operating systems, not every service needs to run
in kernel mode. For example, in VAX/VMS, some services (such as number
formatting) ran in the mode of the caller, without going through any
traps.
And conversely, VMS had the concept of "privileged libraries", which were
shareable libraries--including third-party ones--that applications could
link against, that ran in executive or kernel modes, using the same
trap-dispatch mechanism that the OS did to switch modes. Did that make
them part of the kernel? No it did not.
>> Consider something you probably think is really high-level, like a
>> graphics library. And consider something you probably think is really
>> low-level, like an OS kernel. Would the latter have a need for the former?
>> Yes it would. On my Mac, there is no such thing as a "text mode" for the
>> display: everything that appears on the screen has to be drawn there by
>> the OS graphics library. That includes all the messages during system
>> startup, plus the icons that indicate various device drivers loading, and
>> so on.
>
>Just because a thing is provided in an operating system doesn't
>mean that every operating system must provide similar services
>to be an operating system.
An operating system is there to serve the needs of users and application
developers, not they to serve it. The pressing computing problems of today
are not the pressing computer problems of yesterday. The problems that
users and developers need to solve have changed, and the tools they use
must change correspondingly to keep up. Applications nowadays are expected
to present a graphical interface, and to take advantage of the Internet
where appropriate, and support scriptability and so on. An operating
system that doesn't support such needs simply isn't worthy of the name.
>The Macintosh, as good as the MacOS is, isn't an example of a
>minimial implementation of an operating system. And if the
>direction of MacOS X is an indication, even some of the services
>you are talking about (such as QuickDraw) will actually be
>provided by other processes, rather than being in the MacOS
>"kernel."
I doubt this, because of the performance issues I have outlined above.
Also, remember that Apple has confused the issue somewhat by referring to
two completely different products as "MacOS X". The one that's available
now, "MacOS X Server", doesn't deserve the name "MacOS" at all. It's just
a rehash of the same old NextStep/OpenStep/Rhapsody technologies that
Steve Jobs had been trying unsuccessfully to sell for 10 years before he
suckered Gil Amelio into buying him out. :)
>> Strange--there's that Microsoft fixation again.
>
>That's because in the DOJ v. Microsoft trial, Microsoft has been
>trying very hard to use people's lack of knowledge as to what
>defines an operating system to try to prove their inclusion of
>an Internet Browser into the Windows 98 package makes IE part
>of the Win98 operating system.
Regardless of the pros and cons of the Microsoft case, I think it'll be a
sad day when the definition of "operating system" has to be officially
laid down by a court verdict, and discussions such as ours could be
construed as contempt of court!
I don't think the Microsoft case has anything to do with what "officially"
constitutes an operating system at all. It is simply that Microsoft,
through its own foresight and the perfectly legitimate operation of the
free market, and with the help of the buying decisions of millions of
ordinary people like us (yes, I too bought a copy of Office 98), has come
to enjoy a virtual monopoly position, so perhaps it is time for the
regulatory authorities to step in and interfere and pass more rules in
order to keep the free market free.
This sort of thing has happened before. For example, during the 70s and
80s, American Airlines spent millions of dollars of its own money
developing SABRE, the first on-line ticket reservation system. After many
years of work, the system became very popular--so popular, that it became
a threat to the livelihoods of the other airlines. You see, because it was
owned by American, it naturally displayed American flights first, in
preference to those of other airlines! So eventually the regulatory
authorities stepped in and forced American to spin SABRE off into an
independent company, that didn't favour one airline over another.
Same thing with Microsoft. Sometimes a competitive advantage can grow too
strong for the good of the market. Where do you draw the line? But
somebody has to.
>And if the user gets hungry, are you going to make a Peanut
>Butter and Jelly sandwich despenser part of the computer
>system?
Well, you've already got Coke and coffee machines connected to the
Internet... :)
In principle, I rule out _nothing_. If something becomes established as a
standard part of the computing experience, then yes, it should be in the
box.
>But what was an engineering marvel 15 years ago has now become
>a bit of a liability: by insisting that QuickDraw be part of
>the operating system instead of factored out into a separate
>(invisible, magical) process that provides graphical services
>on the display, Apple made it difficult to provide a true
>pre-emptive multithreaded and multitasking environment for
>users of the iMac and more powerful Mac systems.
>
>It's funny, too: by doing such a factoring, the QuickDraw
>API wouldn't have to be altered. And the Mac look and feel
>would remain the same. The only difference is that programs
>would be more responsive and less prone to crashing.
I don't see that the factoring would have made any difference. The main
barrier to reentrancy in the current MacOS is the Memory Manager, and I
gather the main cause of that is the fact that it supports "handles"
(relocatable memory blocks) as well as conventional "pointers". (It can be
difficult to perform a memory operation at interrupt level when a
non-interrupt-level call is busy moving a large memory block around.)
You'll note that a number of more recent additions to the MacOS have
brought along their own memory-management layers to get around this (eg
Open Transport, QuickDraw GX).
As for proneness to crashing, in my experience _all_ current computer
platforms, whether protected, preemptive or not, are prone to crashes. The
main factor seems to be the complexity of the software they run: because
desktop machines tend to run a greater variety of more complex software
than servers, that seems to make the former crash more than the latter.
Memory protection and preemption don't seem to make much difference, other
things being equal. I have had MacOS servers run happily for months at a
time, and I have seen desktop UNIX machines that crashed several times a
week.
I once thought that, if we could ban C programming, and force people to
use even a marginally more modern language like Modula-2, we could do more
to improve system reliability than all the memory-protection and
preemption mechanisms in the world.
>And if developers would stop thinking that we have to include
>an HTML browser as part of "modern operating systems", we'll
>stop getting abominations like Windows 98's file/internet
>browser.
I haven't used Wind98 much, so I can't comment on that feature. But I will
note having Web browser support as part of the OS is very useful. For
example, the Sherlock search system in MacOS 8.5 and later is capable of
understanding just enough HTML to send a query to any number of Web search
engines, and collect the results in a scrolling list, where
double-clicking any entry will show the full page in your preferred Web
browser. Also, it's very easy to write plug-ins to add support for new
search engines to Sherlock.
More than that, it becomes easy, for example, to add your home page URL to
the about box in your application. When the user clicks on the link, you
just call the ICLaunchURL routine, and again, the full page appears in
their preferred Web browser. Software developers are now expected to
provide support, updates etc via the Internet, so such features are no
longer a minor frill--they're pretty much essential.
>And we'll stop disenfranchising the "rich" who can afford to
>upgrade their computer hardware every 18 months because some
>programmer decided that a PBJ dispenser is a required
>peripheral for Windows 2002.
Here's a valid point: those who do not spend money are economically
invisible. The magazines and books and so on aren't geared to the needs of
those who don't need to upgrade. But that's the way the business works.
Can you change it? I certainly can't.
I will point out one thing: the pace of change may now be slowing
somewhat. Macs have always had a longer life than Intel machines, but even
an old 133MHz Pentium is not a piece of scrap now: it can actually still
do useful work, as the software developers are running out of ways to use
up all the CPU power. We may not see an immediate end to the
disenfranchisement of the computer-poor, but we could be seeing a
reduction in some of its more egregious inequities.
------------------------------
From: [EMAIL PROTECTED] (Ananke)
Subject: Visual programming languages for Linux
Date: Mon, 21 Jun 1999 05:06:40 GMT
Reply-To: [EMAIL PROTECTED]
Just wondering if anyone can suggest a good visual language for
developing and using a database online on a Linux box.
Thanks, Ana
Liberal Party - proudly leading Australia into the digital dark ages.
http://www.internettrash.com/users/ananke
------------------------------
From: [EMAIL PROTECTED] (Lawrence D�Oliveiro)
Crossposted-To: comp.sys.mac.programmer.misc,comp.sys.be.misc,comp.unix.misc
Subject: Re: open systems?!? Re: Why does Apple not cooperate with Be?
Date: Mon, 21 Jun 1999 17:23:52 +1200
In article <yfab3.227$[EMAIL PROTECTED]>, "William Edward
Woody" <[EMAIL PROTECTED]> wrote:
>1) MultiFinder showed up in System 5, not System 6. System 6 is the
>first version where Multidohicky (as we lovingly refered to it)
>shows up integrated into the system, rather than as a separate
>extension.
I could never remember what "System 5" is supposed to refer to.
MultiFinder 1.0 came (and worked) with System version 4.2, Finder version
6.0. I suppose that package could have been called "System Tools 5", or
5.something.
In all versions of System 6, MultiFinder was still a separate extension
(actually 3 separate extensions--don't forget "DA Handler", and then
"Backgrounder" to support background printing), and you had the choice of
running with or without it. It wasn't until System 7.0 that it all became
built-in, so that you couldn't turn it off.
Your other comments about MultiFinder seem pretty much on the mark.
>What is particularly galling to me is that Apple did have a
>solution way back in '87, called A/UX. It would run on an
>Mac II, and while it was a Unix environment, it did allow
>multiple Macintosh applications to run in the Unix environment
>using most of the existing Macintosh API. (Think Carbon, but
>12 years ago.)
>
>But Apple, in it's infinite wisdom, never migrated the OS
>towards A/UX. Why?
>
>I suspect it's because Apple's higher level management
>did *not* know that preemptive multitasking was the
>way to go.
I don't think you can blame Apple's management for this--blame the market
instead. The product was out there, it seemed to be promoted vigorously
(certainly we at the University kept being told all about it), and they
kept updating it to track new MacOS versions and encouraging developers to
support it. But I never saw the point of mixing MacOS and UNIX on one box,
and I still don't see the point today. That's why Apple's later MAE
product (MacOS on top of UNIX workstations from HP, possibly even IBM and
DEC, and others) was also a flop, and why NextStep/OpenStep/Rhapsody was a
waste of time, and why I think that renaming it "Mac OS X Server" isn't
going to make any difference.
>What was interesting about the Thread Manager was not that it
>provided multithreading services: nearly anyone can do that
>through the creative use of setjmp/longjmp. What made the
>Thread Manager interesting was that it's developer figured
>out how to disable the Macintosh's stack sniffer.
Nothing magical about this. There was a technote or something I read years
ago that told you how to do this: just set the StkLowPt low-memory global
to zero. That's all it took.
>Ian Ollmann <[EMAIL PROTECTED]> wrote in message
>> Also Apple sure doesn't do memory allocation in a cooperative sense. Each
>> program gets its own little walled off memory partition. You can ask for
>> temporary blocks outside of your heap, but you are usually discouraged
>> from using them.
Actually, no. In System 7.0 and later, temporary memory blocks can be
treated just like handles in your own application heap. The main trouble
with temporary memory is that you can't tell various OS servers to do
their allocation there. But you can get around that by using the system
heap instead (which is resizable under MultiFinder/System 7-and-later).
This is officially discouraged by Apple, and there are some real pitfalls
(like if you forget to deallocate something, it never gets freed), but if
you're careful about these, it does work.
------------------------------
From: "Ryan T. Rhea" <[EMAIL PROTECTED]>
Subject: Re: Uninstalling Linux Red Hat 5.2 ???
Date: Mon, 21 Jun 1999 02:43:34 -0400
Nasir Kamal wrote:
> Hi !!!
> I want to uninstall Linux Red HAt 5.2 and Install Win95. But when I
> did install Linux on my Compaq Prosignia server machine Linux had
> asked me to overwrite Master Boot Record and I selected to change it.
> Now whatever I do nothing happens. I have tried deleting partitions
> using Linux fdisk too, note that my HDD is SCSI.
> I have booted my system with Bootable CDROM of Win NT too, after
> copying files NT asks for system reboot, and when the system is
> rebooted it goes to the Linux again and suddenly a message of Kernal
> Panic is appeared.
> Please tell me how can I completely remove Linux.
>
>
> Thanks in advance,
> Nasir
Nasir,
First run 'lilo -u' from linux (if it is still available)
Then run 'fdisk /mbr' from dos/winNT to reinstall a win compatible
master boot record
Ryan
------------------------------
** FOR YOUR REFERENCE **
The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:
Internet: [EMAIL PROTECTED]
You can send mail to the entire list (and comp.os.linux.misc) via:
Internet: [EMAIL PROTECTED]
Linux may be obtained via one of these FTP sites:
ftp.funet.fi pub/Linux
tsx-11.mit.edu pub/linux
sunsite.unc.edu pub/Linux
End of Linux-Misc Digest
******************************