Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

[インデックス 19207] ファイルの概要

コミット

  • コミットハッシュ: 75b74ea8ff0ee62828c04e9567ccc5238cec5d49
  • 作者: David du Colombier 0intro@gmail.com
  • 日付: Fri Apr 18 21:40:55 2014 +0200
  • コミットメッセージ: doc/go1.3.html: Plan 9 support
  • 変更ファイル: doc/go1.3.html (1ファイル変更、6行追加、1行削除)

GitHub上でのコミットページへのリンク

https://github.com/golang/go/commit/75b74ea8ff0ee62828c04e9567ccc52388cec5d49

元コミット内容

doc/go1.3.html: Plan 9 support

LGTM=aram, r
R=r, aram, bradfitz
CC=golang-codereviews, rsc
https://golang.org/cl/89130045
---
 doc/go1.3.html | 7 ++++++-\n 1 file changed, 6 insertions(+), 1 deletion(-)\n\ndiff --git a/doc/go1.3.html b/doc/go1.3.html
index 7ad98cbeeb..96ea166279 100644
--- a/doc/go1.3.html
+++ b/doc/go1.3.html
@@ -14,7 +14,7 @@ precise garbage collection,
 a major refactoring of the compiler tool chain that results in
 faster builds, especially for large projects,
 significant performance improvements across the board,
-and support for Solaris and Google's Native Client architecture (NaCl).
+and support for Solaris, Plan 9 and Google's Native Client architecture (NaCl).
 It also has an important refinement to the memory model regarding synchronization.
 As always, Go 1.3 keeps the <a href=\"/doc/go1compat.html\">promise
 of compatibility</a>,
@@ -42,6 +42,11 @@ how to set up the Go version is described <a href=\"http://golang.org/wiki/Native
 Go 1.3 now includes experimental support for Solaris on the <code>amd64</code> (64-bit x86) architecture.
 </p>
 
+<h3 id=\"plan9\">Support for Plan 9</h3>
+\n+<p>\n+Go 1.3 now includes experimental support for Plan 9 on the <code>386</code> (32-bit x86) architecture.
+</p>
+\n
 <h3 id=\"win2000\">Removal of support for Windows 2000</h3>
 

変更の背景

Go 1.3は、Go言語の重要なリリースであり、ガベージコレクションの精度向上、コンパイラツールチェーンの大規模なリファクタリングによるビルド速度の向上、全体的なパフォーマンス改善など、多くの実装上の改良が加えられました。このコミットは、Go 1.3のリリースノートであるdoc/go1.3.htmlに、新たに実験的にサポートされることになったPlan 9オペレーティングシステムに関する記述を追加するものです。

Go言語は、その設計思想として、様々なプラットフォームへの移植性を重視しています。Go 1.3では、SolarisやGoogle Native Client (NaCl) といった既存のサポートに加え、Plan 9への実験的なサポートが導入されました。これは、Go言語がより多様な環境で利用可能になることを目指した取り組みの一環です。このドキュメントの更新は、実際のPlan 9サポートの実装が完了したことを受けて、ユーザーに対してその情報を提供する目的で行われました。特に、Plan 9の386 (32-bit x86) アーキテクチャへの対応が明記されています。

前提知識の解説

Go 1.3

Go 1.3は、2014年6月にリリースされたGo言語のバージョンです。このバージョンでは、主に以下の点が強化されました。

  • 正確なガベージコレクション (Precise Garbage Collection): 以前のバージョンでは、ガベージコレクタがポインタではないメモリ領域を誤ってポインタと認識し、不要なオブジェクトを保持してしまう可能性がありましたが、Go 1.3ではこの問題が改善され、より効率的なメモリ管理が可能になりました。
  • コンパイラツールチェーンのリファクタリング: ビルド速度の向上、特に大規模プロジェクトでの改善が図られました。
  • パフォーマンスの向上: 全体的な実行性能が向上しました。
  • メモリモデルの洗練: 同期に関するメモリモデルがより明確に定義されました。
  • 新しいプラットフォームのサポート: Solaris (amd64) およびGoogle Native Client (NaCl) に加えて、このコミットで言及されているPlan 9 (386) への実験的サポートが追加されました。

Plan 9 from Bell Labs

Plan 9は、ベル研究所で開発された分散オペレーティングシステムです。Unixの設計思想をさらに推し進め、すべてのリソース(ファイル、デバイス、ネットワーク接続など)をファイルシステムとして表現するという「すべてはファイルである」という原則を徹底しています。これにより、システム全体がよりシンプルで一貫性のあるインターフェースで構成され、分散環境での利用が容易になります。Plan 9は、その革新的な設計思想から、後のオペレーティングシステムや分散システムに大きな影響を与えました。Go言語の開発者の一部はPlan 9の開発にも携わっており、Go言語の設計にもPlan 9の思想が反映されていると言われています。

Google Native Client (NaCl)

Google Native Client (NaCl) は、ウェブブラウザ内でネイティブコードを安全に実行するための技術です。これにより、ウェブアプリケーションがCPUに近いパフォーマンスで動作し、高度なグラフィックスや計算処理をブラウザ上で実現できるようになります。Go言語がNaClをサポートすることで、Goで書かれたアプリケーションをウェブブラウザ上で実行できる可能性が広がりました。

Solaris

Solarisは、Sun Microsystems(現在はOracleが所有)によって開発されたUnix系のオペレーティングシステムです。特にエンタープライズ環境での利用が多く、高い信頼性、スケーラビリティ、パフォーマンスを特徴としています。Go言語がSolarisをサポートすることで、既存のSolaris環境でGoアプリケーションを開発・実行できるようになります。

技術的詳細

このコミットは、Go 1.3のリリースノートであるdoc/go1.3.htmlファイルを更新するものです。このファイルは、Go言語の新しいバージョンで導入された主要な変更点や新機能、サポートされるプラットフォームなどをユーザーに伝えるための公式ドキュメントです。

変更内容は、既存のプラットフォームサポートに関する記述に「Plan 9」を追加し、さらにPlan 9のサポートに関する新しいセクション(<h3><p>タグで構成される)を追記することです。これは、Go 1.3が実際にPlan 9 (386アーキテクチャ) への実験的サポートを実装したことを反映したものであり、ドキュメントを最新の状態に保つための作業です。

この変更自体はコードの動作に影響を与えるものではなく、あくまでドキュメントの更新です。しかし、このドキュメントの更新は、Go言語がPlan 9という特定のオペレーティングシステムをサポートするようになったという重要なマイルストーンを示しています。

コアとなるコードの変更箇所

--- a/doc/go1.3.html
+++ b/doc/go1.3.html
@@ -14,7 +14,7 @@ precise garbage collection,
 a major refactoring of the compiler tool chain that results in
 faster builds, especially for large projects,
 significant performance improvements across the board,
-and support for Solaris and Google's Native Client architecture (NaCl).
+and support for Solaris, Plan 9 and Google's Native Client architecture (NaCl).
 It also has an important refinement to the memory model regarding synchronization.
 As always, Go 1.3 keeps the <a href=\"/doc/go1compat.html\">promise
 of compatibility</a>,
@@ -42,6 +42,11 @@ how to set up the Go version is described <a href=\"http://golang.org/wiki/Native
 Go 1.3 now includes experimental support for Solaris on the <code>amd64</code> (64-bit x86) architecture.
 </p>
 
+<h3 id=\"plan9\">Support for Plan 9</h3>
+\n+<p>\n+Go 1.3 now includes experimental support for Plan 9 on the <code>386</code> (32-bit x86) architecture.
+</p>
+\n
 <h3 id=\"win2000\">Removal of support for Windows 2000</h3>
 

コアとなるコードの解説

このコミットでは、doc/go1.3.htmlファイルに対して以下の2つの主要な変更が行われています。

  1. 既存のサポートプラットフォームリストへの追加: 変更前の17行目: -and support for Solaris and Google's Native Client architecture (NaCl). 変更後の17行目: +and support for Solaris, Plan 9 and Google's Native Client architecture (NaCl). この変更により、Go 1.3がサポートするプラットフォームのリストに「Plan 9」が明示的に追加されました。これは、Go 1.3の主要な新機能の一つとして、Plan 9への対応が挙げられることを示しています。

  2. Plan 9サポートに関する新しいセクションの追加: 既存のSolarisサポートに関するセクションの後に、以下のHTMLコードが追加されました。

    <h3 id="plan9">Support for Plan 9</h3>
    <p>
    Go 1.3 now includes experimental support for Plan 9 on the <code>386</code> (32-bit x86) architecture.
    </p>
    

    この新しいセクションは、Plan 9サポートの詳細を提供します。具体的には、Go 1.3がPlan 9の386 (32-bit x86) アーキテクチャに対して実験的なサポートを提供していることを明確に述べています。id="plan9"は、このセクションへの直接リンクを可能にするためのアンカーです。

これらの変更は、Go 1.3のリリースノートとして、ユーザーがGo言語の新しいバージョンで利用できるようになったプラットフォームに関する正確かつ最新の情報を提供することを目的としています。

関連リンク

参考にした情報源リンク