URiX-Not uNixのレビュヌ

描く

最初は「私」でした

xRainロゎ

こんにちは

私はしばしばさたざたなタスク、問題を研究したすが、ここにそれらの1぀がありたす-倚くのGNUディストリビュヌションが存圚するこずが刀明したしたが、それらはすべお䜕らかの圢でunixの原則に基づいおいたす。 x幎前であり、䞀般的には、これは適切な堎所にゞャンプしようずした堎合に発生する可胜性のある互換性の問題によるものです。 GNU / Linuxの開発の機䌚を考え、同時に異なるディストリビュヌションのコミュニティを結合するオプションに぀いお考えるこずにしたした。そのため、りィンドりクラフトや装食などの支持者がいるず思いたす。同じように、少なくずもキャッシュずプロセッサキャッシュ間のトランザクションの分散に関しおは、すぐにgitをお勧めしたす。

この投皿の目的は、聎衆の泚意を問題に匕き付け、その重芁性の皋床を評䟡し、より完璧な実行可胜な解決策を芋぀けるこずです。実装における善意ず自発的な支揎をお願いしたす。

奇劙な蚀葉に泚意しおください 以䞋のテキストは読みにくく、理解しにくいです

刀読䞍胜なフォヌメヌションオカレンスが芋぀かりたした





ブヌトプロセスは倚くの堎合プログラムの実行などに察しお非垞に長いため、ハヌドりェアプロファむルずメモリのスナップショットを䜿甚しおこれを簡玠化できたす。simutransx-kernelモデルを䜿甚するこずをお勧めしたした。異なるプロセッサコア間でスレッドを分散するためにトランザクションスキヌムずメモリ内の゜フトりェアコアの䜍眮を䜿甚する遞択肢がそれほど倚くないため、最終的に凊理時間を短瞮できるためです。 珟圚のコヌドが実行されるコアだけでなく、プロセッサのすべおの物理コアのコンピュヌティングファクトリを䜿甚する。



RawXコアビゞュアルモデル
カヌネル



cone-ルヌトハッシュナヌザヌ

cube-ブヌトカヌネル

正二十面䜓-カヌネルサヌビスの最初の波

spheres-サヌビスの第二の波

ベヌグルは、ハッシュルヌトナヌザヌからのサヌビスによっおロヌドされる呚蟺機噚です

最䞊郚はナヌザヌフレンドリヌな環境プロセスです

「Unixではない」タスクのレビュヌは、システムをより柔軟で安定させるこずです理解し、蚱すため。

およそ3぀の州が目立぀

論理構造デヌタずブヌトシステムナヌザヌ





ブヌトカヌネルステヌゞでは、最初の呜什がロヌドされたす-CPU MEMバス。これにより、サヌビスの最初の波が基本的な機噚ずロヌドモゞュヌルを決定できたすが、それよりも前に、プラむマリナヌザヌルヌトがアクティブ化され、各コンピュヌタヌはこのナヌザヌの独自のハッシュコヌドを持っおいる必芁がありたす。それはすべおのプロセスずリ゜ヌスの所有者でした。 私にずっお、これは重芁です。なぜなら、今ではすべおのルヌトが暗号化されおいないシステム䞊のファむルを衚瀺し、ハヌドりェアにアクセスできるからです。 したがっお、むンストヌル䞭にナヌザヌがそのような機胜を無芖しなかった堎合に認蚌できるsystem-root-hashナヌザヌが必芁だず刀断したした。 同じハッシュをナヌザヌ/ホヌム、pam / sslの暗号化の゜ルトずしお䜿甚できるため、远加の認蚌を実行できるように、基本的な機噚ずずもにpam-authサヌビスも最初のりェヌブでロヌドする必芁がありたす-キヌボヌド、ビデオ、サりンドはい、音声認蚌ず音声コマンド、デヌタストレヌゞがある堎合がありたす。 これはすべおLinuxカヌネルによっおすでに行われおいるず思いたす。ハッシュナヌザヌのリ゜ヌスを管理し、それらを実際のナヌザヌに委任できるように、認蚌を䞊げる必芁があるだけです。



すべおのデヌタがaufsを䜿甚しおリンクされるこずを知っおいるので、よりコンピュヌタヌに優しい圢匏でデヌタを分離できたす。すべおの実行可胜ファむルを1぀のディレクトリにダンプする䟡倀はありたせん。 、少なくずも人間のロゞックを䜿甚しおヒヌプに分割したす。たずえば、spool / squid階局のように1,2,3- / a / b / cですが、次のようにscript / phpを分割する方が良いず思いたす。 js.shおよびexecs / c.java.fortran texts / html.txt.pdf-぀たり、拡匵子による逆゜ヌト ファむル。これにより、システムプロセスに統合されたこのタむプのファむルを開くむンタヌプリタヌたたはプログラムを定矩しやすくなりたす。そのため、いずれの堎合でも、jpgはdata / img / jpgに、cronスクリプトはscripts / shにありたす。 カヌネル内のすべおの蚱可ず犁止がほが同じで1人のナヌザヌによっお実行される堎合、それらを远加のフォルダヌに分ける必芁はたったくないず思いたす-このロゞックは管理者にずっおさらに必芁です。そしおプログラマヌ、そしおコンピュヌタヌはファむルの開始点ずそれをロヌド/アンロヌドするバッファヌを必芁ずするので、01.011.this.program.file.jpg-はい、これは新しい/非UNIX /スキヌムであり、ここでもカヌネルがファむルをロヌドする優先順䜍ず順序の䞡方がマヌクされたす。

そしお、人々にずっお䟿利なフォヌムは次の䞊䜍レベルでのみ衚瀺され、squashfsの空のハヌドシンボリックリンクを䜿甚しおUNIXデヌタスキヌムを簡単に再珟できたす。



メモリにロヌドされた実行可胜カヌネルは、initrd.imgのように、各マシンで実行するタスクに応じお少なくずも1回再コンパむルできるため、存圚しない機噚モゞュヌルを怜出およびロヌドする必芁がなく、これはハヌドりェアおよび頻繁なタスク、ずしお このような統蚈は耇数の䜜業セッションで収集でき、排気はリ゜ヌスのより现かい割り圓おず機噚の識別の簡単なチェックになりたす-その埌、シャヌプ化されたカヌネルを初期化などせずにすぐにメモリに読み蟌むこずができたすスナップショット、ブヌトカヌネルの基本機胜がそれに結合されたすそしお、メモリにロヌドした盎埌に、このカヌネルはすでに機胜しおいたす。



最初の波の埌、カヌネルのロヌドは終了し、2番目はシステムず機噚の高床なサヌビスを呌び出したす-ネットワヌク、x.org、cron、远加デバむス、ファむルシステム、ナヌザヌ管理、およびシステムの基本機胜に関連するその他すべお、぀たりgnome、apache、 squidはここにはロヌドされたせんが、コンパむラヌ、むンタヌプリタヌ、ドラむバヌ、フォントはロヌドされるため、ナヌザヌはすでにサヌビスに察応できたす

第2波では、aux、zfs、たたは仮想マシンを䜿甚しおunix / gnuプログラムの䜜業環境を䜜成するための暙準ニックネヌムモデル/ usr / lib / binが構築され、rawxカヌネルの抜象化レベルから離れお、gnu / linuxモデルを゚ミュレヌトできたす゚ンドナヌザヌむンタヌフェむス。

rawxの最䞊郚には、ナヌザヌプロセスで動䜜する仮想Linux互換カヌネルがありたす。぀たり、実際のカヌネルは仮想局の背埌で確実に保護されたすが、リ゜ヌスが蚱す限り倚くのカヌネルを持ち、ハヌドりェアが保持できるこずを意味したす。ナヌザヌ間でメモリずCPUリ゜ヌスを分配するこずは、ほずんど仮想マシンのようで、マシンがない堎合のみ、カヌネルサヌビスを䜿甚したす。これはすでにKVMで実装されおいる、぀たり、カヌネルを仮想化せず、

車だが、高レベルのプロセスのみ



䞀般に、カヌネルはさたざたなラむブラリからの接続をロヌドおよびむンタヌセプトし、いく぀かの奇劙なケヌスで環境を゚ミュレヌトし、各ナヌザヌたたはプロセスに必芁なずきに分散構造を゚ミュレヌトしたす。

時々、ナヌザヌをプロセスずしお、プロセスをナヌザヌずしお想像したす-このようなモデルは、プログラムをナヌザヌ間でどのように分散させるべきかを瀺すこずができたす。 各ナヌザヌはプログラムのコピヌを起動したすが、基本的にはその機胜の䞀郚のみが必芁ですが、このプログラムを基本的なロゞック、システムラむブラリ、およびナヌザヌデヌタに分割できたす。

すべおのナヌザヌが独自のブラりザヌを起動する必芁はありたせん-すべおのナヌザヌが1぀のプロセスを起動し、その䞭で基本的なロゞックずシステムラむブラリがロヌドされ、すべおのナヌザヌはすでにプログラム自䜓よりも小さな別のメモリスペヌスにロヌドされおいたす。 ナヌザヌは個別のキャッシュずメモリでのみ動䜜し、個人蚭定はプロファむルに含たれ、特定のナヌザヌのブラりザメモリスナップショットに保存されたす。すべおのナヌザヌにアクティビティがない堎合、このプロセスはsquashfsたたはimg.gzのメモリから完党にアンロヌドされたす。正垞に開始し、正垞に終了したため、すべおの構成、ラむブラリ、およびむンタヌプリタヌをリロヌドするこずなく、プロセスのこのむメヌゞが保存され、システムによっお䜿甚されたす-このプロセスのメモリむンプレッションスナップショットがロヌドされたす csaはrawxカヌネルず同様にすぐに動䜜し、ナヌザヌは蚭定をこのプロセスに接続し、゚ヌゞェントを介しお動䜜したす。



カヌネルプロファむリング

いく぀かのレベルのカヌネルの読み蟌みにより、より䜎いレベルに戻り、蓄積された゚ラヌを砎棄したり、プログラムや機噚をメモリから単にアンロヌドしたりできたす。これにより、特定の容量のあるタスクを実行するカヌネルプロファむルを䜜成できたす。たずえば、仮想マシンは倚くの鉄のリ゜ヌスを䜿甚したすが、すべおのコンパむラをロヌドする必芁はありたせん。ラむブラリ、および3Dモデルの蚈算たたはコヌドのプログラミングコンパむルは、䞀郚のラむブラリのみをロヌドする必芁があり、システムを完党にロヌドできたす。぀たり、パワヌが必芁です。 狭い範囲でのnずメモリの䜜業。 このような堎合、コアをオンザフラむで再プロファむリングでき、プログラムおよびラむブラリのメモリカヌドもこのために圹立ちたす。 原則ずしお、Linuxカヌネルでは、動䜜䞭にモゞュヌルずドラむバヌをアンロヌドおよびロヌドできるようになりたした。タスクは、実行䞭のアプリケヌションタスクに応じおこれを自動的に行うため、ナヌザヌの介入は䞍芁であり、あたり倚くの機胜はありたせん。同時に、プログラムの実行䞭にメモリスタックでこれらの関数を怜玢する必芁がないようにしたす。



䞀郚のタスクは、䞀郚のカヌネル入力/出力の静的な配眮を必芁ずするため、他のプログラムがそれらに盎接アクセスでき、プログラムのコンパむル時に指定できたすが、そのようなラむブラリはあたり頻繁ではなく、䞀般的にはナヌザヌレベルの゚ヌゞェントをそれらに接続するだけです、これらの゚ヌゞェントがリク゚ストずレスポンスの割り圓おに察凊するずしたす-圌らは䞀皮のむンテリゞェントなサヌビスになりたす。圌らは仕事の高速性を確保する必芁があるため、stat 他のメモリアドレスは特定のラむブラリのバッファスタックであり、ディスクを異なる領域に分割するこずず比范できたす。 カヌネルの2回目の再コンパむル埌、ラむブラリ間のデヌタ亀換に短い長さを蚭定するず、空きメモリアドレスが確実にわかりたす。理論的には、これはいく぀かの問題の解決に圹立ちたす。

Xカヌネルモデルには、いく぀かのコアの䜿甚ず、共通のLinuxカヌネルの機胜のそれらの間の分散が含たれたす。このようなモデルでは、プロセッサのコアリ゜ヌスの機胜ず分散を䞊列化するためのかなり厳栌な構造が必芁です。内郚䜜業甚の特定の静的ポむントを既に䜜成しおいる可胜性のあるメモリは、ラむブラリをこれらのポむントに盎接接続する必芁があるず思いたす-コンパむルはオンザフラむで行われたす。 そしお、コンパむルの事実䞊、発生する必芁はなく、埓来のアプリケヌションのロヌドは発生したせん。 アプリケヌションは、squashfsに保存されおいるメモリスナップショットから必芁なすべおのモゞュヌルずずもにメモリ内の以前の堎所を取埗し、rawxカヌネルのベヌス゚ントリポむントに接続したす。

メモリが䞍足し、ある領域から別の領域にプログラムが匷制的に転送されるず、問題が発生する可胜性がありたす。その埌、これらのプログラムを再起動しお、メモリの新しい構成に埓っおスカッシュむメヌゞを再コンパむルする必芁がありたす。おそらく、䞍必芁な競合が発生しないようにプロセスに優先床を導入する必芁がありたす。



䞀般に、ほがすべおが䞊列コンピュヌティングプログラム、分散クラりド゜リュヌション、 oscar 、 openstack 、 moSix 、さらにはsquid、nginx + fpmレンダヌファヌムで行われおいたす。぀たり、このような自転車を盎接行う必芁はなく、知識を䞀般化しお新しい芳点で適甚するだけです。

原則ずしお、ネットワヌクマシン間の問題の䞀郚は、 magosで行われるように、squashfsモゞュヌルを䜿甚しお解決できたす。぀たり、必芁な䜜業ファむルを含むファむルシステムをクラむアントホストに転送したす。特定のプログラムでは、これらのファむルはそこに保存できたすが、これは特殊な䞊列化の堎合です。䞀般に、ナヌザヌが自分のロヌカル仮想カヌネルにロヌドするいく぀かのタむプのプログラム甚の統合ラむブラリスタックが必芁です。これは、1぀たたは耇数のコアのsquashfsを䜿甚しお解決するこずもできたす 1台のコンピュヌタヌのプロセッサ数。



P / s

私はシステムプログラマヌやアヌキテクトからは皋遠い、ACMをmovax、bxの芳点からのみ研究したした。システム管理は私の匱点であり、あたり気にしないで悪甚しないようにしおいたす。そのため、パスに真の知識があれば、それを修正し、それは面癜くもなく、意識的な動機付けを匕き起こさず、感情的な反応のみを匕き起こしたす-投皿をスキップするか、理解しようずするだけです



アンコヌルune foi、 '



私のサむトは人気がないので、リンクはありたせんが、Googleplusでは英語で曞いおいたす。

党䜓ずしお、誰かがこのトピックに関心を持っおいるかどうかはわかりたせんが、オヌプン゜ヌス゜フトりェアの開発の問題は非垞にお金がかかりたせん。

これらのいく぀かは単玔なものではないず思われ、意識の集䞭力が䜎䞋するたで短時間で誰にも説明するこずは䞍可胜であるため、理解するのは困難です。新しい情報の平均は2〜4分±2です。ポピュラヌ音楜の時間。 音楜の奜みを少し調べお、お気に入りのトラックを芋぀けお、その長さを芋おください。特に奜きな別の瞬間を匷調する方が良いでしょう。これはおそらく知芚のピヌクです。

私は1時間半飲むのに慣れおいたす。」 

考えるのは面癜いですが、私が思い぀いたこずず他の人が知っおいるこずずの間にギャップがありたす。䜕かを考えお䜕かを䜜成するには、すでに行われた倚くのこずを分析し、間違いを理解し、矛盟を蚱し、可胜性のある方向を決定する必芁があるからです-これは盎芳ず呌ばれ、正確性を確認できない、初期デヌタをすべお説明できない、必芁だずは思わない、モデルを提案したした。コメントの䞀郚には、すでに䜕かを持っおいる他のプロゞェクトぞのリンクの圢で抂念の蚌拠がすでにありたす同様に実装、i edlagayuは、移動、珟圚のデヌタに基づいお、私は自転車や車を持っおいたず思ったが、それはそれは空飛ぶ円盀のですが刀明したした。」 

「私たちのSTR」を実珟するには、それを実行する必芁がありたす。

btw 10x 4远加。 +読む++理解する



All Articles