目次
22 関係: オペレーティングシステム、キュー (コンピュータ)、スプレー木、国際標準化機構、Berkeley DB、Berkeley Software Distribution、BSDライセンス、C言語、赤黒木、連結リスト、FreeBSD、NetBSD、OpenBSD、POSIX、Strcat、Strcpy、Strlcat、Strlcpy、Unix系、標準Cライブラリ、1994年、6月。
オペレーティングシステム
オペレーティングシステム(operating system、略称:OS、オーエス)とは、コンピュータのオペレーション(操作・運用・運転)を司るシステムソフトウェアである。
キュー (コンピュータ)
キュー(queue)あるいは待ち行列は、コンピュータにおける基本的なデータ構造の一つ。データを先入れ先出しのリスト構造で保持するものである。キューからデータを取り出すときには、先に入れられたデータから順に取り出される。キューにデータを入れることをエンキュー、取り出すことをデキューという。 プリンターへの出力処理や、ウィンドウシステムにおけるイベントあるいはメッセージのハンドリング、プロセスの管理など、データを入力された順番通りに処理する必要があるケースに用いられる。また、個々のタスクの実行時間が予測できない、あるいは実行に時間がかかってしまい、即座に(同期的に)実行することができない場合、キューを使っていったんタスクを溜め込んでおき、後からタスクを取り出して非同期で実行する、というような目的で使用できる。
スプレー木
スプレー木(スプレーき、splay tree)は、平衡2分探索木の一種で、最近アクセスした要素に素早く再アクセスできるという特徴がある。挿入、参照、削除といった基本操作を O(log(n)) の償却時間で実行できる。多くの一様でない一連の操作において、その順序パターンが未知の場合でも、スプレー木は他の探索木よりもよい性能を示す。スプレー木はダニエル・スレイターとロバート・タージャンが発明した。 2分探索木の通常のあらゆる操作は、「スプレー操作」という1つの基本操作と組み合わせられる。スプレー操作とは、特定の要素が木の根に位置するよう再配置を行うことである。そのためには、まず通常の2分探索木での要素の探索を行い、次にその要素がトップになるように木の回転を行う。別の方法として、トップダウンアルゴリズムで探索と木の再配置を単一フェーズに統合することもできる。
国際標準化機構
国際標準化機構(こくさいひょうじゅんかきこう、International Organization for Standardization、、)、略称: 英・仏:ISO(アイエスオー、イソ、アイソ)露:ИСОは、各国の国家標準化団体で構成される非政府組織である。 スイス・ジュネーヴに本部を置く、スイス民法による非営利法人である。1947年2月23日に設立された。国際的な標準である国際規格 (IS: international standard / norme internationale) を策定している。 国際連合経済社会理事会に総合協議資格 (general consultative status / statut consultatif général) を有する機関に認定された最初の組織の1つである。
Berkeley DB
Berkeley DBは、アプリケーション組み込み型のデータベースライブラリである。現在はオラクルの製品であり、またオープンソースとして公開されている。
Berkeley Software Distribution
Berkeley Software Distributionは、1977年から1995年までカリフォルニア大学バークレー校 (University of California, Berkeley, UCB) の Computer Systems Research Group (CSRG) が開発・配布したソフトウェア群、およびUNIXオペレーティングシステム (OS) を言う。略称はBSD(ビーエスディー)。なお、今日「BSD」という名称は同OSを元に開発されたBSDの子孫の総称として使われることもあるが、この項では主に前述のUCBによるソフトウェア群およびOSについて述べる。 元となったコードベースと設計はAT&TのUNIXと共通であるため、歴史的にはBSDはUNIXの支流 "BSD UNIX" とみなされてきた。1980年代、ワークステーションクラスのシステムベンダーがプロプライエタリなUNIXとしてBSDを広く採用していた。例えば、DECのUltrix、サン・マイクロシステムズのSunOSなどである。これは、ライセンス条件の容易だったためと、当時の多くの技術系企業の創業者がBSDを熟知していたためである。
見る BSD libcとBerkeley Software Distribution
BSDライセンス
BSDライセンス(ビーエスディー ライセンス、BSD licenses)は、フリーソフトウェアで使われているライセンス体系のひとつである。カリフォルニア大学によって策定され、同大学のバークレー校内の研究グループ、Computer Systems Research Groupが開発したソフトウェア群であるBerkeley Software Distribution (BSD) などで採用されている。
C言語
C言語(シーげんご、C programming language)は、1972年にAT&Tベル研究所のデニス・リッチーが主体となって開発した汎用プログラミング言語である。英語圏では「C language」または単に「C」と呼ばれることが多い。日本でも文書や文脈によっては同様に「C」と呼ぶことがある。制御構文などに高水準言語の特徴を持ちながら、ハードウェア寄りの記述も可能な低水準言語の特徴も併せ持つ。基幹系システムや、動作環境の資源制約が厳しい、あるいは実行速度性能が要求されるソフトウェアの開発に用いられることが多い。後発のC++やJava、C#など、「C系」と呼ばれる派生言語の始祖でもある。 ANSI、ISO、またJISにより言語仕様が標準規格化されている。
見る BSD libcとC言語
赤黒木
赤黒木(あかくろぎ)は、コンピュータ科学のデータ構造である平衡二分木の一種で、主に連想配列の実装に用いられている。2色木、レッド・ブラック・ツリーともいう。 このデータ構造は1972年のルドルフ・ベイヤー (en:Rudolf Bayer) の発明である"symmetric binary B-trees"が元となっており、赤黒木という名前自体は 1978年にレオニダス・ギッバス (en:Leonidas J.
見る BSD libcと赤黒木
連結リスト
は、最も基本的なデータ構造の1つであり、他のデータ構造の実装に使われる。リンクリスト、リンクトリストとも表記される。 一連のノードが、任意のデータフィールド群を持ち、1つか2つの参照(リンク)により次(および前)のノードを指している。連結リストの主な利点は、リスト上のノードを様々な順番で検索可能な点である。連結リストは自己参照型のデータ型であり、同じデータ型の別のノードへのリンク(またはポインタ)を含んでいる。連結リストは場所が分かっていれば、ノードの挿入や削除を定数時間で行うことができる(場所を探すのにかかる時間はリスト上の順番の条件などにも依存するし、後述する片方向リストなのか双方向リストなのかにも依存する)。連結リストにはいくつかの種類があり、片方向リスト、双方向リスト、線形リスト、循環リストなどがある。
FreeBSD
FreeBSD(フリービーエスディー)は、フリーでオープンソースのUnix系オペレーティングシステム (OS) である。Research UnixをベースにしたBerkeley Software Distributionに由来しており、最初のバージョンは1993年にリリースされた。2005年には、FreeBSDは最も人気のあるオープンソースのBSDオペレーティングシステムとなり、単純に寛容にライセンスされたBSDシステムのインストール数の4分の3以上を占めていた。 FreeBSDはLinuxと似ているが、 範囲とライセンスに2つの大きな違いがある。すなわち、Linuxはカーネルとデバイスドライバのみを提供し、システムソフトウェアをサードパーティーに頼っているのに対し、FreeBSDはカーネル 、 デバイスドライバ 、 ユーザーランドユーティリティ、およびドキュメントといった完全なシステムを維持している。FreeBSDのソースコードは通常、寛容なBSDライセンスでリリースされており、Linuxで使われているコピーレフトのGPLとは対照的である。
NetBSD
NetBSD(ネットビーエスディー)は、UNIXライクなオープンソースのオペレーティングシステムである。いわゆるBSDの子孫のひとつであるが、そのなかでも、386BSDがフォークされて生まれた公式リリースの中で最初に生まれたものである。1993年5月に最初の公式リリースである0.8が公開された。さまざまなアーキテクチャへの高い移植性、コードの分かりやすさ、などに焦点が置かれて開発されている。→#特徴 互換性の乏しい商用UNIXが多数併存していた1990年代前半当時には、移植性を重視し、多くのハードウエア上で同一のUNIXが動作することを目指したNetBSDの方向性には一定の意味があると思われていた。しかしながら、実際には、商用UNIXを捨ててNetBSDにOSを載せ替える動きはほとんど見られず、NetBSDは事実上x86アーキテクチャーのPC用OSとして使われることになった。このことは、x86を優先的に考えるFreeBSDと比較した場合、移植性を重視するNetBSDはx86対応の開発が遅れがちになるという問題を抱えることとなり、FreeBSDや他のBSD系OSに、利用者数面で徐々に差をつけられることとなった。
OpenBSD
OpenBSD(オープンビーエスディー)は、セキュリティや正当性(correctness)などを特に重視した、BSDをベースにして開発された、オープンソースの、Unix系オペレーティングシステム (OS)。NetBSDの主要開発者のひとりであるテオ・デ・ラート(Theo de Raadt)が、1995年にNetBSDからフォークさせる形で開発が始まったものであり、BSDの子孫のひとつである。
POSIX
POSIX(ポジックス、Portable Operating System Interface)は、オペレーティングシステム (OS) の標準的なインタフェースおよび環境を定義するIEEE規格であるIEEE公式サイト。。ソースコードレベルでの移植性の高いアプリケーションソフトウェアの開発を容易にすることを目的として、主にUNIX系のOSに関して、各OSが共通して持つべきコマンドラインインタプリタ(シェル)、共通のユーティリティプログラム、およびアプリケーションプログラミングインタフェース (API) について定めている。POSIX仕様に準拠したソースコードは、POSIX準拠OSであればどれでも動作させることができる。アプリケーション開発者とシステム実装者の両方から利用されることを意図している。
Strcat
strcatは、ある文字列に別の文字列を連結 (concatenate) するC言語の関数である。 標準Cライブラリの文字列操作関数群が宣言されているヘッダーファイル string.h に含まれる。
Strcpy
strcpyは、指定したアドレスに指定した文字列をコピーするC言語の関数である。 標準Cライブラリの文字列操作関数群が宣言されているヘッダーファイル string.h に含まれる。 ストリングコピーなどと呼ばれることが多い。
Strlcat
strlcat はC言語で文字列を安全に結合するための関数である。ISO/IEC で規定された標準Cライブラリの関数ではないが、BSD libc などに含まれている。危険な使い方をしてしまいがちな関数strcatやstrncatの代替として、Todd C. MillerおよびTheo de Raadt (テオ・デ・ラート) が開発した。
Strlcpy
strlcpy はC言語で文字列を安全にコピーするための関数である。ISO/IEC で規定された標準Cライブラリの関数ではないが、BSD libc などに含まれている。危険な使い方をしてしまいがちな関数strcpyやstrncpyの代替として、Todd C. MillerおよびTheo de Raadt (テオ・デ・ラート) が開発した。
Unix系
複数のUnix系システム間の関連図 Unix系(ユニックスけい、Unix-like、ユニックスライク)とは、Unixに類似した振る舞いをするオペレーティングシステム (OS) を指す用語である。その判断基準や範囲には複数の議論がある。
標準Cライブラリ
標準Cライブラリ(ひょうじゅんシーライブラリ)は、C言語の標準規格で定められた、型・マクロ・関数の集合からなるライブラリである。
1994年
この項目では、国際的な視点に基づいた1994年について記載する。
6月
6月(ろくがつ)は、グレゴリオ暦で年の第6の月に当たり、30日間ある。
見る BSD libcと6月

