Mac os 9 file structure

Subscribe to the OSXDaily newsletter to get more of our great Apple tips, tricks, and important news delivered to your inbox! Enter your email address below:. Can I ever replace it? I think I will try a Surface tablet. Just to look at another Apple device would be too painful right now. With Spotlight it may be mostly redundant now, but I still like the way one could flip down through folders and see their content and get to a specific folder or file.

Plus it can put the Classic multicolored Apple back in the Menubar. FinderPop is a neat System Preference that has an option to right-click anywhere in the empty space of the Menubar to show a list of Folders that can be specified in a hierarchical drop-out list, like one could do in the Classic OS. Name required. Mail will not be published required. All Rights Reserved. Reproduction without explicit permission is prohibited.

April 30, at pm. John says:. November 1, at am. Aberto I says:. January 19, at am. Roy says:. As mentioned above, Unix has a heavy reliance on file paths. While Mac OS is not immune from such problems, it does allow the user to relocate or rename even such important items as the System Folder. This is a particularly significant issue because, although we use BSD as the core system software, we do not want to require our users to understand how BSD works. Ideally, the typical Macintosh user does not even know that BSD is there. The very presence of such folders as " usr " and " etc " on disk is therefore awkward, and we hide those directories and their contents at the application level in order to avoid confusion as to why they are there and cannot be moved or deleted.

One idea is to put all system files into a Mac OS-style System Folder, and make that folder opaque to the user. This requires that there be other methods for managing the system software than allowing users to poke in there themselves, and we still have the problem that standard Unix paths are required to exist at the root level of the boot volume. This is still an area which we are actively working to improve upon. The original Mac OS had a wonderful feature that applications were kept in one file though both forks of that file were sometimes used.

The File System—Where Did Everything Go?

You could therefore drag one icon from your install floppy onto your hard disk or another floppy, and you were done. You could drag the one icon to the trash, and get rid of that program. Over the years, we have gotten into a model where there are several files to deal with.

A Color Computer Cross-Development Toolset

Most of the application files are kept in one folder, but applications also put various files into parts of the System Folder, such as preferences, system extensions, and fonts. One of the neat ideas we inherited from NeXT is the notion of opaque directories, which at the user level behave more like files than folders. We call these "bundles," and use them in a variety of ways whenever we need to encapsulate a set of files into one user-visible object.

You can put all application data into one such bundle with several subdirectories and files in it. The program executable goes in there, as well as any additional resources and plug-ins. The Finder treats the bundle as one opaque object which can be drag-installed, just like the good ol' days. We follow a similar scheme for system-wide libraries. The compiler knows how to find specific files in the framework, because each type of bundle has a well-defined structure.

Unix has its roots in environments where computing machines were expensive and rare, which mandated that they be shared. It was important that computational resources be utilized as well as possible in order to amortize cost, and give everyone involved a chance to get some cycles in for their respective projects. Therefore, Unix had an early notion of timesharing, and features like multitasking on a single processor, user accounts, and security became important early on.

Note that security has many aspects. One important aspect is some level of protection for one process from another process' mistakes. Because time was often critical, it was readily apparent that one running program's ability to usually accidentally impede or destroy the progress of another was unacceptable. This lead to the need for preemption and separate, protected address spaces for each process.

Other security mechanisms such as file permissions to some degree extend naturally from this basic inter-process security; each process runs on behalf of a given user, and is restricted to that user's permissions for access to files and certain system calls. The private memory allocated to each process ensures that one running program cannot hijack another's memory and affect its execution.

For Macintosh OS 9 and earlier: How to open zip files created with OSX

When the Macintosh was introduced, it was to be the first truly personal computer. As such, it has very different needs. These machines were designed so that one person could buy and use them hence the term personal. There was no need for time sharing as there would not be more than one console, and users would only need to run one program at a time. The hardware was much more modest. It later became clear that running a few programs side-by-side could be very useful, but this wasn't really true until personal computers had gained enough power and memory for this to be feasible.

Aside from computational power, you also needed such things as larger-screen displays. It is easy in hindsight, given the spiffy computers we have today, to look at Mac OS today and think that some of the original decisions which we still carry with the system were not well considered, but that would be an grossly unfair assessment of the situation.

Today, we find greater computational resources in "embedded systems" than was in the first Macintosh. Mac OS was designed to devote the limited resources of the personal computer to one user. Mac OS has had some notion of file permissions since the introduction of file sharing, but that model does not extend to local volumes. Mac OS 9 added support for multiple user logins, so that each user can have his or her own preferences remembered between logins, independent of the rest, and it has some file security. However, this support is rather superficial compared to Unix. There is still a single shared address space, and all programs have device-level access to the hardware.

Even so, it is sufficient for some uses, particularly in light of the fact that only one user can use the machine at a time. In Unix, users are a concept understood even by the kernel. Mac OS software has never had to deal with such a pervasive user model before, and in Mac OS X the challenge is to introduce this feature without breaking existing software products that our users rely on. It is also important to note that users are accustomed to having a great deal of control over the system without many barriers, but in BSD, even something as seemingly trivial as setting the time of day requires "superuser" access.

Now there are files on your disk which you can't move around, and folders you can't even open to look in. This appears to require a great deal of user education, which is not desirable for a system that is supposed to be intuitive to use.


  • Mac OS 9: Visual QuickStart Guide by Maria Langer.
  • chili mac with ground turkey.
  • Problems with ".zip" on Mac OS 9 and earlier:.
  • Spring-Loaded Folders - Mac OS 9: Visual QuickStart Guide [Book].
  • change mac os x terminal prompt;

Some of this, however, is intentional. We want to move away from the model where the casual user fiddles around with the system software on a day-to-day basis. This was necessary in Mac OS 9 because many software packages install or ask the user to install software such as system extensions into the system folder. Mac OS X discourages this sort of manipulation of the system software and instead tries to provide other less destabilizing methods by which developers can extend the system software.

In general, the issue of trading off user convenience vs. A lot of this should probably be left for the user to decide, depending on what the machine is being used for, and such factors as its network connectivity. However, a lot of these tradeoffs can be avoided by writing smarter software, which lets the system's security model fit more naturally into how the user interacts with the system. It is important to present security as a feature and not an annoyance, as the annoyed user is likely to disable security altogether, perhaps despite the risks.

This issue is system-wide, and needs to be revisited periodically as we move forward. Another problem we have run into is a Unix problem which is not specific to Mac OS X at all, but is one that Unix systems have not yet felt compelled to address. Unix filesystems store owner and group information on disk by writing the user's and group's system ID typically a natural number with each file's meta-data.

On any given workstation, this name-to-ID mapping is always consistent though not always one-to-one. If one were to take a disk from one computer and attach it to another, some hard problems arise. If the two machines are on the same NetInfo network, and the user and group IDs on the disk are in the parent NetInfo server, you are in good shape, since they will be consistent across the hosts. However, if the machines are in different NetInfo domains more often there will probably only be the local domain, so this is the most likely scenario , then these IDs may have no useful meaning at all on the second machine.

Even more difficult, some IDs may be consistent eg. There are many permutations of how this problem may affect file permissions. An ID on one host may map to a different user on the other, or to no user at all. Our solution here is truly nontrivial. We keep track of volumes which are "local" to the running system. When a new volume is introduced, we ask the user to decide what action to take. We can:. This brings about a much harder problem: what do we do about the thousands of software titles, already in use by millions of our customers, which were written and built against the old Toolbox?

Applications which are built for Mac OS 9 and have not been "Carbonized" run in this environment. For example, a memory request in Mac OS 9 gets fulfilled by a memory request in the Darwin kernel. The resource sharing has varying limitations. Because Classic is making raw SCSI requests, that disk cannot be mounted by BSD on the native side, or there will be serious problems, so the disk cannot be shared by both native and Classic applications.

This is, in fact the way disks were initially accessed by Classic. Another option is to store a disk image in a file on the Mac OS X filesystem. This provides Mac OS 9 with disk storage without taking a drive away from the native environment arrow B in figure 1.

Access the Root Directory in Mac OS X in 4 Ways Quickly

A third implementation shimmed the Mac OS 9 disk driver to that in Darwin arrow C in figure 1 , removing direct SCSI access and enabling the use of a single partition on a disk, rather than taking over the whole device. There are tradeoffs made as you move along. Most applications access files via standard API, but not all do. For example, Norton Disk Doctor wants to talk to the disk driver.

Ironically, the Macintosh's historically closed architecture played a key role in making this possible. Because details about hardware were not public, and direct hardware access has been closely guarded in Mac OS 9, application writers never found it convenient to write around the standard APIs, and this use of the layering of the system works for the vast majority of applications. The same strategy worked for other devices. Fred is presently a senior software engineer at Apple Computer in Cupertino, California.

Patrick W. Errors, however, are Fred's doing. Skip to main content. Sign In Create Account. Search form.

Mac OS X: Where The Files Belong Now

Tech Summary URL:. Filesystems The use of filesystems demonstrates both implementation and semantic problems between the Unix and Mac environments.


  • The EtherShare file server!
  • Latest Forum Discussions?
  • mac highlighter for indian skin.
  • hulu app for mac os x.
  • HFS Plus - Wikipedia;

Files Above the kernel, there are file name conventions in Unix which have manifested as limitations and bugs in various Unix software. While it has certain advantages, the problem with this approach is that files are scattered around the disk, making it somewhat difficult to install and uninstall software. This is addressable by using a package installer scheme with receipts and so on, but that is easily broken if the user uses different installers or bypasses the installer by unrolling a tar archive.

Multiple Users Unix has its roots in environments where computing machines were expensive and rare, which mandated that they be shared. We can: Accept IDs at face value. This is the Unix default. Add the volume to the list of locally known volumes. Ignore IDs on that volume. A new user and group pair called "unknown" will be returned by the filesystem.