Linuxシステムの常識(理解)


オペレーティングシステムの大まかな分類
A:デスクトップオペレーティングシステム
Windowsシリーズユーザー層が大きい
MacOSは開発者に適しています
Linuxアプリケーションが少ない
B:サーバオペレーティングシステム
Linuxは安全、安定、無料、占有率が高い
Windows Serverは有料で、占有率が低い
C:組み込み型オペレーティングシステム
Linux
D:モバイル機器オペレーティングシステム
iOS、Android(Linuxベース)
オペレーティングシステムの発展の歴史
Unixは1965年以前、コンピュータは今のように普遍的ではなく、軍事や学院の研究機関でない限り、当時の大型ホストは30台の端末(30キーボード、ディスプレイ)を提供し、1台のコンピュータを接続することができた.
数量不足の問題を解決するために:
A:1965年左後、ベル実験室はマサチューセッツ工科大学と汎用電気協力計画に参加した.この計画はマルチユーザー(multi-user)、マルチタスク(multi-processor)、マルチレベル(multi-level)のMULTICSオペレーティングシステムを構築し、大型ホストに300台の端末をサポートさせたい.
B:1969年前後、このプロジェクトの進度は遅く、資金が不足し、ベル実験室は研究を脱退した.
C:1969年にこのプロジェクトから脱退したKen Thompsonは当時、実験室で退屈していた時、空きパソコンで「スペーストラベル」ゲームを実行できるように、8月ごろに妻の見舞いの時間に1ヶ月かけてアセンブリを使ってUnixオペレーティングシステムの原型を書いた.
D:1970年、米ベルラボのKen Thompsonは、BCPL言語をベースに、簡単でハードウェアに近いB言語(BCPLの頭文字を取る)を設計し、B言語で最初のUNIXオペレーティングシステムを書いた.
E:1971年、同じく「宇宙旅行(Space Travel)」が大好きなデニスM.Ritchieは、早くゲームができるようにThompsonの開発プロジェクトに参加し、UNIXを共同開発した.彼の主な仕事はB言語を改造することだ.B言語のプラットフォーム間性が悪いからだ.
F:1972年、デニスM.RitchieはB言語に基づいて最終的に新しい言語を設計し、BCPLの2番目のアルファベットをこの言語の名前として取った.これがC言語である.
G:1973年初頭、C言語の主体が完成し、ThompsonとRitchieは待ちきれずに現在有名なUnixオペレーティングシステムを完全に書き直し始めた.
C言語
UNIXを他のタイプのコンピュータに移植して使用する場合、C言語の強力な移植性(Portability)がここに現れ、機械言語もアセンブリ言語も移植性を持たず、x 86のために開発されたプログラムは、Alpha、SPARC、ARMなどの機械で実行できない.
ただし、C言語プログラムは、任意のアーキテクチャのプロセッサで使用できます.そのアーキテクチャのプロセッサが対応するC言語コンパイラとライブラリを有し、Cソースコードをターゲットバイナリファイルにコンパイル、接続した後に実行できます.
Minix
AT&T(ゼネラル・エレクトロニクス)の政策が変わったため、Version 7 Unixが発売された後、UNIXソースコードを私有化し、大学ではUNIXソースコードを使用できなくなった.
Andrew S.Tanenbaum(タノンボム)教授は、学生のオペレーティングシステムの運用の詳細を授業で教えるため、AT&Tのソースコードを一切使用しない前提で、著作権上の議論を避けるためにUNIXと互換性のあるオペレーティングシステムを独自に開発することを決めた.小型UNIX(mini-UNIX)の意味で、MINIXと呼ぶ.
Linux
1991年にリンナス(Linus)がヘルシンキ大学に通っていた間、Unixに興味を持ち、Minixで開発作業を試みた.(Terminal Emulator)大学のホスト上のニュースグループとメールにアクセスし、ファイルの読み書きとダウンロードを容易にするために、ディスクドライバとファイルシステムを自分で作成し、Linuxの最初のカーネルの雛形になった.当時、彼は21歳だった.
リンナスはGNUのbashを開発環境とし、gccをコンパイルツールとしてLinuxカーネルを編纂した.最初はLinuxはUnixと互換性がなかった.すなわち、Unix上を走るアプリケーションはLinux上を走ることができなかった.すなわち、アプリケーションとカーネルの間のインタフェースが一致しなかった.最初はLinuxは386にしか適用されなかったが、その後、世界中のネットユーザーの助けを得て、最終的には、複数のハードウェアと互換性があります.
Linuxカーネルバージョン
カーネル(kernel)はシステムの心臓であり、ディスクやプリンタなどのハードウェアデバイスを実行し、管理するコアプログラムであり、裸のデバイスとアプリケーション間の抽象層を提供しています.
Linuxカーネルバージョンは安定版と開発版に分けられ、2つのバージョンは相互に関連し、相互に循環しています.
安定版:工業級の強度を持ち、広く応用し、配置することができる.新しい安定版は、古いものに対してバグを修正したり、新しいドライバを追加したりするだけです.
開発版:さまざまなソリューションをテストするため、変化が早い
カーネルソースのWebサイト:http://www.kernel.org
Linuxリリース
Linuxリリース(GNU/Linuxリリースとも呼ばれる)には、通常、デスクトップ環境、オフィススイート、メディアプレーヤー、データベースなどのアプリケーションソフトウェアが含まれています.
一般的なリリースは次のとおりです.
Ubuntu Redhat Fedora openSUSE Linux Mint Debian Manjaro Mageia CentOS Arch
十大Linuxサーバーのリリース版ランキング:http://os.51cto.com/art/201612/526126.htm
        :
         ,    ,            , :      。
      ,       。     :       !