最初の部分: habrahabr.ru/post/194696
パリッシュグラフィックス
Appleは、Macintoshの1年前の1983年1月にLisaコンピュータを導入しました。 開始価格は9,995ドルでした。 新製品の心臓部はMotorola 68000 32ビットプロセッサで、作成時、開発者はXerox PARCに明確に触発されていました( habrahabr.ru/post/194696を参照) 。 これは、XeroxとAppleの間の合意によって促進されました-技術と引き換えに株式。 リサプロジェクトは、PARCとの交わりの前から始まったことに注意する必要があります。 一般に、どのアイデアがゼロックスから借用され、どのアイデアが独自に発明されたかは明らかではありません。
リサOS
このコンピューターのオペレーティングシステムであるLisa Office System(OS)には、完全にグラフィカルなインターフェイスがありました。 アイコン付きのファイルマネージャーがあり、クリックすると、対応するアプリケーションが起動しました。 キットには、LisaCalcテーブルプロセッサ、LisaGraphグラフ作成プログラム、高度なLisaListリストエディタ、LisaProjectプロジェクトマネージャ、LisaDraw描画ツール、LisaTerminal ANSIターミナルエミュレータなども含まれていました。さらに、SCO XenixはLisaでサポートされていました。
Lisaは、Appleが今日まで使用してきたインターフェイス要素の一部を初めて紹介しました。 このメニューは画面の上部にありますが、これまでのところリンゴの付いたボタンはありません。 リンゴのシンボルはキーボード上にあり、ショートカットで使用されていました。 ダブルクリックすると、開始ウィンドウがアニメーション化されました。 ドキュメントをゴミ箱にドラッグして削除できます。
STARと同様に、Lisaインターフェイスは実際のオフィスオブジェクトのメタファーに基づいていました。 したがって、デスクトップの壁紙は、白い無地のシートを表しています。 その間、モニターはちらつき、白い背景は特に強くちらつきました。 ユーザーの目を保護するために、ユーザーは掃引周波数を上げ、コンピューターのコストに悪影響を与えました。 白い背景については、確認されていないようです。 本当にひどくちらつくはずの格子がありました-およそ。 perev。 メモリとディスクを追加したことにより、価格はまあまあの5ドルでした。 長いブートシステムに問題がありました。 一般的に、リサは作成されたほど完璧ではありませんでした。
マッキントッシュ
80年代初期に、AppleはAnnieプロジェクトを開発しました。 Appleの31人目の従業員であるJeff Raskinは、それをMacintoshと改名しました。 実際、リンゴの品種は正しくマッキントッシュと呼ばれていますが、そのようなブランドはすでに存在していました。 子音の名前を見つけようとしている間、彼らは略語も試しました。 たとえば、MAC(Mouse Activated Computer)。 従業員は、意味のない頭字語コンピューター(マイナーコンピューター略語)の代替翻訳をすぐに思い付きました。 Raskinは、パーソナルコンピューターでThe Book of Macintoshの内部ドキュメントも作成しました。 これはプロジェクトへの最初の重要な貢献でした。
Steve Jobsは1984年1月24日にクパチーノでMacintoshを公開しました。 後で、このモデルは、対応するメモリ量のためにMac 128Kと指定されます。 コンピューターは、メモリ制御ユニット、浮動小数点、およびキャッシュのないMotorola 68000プロセッサーをベースにしています。 512x342の解像度を持つ9インチの白黒モニターがケースに組み込まれています。 ドライブのうち、3.5インチドライブのみ、フロッピーディスクあたり400 KB。
400 KBのフロッピーディスクでは、シングルユーザーのシングルタスクオペレーティングシステムが提供されました。 その名前は徐々にMacシステムソフトウェア、または単にシステムと識別されました。
システム1
Macintosh ROMには、ハードウェア、ドライバー、および高レベルのツールボックスライブラリを初期化するための低レベルのコードが混在していました。 彼女は、プログラマーが自分でインターフェースを描く必要がなく、すべてのプログラムが同じスタイルであることがわかりました。 ツールボックスは、ダイアログボックス、フォント、アイコン、メニュー、ウィンドウ、テキストの入力と編集、簡単な計算などの表示と処理をサポートしていました。 QuickDrawコンポーネントには、図形、ダイアログ、ドロップダウンメニュー、スクロールバー、ウィンドウを描画するためのプリミティブが含まれていました。 このコードは、Lisaのコードとほとんど同じです。 当時、それは信じられないほど豊富なAPIでした。 彼は、後方互換性をサポートする、かなり長寿命のシステムを作成することを許可しました。
起動時に起動したデフォルトのアプリケーションはFinderと呼ばれていました。 これは、今日のデスクトップと同様に、ファイルを操作したりプログラムを起動したりするためのインターフェースでした。 システムはシングルタスクであったため、Finderプログラムが開始されると閉じられ、完了後に再び開始されました。 MFSファイルシステムは非階層型で、すべてのファイルは1つのヒープに格納されていました。 同時に、ネストされたディレクトリの表示が実装されました。 各ドライブのルートには、空のフォルダーディレクトリがありました。 新しいディレクトリを作成するには、空のフォルダの名前を変更してから再生成する必要がありました。 Lisaから、新しいシステムはトップメニューにリンゴとバスケットが追加されました。 再起動するたびにカートは空になりました。 同じ頃、Appleのヒューマンインターフェイスガイドラインが登場しました。
当時、バスケットはディスクを安全に取り出すためにも使用されていました。 これは批判の波を引き起こしました。 Appleはこの問題に関する立場を主張しましたが、すべてが明白ではなく興味深いものです。
ディスクメディアのうち、ドライブは1つだけでした。 それでも、多くのプログラムが動作するにはいくつかのディスケットが必要でした。 システムは、すでに抽出されたディスケット上のファイルのリストのキャッシュをサポートしていました。 そのようなフロッピーディスクのアイコンは灰色になり、私がそれを開こうとすると、それを挿入し直すように招待が投げられました。 同時に、フロッピーディスクをゴミ箱にドラッグして、このキャッシュをクリアできます。
そのように。 ディスクを完全に削除するには、最初に「取り出し」コマンドを指定し、次にアイコンをゴミ箱にドラッグする必要がありました。 そのため、このアクションのロジックを書き直しました。アクティブなディスケットをドラッグすると抽出され、キャッシュがクリアされます。
Lisa 2は同時に登場し、後にハードドライブ、MacWorksと呼ばれるMacintoshエミュレーターを追加し、Macintosh XLという名前に変更しました。
すべてのソフトウェアの革新に加えて、これらのコンピューターは、フロッピーディスクのフラッシュ、明るさの調整、コンピューターのオン/オフなど、まったく皮肉な機能のソフトウェア制御を初めて提供しました。
アラン・ケイはかつて、IBM 3270 / PCとMacintoshインターフェースはCOBOLマシンコードのように互いに関連していると言っていました。 その後、一般的なテーマから予想外の逸脱を伴う数年間の進化的発展がありました。
システムソフトウェアバージョン2-6
長い間、Appleには非常に複雑なソフトウェアバージョン番号付けシステムがあり、各OSコンポーネントには独自の番号付けシステムと更新計画がありました。 それとは別に、システムソフトウェアリリース、システム、ファインダー、マルチファインダー、レーザーライターなどが考慮されました。 徐々に統合されました。
この期間の改善:
- プログラムをすばやく起動するために、ディスクキャッシュやミニファインダーを含むFinderを高速化します。
- 通常のアクション用のコマンドが追加されました:コンピューターのシャットダウン、新しいディレクトリの作成、ディスクの取り出し
- 適切なロジックを備えたHFS階層ファイルシステム
- 複数のモニターと大きなドライブのサポート
- AppleShareクライアントの機能強化
システム6
ここで、最後に、MultiFinderを通じてマルチタスクが登場しました。 最初は、古いFinderと並行して動作する別個のソフトウェアでした。 しかし、彼はすぐに義務化されました。 複数のプログラムを同時に実行し、それぞれに必要な量のメモリを分配することができました。 ファイルをコピーおよび削除するためのキャンセルボタンを備えたプログレスバーがインターフェイスに追加されました。 しかし同時に、Finderはカラーをサポートするコンピューター上でも白黒のままでした。 この致命的な欠陥を修正するために、Color QuickDrawがリリースされました。
アップルカラーデザイン
1988年3月、Appleのエンジニアと管理職の何人かが、リーダーシップからひそかに、将来のグローバルプランについて議論しました。 アイデアは狂気によって分類され、青、ピンク、赤の色付きカードに記録されました。
Blueは、既存のOSを改善するプロジェクトです。 これがシステム7の基礎になりました。
ピンクはゼロから書き直されたシステムです。 OOP、完全なメモリ保護、軽量ストリーム、個別の保護されたアドレス空間、マルチタスクなどを実装することを計画していました。 プロジェクトはゆっくりと発展し、タリジェントに引き渡されました。 しかし、それについては後で。
赤-ピンクにとっても破壊的すぎるもの。
現時点では、System 6.xが関連していました。 1991年までに、BlueはSystem 7という名前で追加およびリリースされます。これは、Mac OS Xのリリースに匹敵する非常に重要なステップです。この期間中、AppleはGS / OSとA / UXの2つの興味深いプロジェクトをリリースしました。
GS / OS
最初の部分で述べたように、Apple IIは14年間組立ラインで使用されました。 Macintoshの出力でさえ、彼を王位から動かしたわけではありません。 1986年、Apple IIGSが登場しました。これら2つの非常に異なるシステムが混在しています。 これは、最初で唯一の16ビットApple IIでした。 GSという文字は、グラフィックスとサウンドを表しています。 このプロセッサは6502と互換性があり、200x320 16色および200x640 4色のモードをサポートし、32チャンネルのサウンドチップEnsoniqデジタルオシレーターは最大15台の楽器をサポートしていました。
Apple ProDOSは、Apple IIGSをサポートするために8ビットと16ビットのブランチに分割されました。 ProDOS 16は非常に短い時間でOSとして提供され、すぐにAppleがGS / OSを導入しました。 これは、最初は16ビットの新しいシステムであり、はるかに高速に動作します。 新製品の-FST、ファイルシステムの翻訳者。 これは、さまざまなFSをサポートする一連のドライバーのようなものです。 インスピレーションの源は、UNIXのvfsです。 すぐに使用できるのは、Apple Pascal、Apple DOS 3.3、ISO / High Sierra、HFS、FAT、ProDOS、およびAppleShareネットワークプロトコルでした。
Finderはネットワークボリュームを表示でき、GS / OSはネットワークからの起動もサポートしていました。
GS / OSには、CDEVと呼ばれるサードパーティのアプレットで補完できるコントロールパネルがありました。
GS / OS 4.02の最新バージョンには、Apple IIGS System 6.0.1が付属しています。
A / ux
Appleは、1988年末にPOSIX互換Unixの独自バージョンをリリースしました。 初期のバージョンは4.2BSDおよびAT&T UNIX System Vリリース2に基づいていましたが、すぐに4.3BSD以降のSystem Vリリースが登場しました。
A / UXには、タスク制御、信号、ネットワーク(AppleTalk、STREAMS、TCP / IP、ソケット、YPサポート付きNFSなど)、ffsファイルシステム、SCCSバージョン管理システム、印刷、Xウィンドウ、BSD API互換性が含まれます。 System V、
cc
、
f77
など
さらに、A / UXには、Macintosh OSの多くのコンポーネント、特にFinderが含まれていました。 A / UX 2.xはSystem 6上に構築され、A / UX 3.xはSystem 7上に構築されます。Macintosh、Unixコマンドラインアプリケーション、およびX、DOSエミュレーターがサポートされていました。 Unix APIとツールボックスインターフェイスを組み合わせたマッシュアップもありました。 Unixプロセスの場合、マルチタスクはプリエンプティブでしたが、Macintoshの場合はMultiFinderを介してのみ協調的でした。
startmac
および
startmac24
プログラムは、使用されるメモリアドレス指定スキームに応じて、Macintosh
startmac24
を実行するために使用されました。 多くの設定がサポートされ、Finderを別のアプリケーションに置き換えることもできました。
A / UXの支持者が彼から引きずり出した。 サポートされているハードウェアへのインストールは、今日のバックグラウンドであっても、Unixで可能な限り簡単でした。 一部のA / UXは、Mac OS Xの時代まで生き残りました。たとえば、
appleping
コマンド。 または、ディレクトリ
/.mac/hostname/Desktop Folder
および
/.mac/hostname/Trash
。 ディレクトリ区切り記号について/と恥ずかしい話。 当時のMacにはセパレーターがありました。HFSを使用する場合の置換はその場で行われました。 ホームは
/users
などにありました。 物議をかもす段落、まあまあ-約。 perev。
A / UX 3.1.1の最新バージョンは1995年にリリースされました。 システムは、浮動小数点およびメモリ管理をサポートする68シリーズプロセッサを搭載したAppleでのみ動作します。
新鮮な血を探している
90年代初頭、AppleはOSに蓄積されたコードを書き換える時だと気づきました。 上記のBlueプロジェクトは、System 7という名前でハッチングされました。
システム7
番号付けの小さなステップ、すべてのMacintoshの大きな飛躍。
更新:
- MultiFinderは組み込みで、デフォルトで使用されます。 マルチタスクは協調的です。
- AppleTalkネットワークおよびAppleShareネットワークドライブのネイティブサポート
- 32ビットメモリアドレス指定
- PowerTalk、QuickTime、TrueType、WorldScriptを介した作業自動化、ColorSyncカラー管理、コラボレーション、電子メール用のAppleScriptは、システム言語として複数の言語をサポートしていました。 これらのコンポーネントのすべてが配信に含まれているわけではなく、一部を個別に追加する必要がありました。
- 仮想メモリのサポート
メモリコントロールユニットを備えた最初のMacintoshは、1987年にMacintosh IIという名前でリリースされました。 システム7より前は、ユニットはまったく使用されていませんでした。 このバージョンでは、仮想メモリのサポートはまだ初期段階でした。 安全なアドレススペース、mmap、ページロック、メモリ共有などはありませんでした。
いくつかのインターフェースの変更がありました。 メニューから実行中のアプリケーションを切り替えることができます。 バスケットは通常のフォルダーになり、自動クリーニングは削除されました。 テキストはコピーできるだけでなく、アプリケーション間でドラッグすることもできます。 ショートカットが登場しました。 コントロールパネルと拡張機能の構造を変更しました。
ほぼ同時期に、AppleはIBMおよびMotorolaと協力してPowerPCに移行しています。 これには、システムの別の書き換えが必要でした。
私たちの目標はパワーです
かつて、高レベル言語に近いプロセッサ命令セットの概念-CISCが支配的でした。 これにより、非常に複雑なプロセッサが登場しました。 対照的に、60年代前半のSeymour Creyは、CDC 6600スーパーコンピューター(別名CRAY-1)をコンパクトな命令セットで開発しました。 それはRISCでしたが、この言葉はまだ知られていませんでした。 RISC(Reduced Instruction Set Computer)、コマンドのセットが削減されたコンピューター。 さらに、ほとんどすべてのコマンドはレジスターでのみ機能し、メモリーへのロードとそこからのアンロードの操作は別々に実行されます。 これにより、効率的なパイプラインを作成し、各コマンドをより少ないサイクルで実行できます。 現在、CISCとRISCの境界は非常に曖昧になっています。
1975年、IBMはコード番号801でRISCアーキテクチャを開始しました。80年代初頭、バークレーとスタンフォードはそれぞれRISCとMIPSプロジェクトを開始しました。 1990年までに、いくつかの競合するRISCアーキテクチャが市場に出ました。 たとえば、MIPS、PA-RISC、SPARC V8、Motorola 88k、IBM RS / 6000。 RS / 6000は、POWERという一般名の第2世代のアーキテクチャです。 Jaguarプロジェクトの一環として、AppleがMotorola 88kを使用する試みがありました。 しかし、プロジェクトは進行せず、PowerPCは機能し始めました。
1991年に、Apple、IBM、およびMotorolaは、共通ハードウェアプラットフォームCHRP(Common Hardware Reference Platform)を作成することを目標にAIM Allianceを作成しました。 その結果、PowerPCプラットフォームが完成しました。 最初のPowerPC 601プロセッサは、ほとんどのPOWER命令をサポートしていました。 このアーキテクチャはすぐに64ビットとして開発され、32ビットモードと64ビットモードを動的に切り替えることができます。 G5までのプロセッサは32ビットモードのみをサポートしていました。 結局のところ、PowerPCは長い間登場しました。
CHRPは、第三者による販売用に認可されていることに注意してください。 PowerPC用のWindows NTのバージョンもありました。
AppleとARM
90年代前半に、AppleがRISCを使用しようとする重大な試みがありました。 最初のARM1プロセッサは80年代半ばに登場しました。 AIMの前に、AppleとAcornは共同で新しいプロセッサを作成しようとしました。 ライセンスの投資家および最初の購入者はVLSI Technologyです。 20 MHzのARM6 6プロセッサARM6アーキテクチャは、Newtonオペレーティングシステムを搭載したMessagePadタブレットで使用されました。 これは別の章になります。
PowerPC用のMac OS
System 7.1.2で初めてPowerPCがサポートされました。 すべてのコンポーネントの移植には多くの時間がかかりました。 下位互換性のために、古いプロセッサのエミュレータを作成する必要があるため、プロセスに特別な魅力が追加されました。 結果はHAL(鉄からの抽象化層)であり、エミュレーター自体は68kです。
PowerPCの場合、ナノコアが開発されました-マイクロコアより小さい。 最高の優先度で実行され、HALとして機能し、割り込み、例外、およびメモリ管理を処理するための低レベルインターフェイスを提供しました。 直接、OSサービスとデバッガーのみがカーネルにアクセスできました。
起動時に68kエミュレータが起動しました。 68LC040プロセッサの一般的な命令セットのみをエミュレートし、浮動小数点とメモリ制御ユニットは使用しませんでした。 例外スタックは、互換性を高めるために68020プロセッサーから取得されました。 その他の小さな制限がありました。 このエミュレータでは/ UXは開始されません。 最新のソフトウェアでも-約。 perev。
2セットの命令を同時に使用できるため、2つのタイプのコード間のコンテキスト切り替えを制御する特別なシステムコンポーネント、Mixed Mode Managerがありました。 それらの間の相互呼び出しもサポートされていました。 マネージャーは68kコードからは見えませんでしたが、PowerPCコードからは見えました。
Mac OS for PowerPCの最初のバージョンにはほとんどネイティブコードが含まれていなかったことに注意してください。 ほとんどの既存のアプリケーション、ドライバー、ほとんどのツールボックス、および実際のOSコードはエミュレーションを使用しました。 書き換えるだけで済みました。 Nanuclearアーキテクチャが役立つはずでした。
System 7.5では、OpenTransport(Mentat Portable STREAMSの実装)、QuickDraw 3D、Java、OpenDOC(OLEのローカルアナログ)が登場しました。 装飾から、Mac OSのロゴと進行状況バーが表示されたロード画面が表示されました。
メイ
混合モードマネージャーは、Macintoshアプリケーション環境(MAE)でも使用されています。 これは、SunOSおよびHP-UXでのX Window用のMacエミュレーターです。 ホストシステム用に68kのエミュレーションとネイティブコマンドへのコマンド変換がありました。 System 7.xおよびそのコンポーネントの多くがサポートされました。 もう1つの類似したものは、PowerPC上のUnixでMacintoshアプリケーションを実行するためのMac-on-Unix(MAS)です。
PowerPC用NetWare
AppleとNovellは90年代半ばに共同でNetWareをPowerPCに移植しました。 このポートは、x86と比較して設定がはるかに簡単で、Apple Shinerサーバーで実行する予定でした。 このプロジェクトはまともな準備ができていましたが、完成品がリリースされるまで閉鎖されました。 Shinerという名前は、AIXを実行しているApple Network Serverに移されました。
AIX for PowerPC
数年後の1996年に、Appleは低パフォーマンスのApple Network Serverをリリースしました。 PowerPCプロセッサに基づいており、ドライブ、ファンと電源、RAID、多くのSCSIおよびPCIデバイスのホットスワップ、別のボード上の交換可能なプロセッサ、およびステータスを表示するケースの画面をサポートしていました。
Network ServerにはApple Network Server用のAIXが付属しており、Mac OSをサポートしていませんでした。 先制マルチタスク、マルチスレッド、多くのネットワークプロトコル、RAID、JFS、LVM、および厳しいunixoid管理者向けのその他の快適な機能をサポートする非常に高度なOSでした。 選択は、コマンドラインまたはグラフィカルなAIXwindowsおよびCDEでした。
この一連のサーバーは1997年に廃止されました。 Xserveが発売されてから5年が経過しても、Appleは市場に戻りません。
次のパートでは、90年代半ばの混乱と混乱、および次の完全な書き換えのインスピレーションのソースの検索について説明します。 ボリュームに収まる場合は、Mac OS Classicの新しいバージョンに触れます。