History of Apple operating systems. Part 2. Take-Off Macintosh

Original author: Amit Singh
  • Transfer
We continue to get acquainted with the history of Apple operating systems. Today Lisa, Macintosh up to System 7 and early attempts to use Unix.
The first part: habrahabr.ru/post/194696

Parish Graphics


image
Apple introduced the Lisa computer in January 1983, a year before the Macintosh. Starting price was $ 9995. The heart of the new product was the Motorola 68000 32-bit processor. At creation, the developers were clearly inspired by the Xerox PARC, see habrahabr.ru/post/194696 . This was facilitated by an agreement between Xerox and Apple - shares in exchange for technology. It should be noted that the Lisa project began even before communion with PARC. In general, it is not clear which ideas were borrowed from Xerox and which ones were invented on their own.

Lisa os

Lisa Office System (OS), the operating system of this computer, had a fully graphical interface. There was a file manager with icons, when clicked, the corresponding application was launched. The set also included the LisaCalc table processor, the LisaGraph charting program, the advanced LisaList list editor, the LisaProject project manager, the LisaDraw drawing tool, the LisaTerminal ANSI terminal emulator, etc. In addition, SCO Xenix was supported on Lisa.

image
For the first time, Lisa introduced some of the interface elements that Apple has used to this day. This menu is at the top of the screen, though without a button with an apple so far. The apple symbol was on the keyboard and was used in shortcuts. When double-clicking, the opening window was animated. You could drag a document into the trash for deletion.
Like STAR, the Lisa interface was based on metaphors of real office objects. Therefore, the desktop wallpaper depicted a plain white sheet. In those years, monitors flickered, and the white background flickered especially strongly. To protect the eyes of users, they increased the sweep frequency, which affected the cost of the computer badly. The white background does not seem to be confirmed. There was a grid that really should flicker vilely - approx. perev. Additional memory and disk made the price decently five-digit in those still dollars. There were problems with a long boot system. In general, Lisa was far from being as perfect as it was created.

Macintosh

image
In the early 80s, Apple developed the Annie project. Jeff Raskin, the thirty-first ( probably in the order of hiring - approx pens.. ) Apple's employee renamed it for Macintosh. In fact, the apple variety is correctly called McIntosh, but such a brand already existed. While trying to find a consonant name, they also tried abbreviations. For example, MAC (Mouse Activated Computer). Employees quickly came up with an alternate translation of Meaningless Acronym Computer, a small computer abbreviation. Raskin also wrote an internal document for The Book of Macintosh on personal computers. This was the first significant contribution to the project.
Steve Jobs introduced the Macintosh to the public on January 24, 1984 in Cupertino. Later, this model will be designated Mac 128K due to the corresponding amount of memory. The computer is based on the Motorola 68000 processor without a memory control unit, floating point and any caches. A nine-inch black and white monitor with a resolution of 512x342 is built into the case. Of the drives - only a 3.5 ”drive, 400 KB per floppy disk.
On a 400 KB floppy disk, a single-user single-tasking operating system was supplied. Its name was gradually identified as Mac System Software, or simply System.

System 1

The Macintosh ROM contained a mixture of low-level code for initializing hardware, drivers, and a high-level Toolbox library. She relieved the programmer of the need to draw the interface himself, all the programs turned out in the same style. Toolbox supported the display and processing of dialog boxes, fonts, icons, menus, windows, entering and editing text, simple calculations, and so on. The QuickDraw component contained primitives for drawing shapes, dialogs, drop-down menus, scroll bars, windows. This piece of code is almost identical to that in Lisa. At that time, it was an incredibly rich API. He allowed to create a fairly long-lived system with support for backward compatibility.
image
The default application that started at startup was called Finder. It was an interface for working with files and launching programs, similar to today's desktops. The system was single-tasking, so when the Finder program started, it closed, and after completion it started again. The MFS file system was non-hierarchical, all files were stored in one heap. At the same time, subdirectory mapping was implemented. At the root of each drive was the Empty Folder directory. To create a new directory, you had to rename the Empty Folder, which then respawn. From Lisa, the new system got the top menu with an added apple and a basket. The cart emptied with every reboot. Around the same time, Apple's Human Interface Guidelines appeared.
In those years, the basket was also used to safely remove the disc. This caused a wave of criticism. Apple argued its position on this issue, everything is unobvious and interesting there.
Of the disk media, there was only one drive. Even then, many programs required several diskettes to work. The system supported caching the list of files on a diskette that was already extracted. The icon of such a floppy disk became gray, and when I tried to open it, an invitation was thrown to insert it back. At the same time, you could clear this cache by dragging the floppy disk into the trash.
Thus. in order to remove the disk completely, you had to give the “Eject” command first, and then drag the icon to the trash. Therefore, we rewrote the logic of this action: dragging an active diskette extracted it and cleared the cache.
Lisa 2 came out at the same time. Later, they added a hard drive, a Macintosh emulator called MacWorks, and renamed it Macintosh XL.
In addition to all the software innovations, these computers for the first time provided program control of such purely ironic functions as floppy disk ejection, brightness adjustment, and turning the computer on and off.
Alan Kay once said that the IBM 3270 / PC and Macintosh interfaces relate to each other as COBOL machine codes. Then there were several years of evolutionary development with unexpected deviations from the general theme.

System Software Version 2-6

For a long time, Apple had an extremely complicated software version numbering system, each OS component had its own numbering system and update plan. Separately, System Software Release, System, Finder, MultiFinder, LaserWriter, etc. were taken into account. Gradually it was unified.
Improvements for this period:
  • Accelerated Finder, including disk cache and minifinder for quick launch of programs.
  • Added commands for ordinary actions: shutting down the computer, creating a new directory, ejecting a disk
  • HFS hierarchical file system with adequate logic
  • Support for multiple monitors and large drives
  • AppleShare Client Enhancements


System 6

image
Here, finally, multitasking appeared through MultiFinder. Initially, it was a separate software working in parallel with the old Finder. But he was soon made mandatory. It allowed you to run several programs at the same time and distribute the required amount of memory for each of them. A progress bar with a cancel button for copying and deleting files was added to the interface. But at the same time, the Finder remained black and white even on computers that support color. To fix this fatal flaw, Color QuickDraw was released.

Apple color designs


In March 1988, some Apple engineers and managers secretly from the leadership discussed global plans for the future. Ideas were sorted by insanity and recorded on colored cards - blue, pink and red.
Blue is a project to improve an existing OS. It became the basis for System 7.
Pink - a system rewritten from scratch. They planned to implement OOP, full memory protection, lightweight streams, separate protected address spaces, multitasking, and much more. The project developed sluggishly, and it was handed over to Taligent. But more on that later.
Red - things that are too disruptive even for Pink.
At this time, System 6.x was relevant. By 1991, Blue will be completed and released under the name System 7. This will be a very significant step, comparable only to the release of Mac OS X. During this period, Apple released two interesting projects: GS / OS and A / UX.

GS / OS


image
As we said in the first part, Apple II lasted on the assembly line for 14 years. Even the Macintosh output did not move him from the throne. In 1986, Apple IIGS came out, a mix of these two very different systems. It was the first and only 16-bit Apple II. The letters GS stood for Graphics and Sound. The processor was compatible with 6502, supported modes 200x320 16 colors and 200x640 4 colors, 32-channel sound chip Ensoniq Digital Oscillator supported up to 15 instruments.
Apple ProDOS was divided into 8- and 16-bit branches to support Apple IIGS. ProDOS 16 was delivered as an OS for a very short time, soon Apple introduced GS / OS. This is a new, initially 16-bit system that works much faster. Of the new products - FST, file system translators. This is something like a set of drivers to support various FS. The source of inspiration is vfs from UNIX. Out of the box, Apple Pascal, Apple DOS 3.3, ISO / High Sierra, HFS, FAT, ProDOS and the AppleShare network protocol were supported.
image
Finder was able to display network volumes, and GS / OS even supported booting from the network.
GS / OS had a Control Panel that could be complemented by third-party applets called CDEV.
The latest version of GS / OS 4.02 came with Apple IIGS System 6.0.1.

A / ux


Apple released its own version of the POSIX-compatible Unix at the end of 1988. Earlier versions were based on 4.2BSD and AT&T UNIX System V Release 2, but soon 4.3BSD and subsequent releases of System V came into play.
A / UX included task control, signals, network (AppleTalk, STREAMS, TCP / IP, sockets, NFS YP-enabled, etc.), ffs file system, an SCCS version control system, printing, X Window, compatibility API BSD and system V, compilers cc and f77 etc.
image
In addition, A / UX included many components from the Macintosh OS, in particular Finder. A / UX 2.x is built on System 6, and A / UX 3.x is built on System 7. Macintosh, Unix command line applications and X, DOS through the emulator were supported. There were also mashups combining the Unix API and the Toolbox interface. For Unix processes, multitasking was preemptive, while for Macintosh it was only cooperative through MultiFinder. Programs were used to run the Macintosh runtime, startmac and startmac24depending on the memory addressing scheme used. Many settings were supported, even replacing the Finder with another application.
Supporters of A / UX dragged from him. Installing on supported hardware was as simple as possible for Unix, even against today's background. Some of the A / UX survived to the time of Mac OS X. For example, the command appleping. Or directories /.mac/hostname/Desktop Folderand /.mac/hostname/Trash. About the directory separator / and ashamed to speak. In Macs at that time there was a separator:, substitution in the case of working with HFS was done on the fly. Home was in /users, and so on. Controversial paragraph, but oh well - approx. perev.
The latest version of A / UX 3.1.1 was released in 1995. The system only works on Apple with 68 series processors with floating point and memory management support.

Looking for fresh blood


In the early 90s, Apple realized that it was time to rewrite the code that had accumulated in the OS. The Blue project mentioned above hatched under the name System 7.

System 7

A small step in numbering, a big leap for all Macintosh.

Updates:
  • MultiFinder is built-in and used by default. Multitasking is only cooperative.
  • Native support for AppleTalk network and AppleShare network drives
  • 32-bit memory addressing
  • AppleScript for work automation, ColorSync color management, collaboration and email through PowerTalk, QuickTime, TrueType, WorldScript supported several languages ​​as system languages. Not all of these components were included in the delivery, some had to be added separately.
  • Virtual memory support

The first Macintosh with a memory control unit was released in 1987 under the name Macintosh II. Prior to System 7, the unit was not used at all. In this version, support for virtual memory was in its infancy. There were no secure address spaces, mmap, page locking, memory sharing, etc.
image
There were some interface changes. You can switch running applications through the menu. The basket has become an ordinary folder, auto-cleaning has been removed. Text can not only be copied, but also dragged between applications. Shortcuts appeared. Changed the structure of the Control Panel and Extensions.
Around the same time, Apple is joining forces with IBM and Motorola to move to PowerPC. This required another rewrite of the system.

Our goal is POWER


At one time, the concept of a set of processor instructions, close to a high-level language, CISC, prevailed. This led to the emergence of very complex processors. In contrast, Seymour Cray in the early 60s developed the CDC 6600 supercomputer (aka CRAY-1) with a compact set of instructions. It was a RISC, but then this word was not yet known. RISC (Reduced Instruction Set Computer), a computer with a reduced set of commands. In addition, almost all commands work only with registers, and the operations of loading into memory and unloading from there are carried out separately. This allows you to make an efficient pipeline and execute each command in fewer cycles. Now the border between CISC and RISC has become very blurred.
In 1975, IBM launched the RISC architecture under code number 801. In the early 80s, Berkeley and Stanford launched the RISC and MIPS projects, respectively. By 1990, there were several competing RISC architectures on the market. For example, MIPS, PA-RISC, SPARC V8, Motorola 88k, IBM RS / 6000. RS / 6000 is the second generation of architecture under the general name POWER. As part of the Jaguar project, there have been attempts by Apple to use the Motorola 88k. But the project did not go, and PowerPC was taken into work.
In 1991, Apple, IBM and Motorola created the AIM Alliance with the goal of creating a common hardware platform, the CHRP (Common Hardware Reference Platform). The result is a PowerPC platform. The first PowerPC 601 processor supported most POWER instructions. The architecture was immediately developed as 64-bit, with the ability to dynamically switch between 32-bit and 64-bit modes. Processors up to G5 only supported 32-bit mode. As it turned out, PowerPC came for a long time.
It should be noted that CHRP was supposed to be licensed for sale by third parties. There was even a version of Windows NT for PowerPC.

Apple and ARM

image
Back in the early 90s, there were serious attempts by Apple to use RISC. The first ARM1 processor came out in the mid-80s. Before AIM, Apple and Acorn tried to jointly create a new processor. The investor and first buyer of the license is VLSI Technology. The ARMv3 processor ARM6 610 architecture with a frequency of 20 MHz was used in the MessagePad tablet with the Newton operating system. This will be a separate chapter.

Mac OS for PowerPC


For the first time, PowerPC was supported in System 7.1.2. Porting all the components took a lot of time. A special charm to the process was added by the need to make an emulator of the old processor, for backward compatibility. The result is HAL (an abstraction layer from iron) and the emulator itself is 68k.
For PowerPC, a nano-core was developed - smaller than a micro-core. It was executed with the highest priority, acted as a HAL and provided low-level interfaces for handling interrupts, exceptions, and memory management. Directly, only OS services and debugger could access the kernel.
The 68k emulator started at boot time. It emulated only the general instruction set of the 68LC040 processor, without a floating point and a memory control unit. The exception stack was taken from the 68020 processor, for better compatibility. There were other minor restrictions. A / UX does not start on this emulator. On modern software, too - approx. perev.
Since two sets of instructions could be used simultaneously, there was a special system component, Mixed Mode Manager, which controlled the context switch between the two types of code. Mutual calls between them were also supported. The manager was invisible to the 68k code, but the PowerPC code saw it.
It should be noted that the first versions of Mac OS for PowerPC contained little native code. Most existing applications, drivers, most Toolbox, and the actual OS code used emulation. They only had to be rewritten. Nanuclear architecture was supposed to help.
image
In System 7.5, OpenTransport (implementation of Mentat Portable STREAMS), QuickDraw 3D, Java, OpenDOC (a local analogue of OLE) appeared. From the decorations, a loading screen appeared with the Mac OS logo and a progress bar.

MAE

Mixed Mode Manager has also been used in the Macintosh Application Environment (MAE). This is Mac's emulator for X Window under SunOS and HP-UX. There was 68k emulation and translation of commands into native ones for the host system. System 7.x and many of its components were supported. Another similar one is Mac-on-Unix (MAS), for running Macintosh applications under Unix on PowerPC.

NetWare for PowerPC

Apple and Novell collaborated in the mid-90s to port NetWare to PowerPC. This port is much easier to configure compared to x86, it was planned to run it on the Apple Shiner server. The project was in a decent degree of readiness, but closed until the release of the finished product. The name Shiner was transferred to Apple Network Server running AIX.

AIX for PowerPC

A few years later, in 1996, Apple released the low-performing Apple Network Server. It was based on a PowerPC processor and supported hot swapping of drives, fans and power supplies, RAID, many SCSI and PCI devices, a replaceable processor on a separate board, and a screen on the case to display status.
image
Network Server came with AIX for Apple Network Servers and did not support Mac OS. It was a very advanced OS with support for preemptive multitasking, multithreading, many network protocols, RAID, JFS, LVM and other pleasant things for harsh unixoid admin administrators. The choice was the command line or graphical AIXwindows and CDE.
image
This line of servers was discontinued in 1997. Apple will only return to the market after 5 years, when Xserve comes out.

The next part will be about confusion and vacillations in the mid-90s and the search for a source of inspiration for the next complete rewriting. If I fit in volume, then I’ll touch on the later versions of Mac OS Classic.

Also popular now: