Sunday, September 15, 2013
CBC changes radio links again
Saturday, August 3, 2013
2.11BSD Unix on PDP-11/73
Sunday, July 7, 2013
Computers and Operating System Bundling
In reviewing the history of computer sales in the 'modern era' we can see an interesting pattern. Early on we saw home computers which booted directly into ROM BASIC and booting into another operating system isn't even possible. Later on we see many examples of the CP/M operating system being bundled with z80 based computers. CP/M was usually bundled as one needs a unique BIOS for each type of computer. In a rare exception Radio Shack sold CP/M separately for their Model 4 machine for $150 in 1985.
Upon the release of the IBM PC we find that IBM offered three different operating systems for their machine: PC DOS, CP/M-86 and UCSD Pascal. Of these 3 operating systems PC DOS becomes the operating system of choice for most users. Even in this early era we can see that computer users had some different choices of OS.
By 1985 we see the rise of the IBM compatible computer and the near ubiquity of the x86 cpu architecture. Of course soon after this we see various Motorola 68000 based systems, including the ones offered by Commodore, Atari and Sharp. One constant we continue to see is that most operating systems are closed source although we see in academia that Universities have some access to the Unix v6 and v7 source code. The idea of bundling an open source operating system with a computer doesn't occur until much later. In 1987 we see the release of the open source MINIX OS.
In the 1990's we see the appearance of BeOS which is offered for free to various OEMs. Kuro5hin.org has an excellent blog post to explain how Microsoft suppresses the use of BeOS by OEMs. BeOS lives on in an open source implementation called Haiku.
With the increased use and speed improvements of the internet we see a new phenomenon: open source operating systems are distributed via downloading. This includes operating systems such as GNU/Linux, the BSDs, Haiku, Plan 9, Inferno, AROS and many others. By 2008 the Jiangsu Lemote Tech Co releases the Lemote computer with Linux and PMON, a completely open source system.
Thursday, June 20, 2013
Early History of Microcomputers
Friday, May 24, 2013
OpenBSD on Dell GX110 Hits 1 Year Uptime
Out of all the operating systems I've ever tried, I have to give a special nod of appreciation to OpenBSD 4.7. An hour ago it hit one full year of uptime. The hardware it's running on is nothing special, just an old Dell GX110 with a P3 cpu and 256 megs of ram. No mysterious slowdowns occurred and the system is still responsive. This marks the first time I've ever run a computer non-stop for over 1 year.
Here is a list of the longest uptimes I've personally had with various combinations of operating systems and hardware:
Longest Uptimes --------------- dell gx110 openbsd 4.7 365 days server tyan fc1 276 days dell gx110 freebsd 8.1 169 days toughbook cf-48 f10 165 days hp nx9030 f16 127 days zaurus sl-5500 embedix 120 days acer 5534 f14 89 days vector qdi p3 58 days pcchips f10 35 daysFC1 refers to Fedora Core 1
F10 refers to Fedora 10
F14 refers to Fedora 14
F16 refers to Fedora 16
Tuesday, April 16, 2013
Operating System Features I'd Like to See
FOSS operating systems are great and I enjoy using and adapting them, but they are missing certain features which could make them even better.
One issue with FOSS operating systems is the plethora of package managers. Fedora even has two different package managers: apt-get and yum. Slackware has their own version of apt-get that they call slapt-get. The three BSDs use pkgsrc and the Sharp Zaurus used a similar package manager called ipkg. If you use KDE you are probably familiar with kpackage.
All these different package managers do take a bit of getting used to but it's the package names that are really confusing. One can't assume that the package names used by openbsd have the same names used by Fedora or Debian, or even if they have grouped programs together in the same fashion. One can't assume the every package used by Debian has a BSD counterpart and vice-versa.
But what I find most lacking in every package manager I've tried so far is that there is no way to see different categories of packages. There should be some way to list all text editors or browsers or games. Perhaps some package manager can do this but I haven't seen it yet. Another feature I'd like see is a suggestion feature based on the amount of ram available on the computer. For example, if your computer has 256 megs of ram or less it could suggest you to install dillo rather than the more voluminous firefox. Package managers could also tell you exactly how much hard drive storage space will be consumed before you actually install the package. (UPDATE: Fedora 14 does warn users when hard drive space is low.)
In general the resource management of computers could use a lot of improvement. It should be impossible for the user to lock up the computer by over-using it's resources but the truth is that it's easy to do (I'm looking at you firefox). It would be nice if one could tell the operating system not to let any individual program to use more than 50% of the available ram or at least have the operating system ensure that there is always a minimum amount of ram in reserve so the OS doesn't become unresponsive. Ditto for hard drive space, the OS should at least warn the user that the drive is becoming full and that some space should
be freed up.
Along the same lines any interactive program that becomes unresponsive should generate a warning message from the operating system to the user asking them if they would like the program killed. This process could even be automatic: e.g. the OS could kill any interactive program after zero response after a certain length of time.
Any operating system should be able to completely reset it's video driver. Assuming there is no hardware failure it should always be possible to reset the video card to a usable state without having to reboot the computer. My understanding is that this is not the case with current video drivers.
Labels: Operating Systems
Friday, January 4, 2013
Different Software Licenses
I use a bunch of different operating systems and they use different software licenses, and sometimes different parts of them use different licenses:
GPL licensed software: GNU/Linux
BSD licensed software: OpenBSD, FreeBSD
Motif licensed software: openmotif
Open Motif was released under a license allowing royalty-free distribution if the platform upon which it is used is Open Source. Openmotif first appeared in May 2000 as version 2.1.30
Motif itself is now licensed under the LGPL which bears some explanation which I will quote from wikipedia:
"The LGPL allows developers and companies to use and integrate LGPL software into their own (even proprietary) software without being required (by the terms of a strong copyleft) to release the source code of their own software-parts. Merely the LGPL software-parts need to be modifiable by end-users (via source code availability): therefore, in the case of proprietary software, the LGPL-parts are usually used in the form of a shared library."
Now to be clear, I prefer to release software under the GPL most of the time. I assume most people who read a blog like mine are familiar but just in case I'll include this link:
There are times where one might be inclined to use a different license, e.g. the BSD license or even a license similar to the openmotif license. At least that's the theory since what I really did was release source code with no license mentioned at all, kind of an ad hoc free/open software release. So I'm going to mellow a bit and say if someone wants to use a different but still open/free type license then I'll accept that and not argue about it.
In the past it was a different situation again as I gave out copies of my various programs as binary only in the 1980s at no cost. Back then people didn't seem that interested in obtaining source code, at least not outside of academia but they were interested in using the software. This is still the case today as most computer users are non-programmers.
Now, to me the most important idea embedded in these different software licenses is that programmers and enthusiasts can obtain source code for educational purposes. If one uses the source code of others it only seems fair to release any programs derived from free software as free software. This is the main purpose of the GPL and as I said before it's the license I'm most inclined to use.
Other important things include well written documentation for users and programmers. The elegance of a program is significant too, in that it performs the task it was meant to do correctly and does so in a way which is well understood. It would be even more ideal if the software also used the minimium of system resources. Do one thing well, don't turn your program into the ultimate swiss army knife!
Leaving aside these details about what constitutes ideal software we can reflect on what advantages there are to free/open software:
- Porting the code to a different platform
- Fixing bugs, fixing spelling errors
- Augmenting the documentation
- Adding new features
- Being able to use the program without having to worry about expiration dates or forced upgrades
I feel compelled to tell everybody about a certain software combination I've recently put on one machine:
OpenBSD + X + Icewm + Dillo + Thunar + Leafpad + clipman + openmotif
OpenBSD is well compartmentalized. When you first install it you get the bare bones and nothing else. You must explicitly select the packages you want to install. As a result you end up with pretty much exactly what you want. I'm very pleased with the end result but allow me to explain why I'm so happy with these software components.
The target machine has only 256 megs of ram and a Pentium 3 cpu.
Icewm is a light weight window manager.
Dillo is a light weight web browser, released under GPL v3
Thunar is a light weight file manager, part of Xfce
Leafpad is a simple text editor, based on GTK+
clipman is a clipboard manager, also part of Xfce
openmotif is a toolkit for writing a GUI
The end result is a body of software that is very responsive, comes with all source code, and uses a minimum of resources. Note that these packages use different licenses but the end result is the user is happy, especially this user.
Subscribe to Posts [Atom]