Labels: hfs, home folder, linux, mac
Usability and design is an often-discussed topic when it comes to operating systems. Zealots of a particular operating system will argue that theirs is the best, the easiest to use, the best design. Fools! If only you knew that usability can't be measured that way; that there are so many factors affecting these two "qualities" that it's difficult to know even where to begin.
First of all, what is usability? This is obviously a very subjective term, and the root cause of why there is so much dissent among even experienced users of various operating systems. For the time being, let's say that usability is inversely proportional to two things: firstly, the degree of the learning curve required to use a particular software interface, and secondly, the average amount of work required to complete a task using said software interface. These two things are also very subjective, but it will help to break things down a bit when examining operating systems.
In this article, we will examine two main roots of operating systems: Unix and Microsoft Windows. They are both extremely different, have different philosophies of how interfaces should be, and have almost created cults following them.
Unix is, and always has been designed for use in the command line. Even the directory structure is designed around command-line use, keeping short folder names to save typing. It's been designed so that all its system configuration is stored in a number of easily-editable text files distributed around the hard drive. All a user needs is a root shell and a text editor, and they can configure almost any area of a Unix system. Not to mention that these shells have been designed for remote access, allowing a user halfway around the world to do at a command prompt exactly what a user sitting a foot away from that same Unix server can do. The design of it is superb, having networking built into its core, and being able to be fully operational from a simple command prompt.
Microsoft Windows, on the other hand, has a completely different approach. While it too started with a command line known famously as MS-DOS, it was nowhere near as powerful as Unix. Doesn't anyone remember that horrid 8.3 filesystem naming scheme? Naturally, Microsoft was soon trying to get rid of it in favor of their even-more famous GUI operating system, Windows. Windows has the philosophy that the user is incapable of configuring a system through the use of text files, and that they need a nice pretty GUI to do everything for them. Instead of text files holding configuration options, Microsoft instead opted for a database containing configuration for the entire system, even third-party applications. This configuration database is known as the Windows registry. If the user wanted to configure anything, they were supposed to use the GUI tool that Microsoft provided. Forcing the user to manually edit the registry was unheard of, and only leet hackers who wanted to risk messing up their system did it. As for MS-DOS, it was still there, but Microsoft had sort of pushed it under the carpet. By Windows XP, many DOS applications refused to work anymore under the provided command prompt, and developers were expected to write GUI applications if they wanted any chance at all of getting people to use their software.
Now, before we go any further, which is the technologically superior operating system? Which seems to be more powerful? I'd say Unix is. However, here is where people go wrong: they assume that good design means that an operating system will have good usability. Not necessarily! In fact, the reason Windows is so easy to use despite its bad design is because of its bad design. By having a crappy base system like DOS beneath Windows, by having a database that the entire system depends upon, Microsoft has essentially forced software developers to create nice pretty GUIs for every piece of software they want to have a chance at selling in the market. In fact, it is safe to assume that the average Windows user has never even used a command prompt before! GUIs are clearly easier to learn than a command line interface, as people tend to learn better through the use of pictures and diagrams than through text. The goal of Unix was never really to be easy to use in the first place. Power and flexibility was the central goal, and continues to be.
In fact, it really isn't fair to compare Windows and Unix, as they're two very separate beasts, with entirely different mindsets. People just have to choose whichever operating system suits their needs the best, or in the case of me, both. Suit yourself.
Labels: mac, operating systems, unix, usability, windows
I found this file kicking around on my hard drive, and thought I should at least put it out there.
This guide outlines the steps an individual must take to get FreeDOS installed and running on an Intel-based Macintosh. An interesting thing about this process is that it seems that some people believe this isn't possible;
http://os.newsforge.com/os/06/09/12/1628227.shtml?tid=16
Mac users will need to run FreeDOS inside an emulator "for the foreseeable future" due to the lack of support for the Extensible Firmware Interface, which Intel-based Macs use to boot, and which Hall says is not on the list of future features right now.
So now we're out to prove them wrong!
Before you start
Before starting, make sure that you have at least a few gigabytes of free space on your hard drive. While FreeDOS is perfectly happy with less than half a gigabyte, you'll have a much lower chance of ruining your data if you have lots of free space.
You'll need to download FreeDOS, so point your browser to http://www.freedos.org/freedos/files/, pick an iso image and a mirror, and start downloading. To burn the resulting iso image, follow these steps:
- Locate Disk Utility, which resides in /Applications/Utilities. Start it up.
- Insert a blank CD into the drive. If a window pops up asking what program you would like to open it, choose "Disk Utility" and hit OK. A blank CD should show up in Disk Utility's left pane.
- Choose File->Open Disk Image... from Disk Utility, and choose the iso file that you downloaded.
- The iso image should also appear in the left pane as well. Select it, and hit the "Burn" button from the toolbar. Hit the "Burn" button to start the burn process.
Setting up the partitions
Now you need to shrink your existing OS X partition to make room for FreeDOS. Open up Terminal (/Applications/Utilities). First, you will want to find out your disk partition scheme, so enter the following:
diskutil list
This is what should get printed out:
/dev/disk0
#: type name size identifier
0: GUID_partition_scheme *55.9 GB disk0
1: EFI 200.0 MB disk0s1
2: Apple_HFS 55.0 GB disk0s2
There's two important things here. The first is the size of Apple_HFS, in this case it's 55 gigabytes. You need to decide how much room you want to allot to FreeDOS. 1 gigabyte is more than enough, so you want to shrink the Apple_HFS partition to 54 gigabytes. Get it? The other important thing is what is to the far right of Apple_HFS, in this case disk0s2. This is the device name of your OS X partition, and you will need this in your next command. But first, quit any open applications. You don't want to risk trashing your partition, so the only application that should be open is the Terminal. If you absolutely need your web browser open to read this, it's recommended to copy+paste the command into the Terminal, but don't hit enter until you've quit your web browser. Now that you're ready, type this:diskutil resizeVolume disk0s2 54G "MS-DOS FAT32" freedos 1G
disk0s2 refers to the device name of your OS X partition; if yours is different, replace it with the correct one. 54 is the new size of the OS X partition, G refers to gigabytes (other units include M for megabytes and B for bytes). Finally, "MS-DOS FAT32" means that you want a Windows partition, freedos is the name that you want to give the volume, and 1G means you want to use the space left over from resizing the OS X partition for the FAT32 partition (1 gigabyte). The output of the previous command should look something like the following:
Started resizing on disk disk0s2 Untitled
Verifying
Resizing Volume
Adjusting Partitions
Finished resizing on disk disk0s2 Untitled
You will need to manually reformat your new partitions.
WARNING: You must now reboot!
Naturally, you will want to reboot, so do that right now. Boot back into OS X to make sure everything is alright, then proceed with installing FreeDOS.
Installing FreeDOS
Insert the FreeDOS installation CD you made earlier into your CD drive. Reboot, holding down the 'C' key until you see the FreeDOS startup screen. For some reason the keyboard would lock up when using the arrow keys at certain points, fortunately the defaults were alright for everything. It should at a certain point ask you if you want to format the C: drive. Choose yes. If it says you need to run XFDISK first, do not continue! XFDISK only works with MBR-based partition tables, and you are currently working with a GPT/MBR hybrid partition table. You've probably done something wrong along the way.
Once FreeDOS is finished installing, the rest is easy. Reboot holding down the option key, and you should be given a choice between OS X and Windows. Choose Windows, and you'll be sent to the friendly DOS prompt.
Below is the kernel configuration I used on my MacBook. It supports EFI booting, GUID partition tables (GPT), framebuffer, sound, and other random crap which I'm too tired to think of right now.
http://tinyurl.com/yorrj9