Memasang oc inferno pada tingkap. Semakan OS Inferno percuma: pemasangan sistem dan aplikasi. persekitaran luaran aplikasi Inferno

Sebagai demonstrasi, Inferno juga dijalankan sebagai pemalam di bawah internet Explorer versi 4.

Setiap sistem Inferno mempersembahkan persekitaran yang sama kepada aplikasi, tanpa mengira OS atau seni bina hos yang mendasari, membolehkan pembangun bekerja dengan persekitaran yang benar-benar homogen merentas pelbagai platform yang berbeza.

Aplikasi Mudah Alih
Aplikasi Inferno ditulis dalam Limbo®, bahasa pengaturcaraan serentak yang moden, selamat, modular dan serentak dengan sintaks seperti C. Ia lebih berkuasa daripada C tetapi jauh lebih mudah untuk difahami dan nyahpepijat daripada C++ atau Java. Mudah untuk menyatakan konkurensi dalam dunia fizikal secara terus dalam sintaks Limbo. Mana-mana aplikasi Inferno akan berjalan secara sama pada semua platform Inferno.

Kod Mudah Alih
Kod Limbo disusun menjadi kod bebas seni bina untuk Mesin Maya Dis®, dengan perwakilan padat. Dis boleh ditafsirkan secara langsung (menjimatkan ruang), atau disusun dengan cepat untuk pemproses sasaran tertentu (menjimatkan masa). Pilihan boleh dibuat semasa run-time, setiap modul. Seni bina Dis direka bentuk dengan teliti untuk menjadikan penjanaan kod dengan cepat dengan mudah. Arahannya mudah dilaksanakan.

Sumber Telus
Inferno menawarkan ketelusan lengkap sumber dan data menggunakan sistem "ruang nama" yang ringkas tetapi berkuasa. Dengan sumber yang mewakili sebagai fail dan mempunyai satu protokol komunikasi standard - 9P (Styx®) - sumber seperti stor data, perkhidmatan dan peranti luaran boleh dikongsi dengan mudah antara sistem Inferno. Antara muka sumber mungkin diimport ke sistem tempatan dan digunakan oleh aplikasi tanpa mereka ketahui, atau perlu tahu, sama ada ia tempatan atau jauh.

Keselamatan
Keselamatan tahap tinggi adalah bahagian penting dalam sistem Inferno. Dengan menggunakan satu protokol standard untuk semua komunikasi rangkaian, keselamatan boleh difokuskan pada satu titik dan disediakan pada peringkat sistem. Inferno menawarkan sokongan penuh untuk sambungan yang disahkan dan disulitkan menggunakan skim pengenalan pengguna berasaskan sijil dan pelbagai algoritma termasuk:

  • IDEA, 56 bit DES, 40, 128 dan 256 bit algoritma penyulitan RC4
  • Algoritma cincang selamat MD4, MD5 dan SHA

Penyelesaian Lengkap
Inferno bukan sahaja sistem operasi, ia juga merupakan persekitaran pembangunan yang lengkap, menyediakan semua alatan yang diperlukan untuk mencipta, menguji dan menyahpepijat aplikasi yang dijalankan di dalamnya.

  • Acme IDE: termasuk editor, shell, alat padanan corak lanjutan & banyak lagi
  • Penyusun Cepat: dengan sintaks penuh dan pemeriksaan jenis masa menyusun
  • Penyahpepijat Grafik: dengan surih tindanan penuh untuk melaksanakan utas pada masa ini
  • Shell Berkuasa: dengan keupayaan skrip yang canggih
  • Perintah seperti UNIX: termasuk bind, grep, gzip, mount, ps, tar, yacc...
Untuk melihat bagaimana Vita Nuova dan Inferno boleh memberikan penyelesaian untuk anda, hubungi kami atau pilih salah satu pautan di bawah.

pengenalan kepada Inferno OS

Sudah lama kami tidak memberitahu anda tentang sistem pengendalian baharu. Tetapi dunia tidak berdiam diri, dan pasaran OS sama sekali tidak terhad kepada Linux, Windows dan *BSD, mengenai maklumat mana - baik dalam CP dan dalam penerbitan kertas dan elektronik lain - muncul dengan kerap yang dicemburui.
Dan kemudian alasan yang baik muncul: mesej tentang keluaran (dan ketersediaan untuk muat turun percuma) Versi ke-4 OS dengan neraka (dalam konteks ini mereka biasanya mengatakan "infernal", tetapi dalam kes kami ia adalah tautologi :) nama Inferno. Tetapi kerana kami pasti bahawa sekurang-kurangnya separuh daripada pembaca kami tidak pernah mendengar tentang OS ini, dan oleh itu tidak tahu sama ada untuk bergembira dengan berita sedemikian atau tidak, kami memutuskan untuk menumpukan keseluruhan bahan "panjang" kepada Inferno, berdasarkan artikel oleh pembangun sistem ini. Ngomong-ngomong, lihat senarai pengarang di akhir artikel, kami pasti anda akan terkejut;)

pengenalan

Sistem pengendalian Inferno telah dibangunkan oleh Pusat Penyelidikan Komputer Bell Labs, bahagian penyelidikan dan pembangunan Lucent Technologies. Kemudian, pembangunannya diteruskan oleh bahagian lain Lucent, dan hari ini hak eksklusif untuk sistem ini dimiliki oleh syarikat perisian Inggeris Vita Nuova.
Tujuan utama sistem ini adalah untuk mencipta sistem pengkomputeran teragih bebas perkakasan dan menggunakannya dalam peranti terbenam.
Inferno direka untuk digunakan dalam pelbagai persekitaran rangkaian, seperti telefon pintar, PDA pegang tangan, sistem televisyen kabel dan satelit, terminal Internet kos rendah dan, sudah tentu, sistem komputer tradisional.
Di manakah Inferno boleh digunakan dengan jayanya? Pada rangkaian televisyen kabel, terus penyiaran satelit, Internet dan mana-mana rangkaian data lain (dan berbilang perkhidmatan, sudah tentu).
Tidak seperti sistem telefon dengan terminal dan isyarat standard mereka, rangkaian komputer dibangunkan dalam dunia terminal, peralatan rangkaian dan protokol yang berbeza. Hanya direka dengan baik, menjimatkan sistem operasi boleh menghimpunkan kandungan dan penyedia perkhidmatan yang berbeza pada platform pengangkutan dan pembentangan yang berbeza. Seperti yang anda duga, Inferno hanyalah sistem pengendalian sedemikian;)
Kelebihan Inferno adalah berdasarkan mudah alih dan fleksibiliti dalam bidang berikut:
- sokongan pemproses: Intel, Sparc, MIPS, ARM, HP PA, PowerPC kini disokong, sokongan untuk pemproses lain sedang disediakan.
- sokongan untuk pelbagai persekitaran: Inferno berfungsi seperti sistem berasingan pada terminal kecil, juga berjalan sebagai proses pengguna pada Windows NT, Windows 95, Unix (Irix, Solaris, FreeBSD, Linux, AIX, HP/UX) dan Plan 9. Dalam semua kes ini, aplikasi Inferno mempunyai antara muka yang sama.
- struktur teragih: persekitaran yang sama dipasang pada terminal pengguna dan pada pelayan, setiap satu boleh mengimport sumber (contohnya, peranti I/O yang tersedia atau rangkaian) yang lain. Terima kasih kepada keupayaan komunikasi sistem, aplikasi boleh dikongsi dengan mudah (walaupun secara dinamik) antara klien dan pelayan.
- keperluan peralatan minimum: aplikasi bersendirian dijalankan pada komputer dengan memori 1 MB dan tidak memerlukan pengawal memori.
- mudah alih aplikasi: Aplikasi Inferno ditulis dalam bahasa taip Limbo, dan perwakilan binari yang dihasilkan oleh pengkompil adalah sama untuk semua platform.
- penyesuaian dinamik: aplikasi mungkin, bergantung pada perkakasan atau sumber lain yang tersedia, menggunakan berbeza modul perisian untuk melaksanakan fungsi tertentu. Sebagai contoh, pemain video mungkin menggunakan pelbagai modul penyahkod
Reka bentuk Inferno adalah berdasarkan model yang menganggap pelbagai aplikasi untuk digunakan. Banyak penyedia berminat untuk menyediakan media dan perkhidmatan lain: perkhidmatan telefon, www-perkhidmatan, televisyen kabel, perdagangan, pelbagai perkhidmatan maklumat. Terdapat juga banyak teknologi komunikasi: konvensional modem telefon, ISDN, ATM, Internet, televisyen terestrial atau kabel analog, modem kabel, video digital dan televisyen interaktif.
Aplikasi yang memenuhi keperluan semasa dan masa hadapan Lucent termasuk pengurusan suis dan penghala. Juga ambil perhatian bahawa rangkaian dalaman dan pelayan Bell Labs dilindungi oleh tembok api berdasarkan Inferno.
Inferno sangat cekap sumber, membolehkan ia menyokong aplikasi yang agak kompleks pada perkakasan hari ini. Khususnya, sistem ini akan membolehkan pembangun membuat aplikasi permohonan, berjalan pada peranti yang berbeza. Mari kita ambil, sebagai contoh, katalog beli-belah interaktif: keupayaan untuk bekerja dalam mod teks melalui modem analog, memaparkan gambar (mungkin juga dengan audio) produk melalui ISDN dan memaparkan klip video melalui saluran digital.
Sudah tentu, tiada siapa yang memaksa anda, sebagai pemaju, untuk menggunakan semua ciri dan fungsi Inferno, tetapi anda harus ingat bahawa seni bina sistem hanya terhad oleh keperluan dan fantasi pelanggan, saluran rangkaian yang tersedia dan teknologi pelayan, tetapi bukan melalui perisian.

Antara muka Inferno

Peranan sistem Inferno adalah untuk mencipta beberapa antara muka standard untuk permohonan anda:
1. Aplikasi menggunakan pelbagai sumber sistem dalaman, seperti mesin maya, yang menjalankan program dan modul perpustakaan untuk melaksanakan pelbagai tindakan, daripada yang mudah seperti manipulasi rentetan kepada yang lebih kompleks (bekerja dengan teks, imej, perpustakaan peringkat tinggi atau video ).
2. Aplikasi wujud dalam persekitaran luaran yang mengandungi sumber seperti fail dengan data yang boleh dimanipulasi dan dinamakan objek yang boleh dimanipulasi seperti fail, tetapi lebih intensif. Peranti (jauh alat kawalan jauh, penyahkod MPEG atau antara muka rangkaian) dibentangkan kepada aplikasi sebagai fail.
3. Terdapat protokol komunikasi standard untuk interaksi aplikasi dalam hos yang sama dan antara hos berbeza yang menjalankan Inferno. Dengan cara ini, aplikasi Inferno boleh bekerjasama dengan berkesan.
Pada masa yang sama, Inferno menggunakan antara muka yang disediakan oleh persekitaran sedia ada, seperti perkakasan atau protokol sedia ada dan panggilan sistem sistem operasi.
Perkhidmatan berasaskan Inferno biasa terdiri daripada banyak terminal yang agak murah yang menjalankan Inferno sebagai OS asli dan sebilangan kecil mesin besar (pelayan) yang menjalankan Inferno sebagai sistem tetamu. Pada mesin pelayan sedemikian, Inferno boleh menyediakan akses kepada pangkalan data, sistem transaksi atau sumber lain yang disediakan oleh sistem pengendalian asli. Aplikasi Inferno boleh dijalankan pada sistem klien, atau pelayan, atau kedua-duanya.

persekitaran luaran aplikasi Inferno

Tujuan kebanyakan aplikasi Inferno adalah untuk memberikan maklumat atau media kepada pengguna. Aplikasi sedemikian mesti menemui lokasi sumber pada rangkaian dan membina perwakilan setempat data ini pada peranti pengguna. Walau bagaimanapun, kebanyakan aliran maklumat bukan sehala: terminal pengguna (sama ada komputer rangkaian, TV, Komputer peribadi atau telefon video) juga merupakan sumber beberapa maklumat dan mesti memberikan maklumat ini kepada aplikasi. Inferno mengikuti kebanyakan reka bentuk Plan9 (sistem pengendalian berkaitan yang turut dibangunkan oleh Bell Labs) dalam cara ia mempersembahkan sumber kepada aplikasi. Struktur ini mengikut tiga prinsip:
1. Semua sumber dinamakan dan tersedia sebagai fail dalam pepohon sistem fail hierarki;
2. Hierarki sumber berasingan disediakan pelbagai perkhidmatan, digabungkan menjadi satu ruang bernama tempatan;
3. Protokol komunikasi Styx digunakan untuk menyatukan akses kepada sumber, setempat atau jauh.
Dalam amalan, kebanyakan aplikasi melihat koleksi fail yang disusun dalam pepohon direktori. Sesetengah fail mengandungi data biasa, yang lain adalah sumber yang lebih aktif. Peranti diwakili sebagai fail; pemacu peranti (seperti modem, penyahkod MPEG, antara muka rangkaian atau skrin TV) yang dilampirkan pada sistem diwakili sebagai direktori kecil. Direktori ini biasanya mengandungi dua fail: data dan ctl, yang masing-masing mentakrifkan operasi kawalan I/O dan peranti. Perkhidmatan sistem juga boleh diakses melalui fail bernama. Sebagai contoh, pelayan nama boleh diakses menggunakan nama tertentu, katakan /net/dns; Selepas menulis nama domain hos pada fail ini, bacaan seterusnya mengembalikan alamat IP yang sepadan dalam notasi angka.
Gam yang memegang bahagian berasingan ruang nama yang dinamakan bersama ialah protokol Styx. Dalam Inferno, semua pemacu peranti dan sumber dalaman lain sepadan dengan versi prosedur Styx.
Kernel Inferno mengandungi apa yang dipanggil "pemandu gunung" yang menterjemahkan operasi sistem fail ke dalam panggilan prosedur jauh untuk penghantaran melalui rangkaian. Di hujung sambungan yang lain, pelayan membaca mesej protokol Styx dan melaksanakan panggilan yang sepadan menggunakan sumber tempatan. Dengan cara ini, ia menjadi mungkin untuk mengimport sebahagian daripada ruang yang dinamakan (iaitu, sumber yang tersedia) daripada mesin lain.
Memanjangkan contoh di atas, tidak mungkin peranti akhir akan menyimpan kod pelayan nama sendiri. Sebaliknya, penyemak imbas Internet mengimport sumber /net/dns terus ke ruang namanya sendiri daripada mesin pelayan pada rangkaian.
Protokol Styx ialah lapisan yang lebih tinggi dan bebas daripada protokol pengangkutan; ia berjalan melalui TCP, PPP, ATM atau pelbagai protokol modem.

persekitaran dalaman aplikasi Inferno

Program Inferno ditulis dalam bahasa Limbo baharu, yang dicipta khusus untuk bekerja di Inferno. Sintaksnya diilhamkan oleh C dan Pascal, dan ia menyokong biasa jenis standard data dan beberapa jenis data peringkat tinggi seperti senarai, tupel, rentetan, tatasusunan dinamik dan jenis data abstrak ringkas.
Selain itu, Limbo menyokong beberapa binaan kompleks yang tertanam dalam mesin maya Inferno. Secara khusus, mekanisme komunikasi, saluran, yang digunakan untuk berkomunikasi pelbagai tugas Limbo pada mesin tempatan anda atau melalui rangkaian. Saluran menghantar data dalam cara yang bebas mesin, oleh itu struktur kompleks data, termasuk saluran itu sendiri, boleh dihantar antara tugas Limbo atau dilampirkan pada fail ruang nama untuk saling kendali antara mesin-ke-mesin pada peringkat bahasa.
Multitasking disokong secara langsung oleh bahasa Limbo: benang bebas boleh dihasilkan dan ungkapan alt digunakan untuk menyelaraskan sambungan saluran antara tugas (iaitu, alt digunakan untuk memilih salah satu daripada beberapa saluran yang sedia untuk berkomunikasi). Dengan membenamkan saluran dan tugasan ke dalam bahasa dan mesin mayanya, Inferno menjadikannya mudah untuk digunakan dan cara selamat interaksi.
Program Limbo terdiri daripada modul, yang merupakan bekas berpakej dengan antara muka yang ditentukan dalam bentuk fungsi/kaedah, jenis data abstrak dan pemalar yang ditakrifkan dalam modul dan boleh diakses secara luaran. Modul diakses secara dinamik, iaitu, jika satu modul ingin menggunakan yang lain, maka beban dipanggil secara dinamik dengan nama modul yang dipanggil dan penunjuk kepada dikembalikan modul baharu. Apabila modul baharu tidak lagi digunakan, persekitaran dan kodnya akan dipunggah.
Fleksibiliti struktur modular adalah disebabkan oleh saiz kecil aplikasi Inferno biasa. Contohnya, dalam katalog beli-belah yang diterangkan di atas, modul aplikasi utama secara dinamik menyemak ketersediaan sumber video dan jika sumber itu tidak tersedia, penyahkod video tidak dimuatkan.
Limbo menyemak sepenuhnya ketepatan jenis data semasa penyusunan dan pelaksanaan, contohnya, petunjuk (secara langsung, lebih ketat daripada dalam C) diperiksa sebelum digunakan. Kesesuaian jenis modul yang dimuatkan secara dinamik disemak semasa pemuatan. Aplikasi Limbo berjalan secara stabil pada mesin tanpa perlindungan memori perkakasan.
Selain itu, semua objek data sistem dan objek program dikawal oleh "pengumpul sampah" berwayar keras ke Limbo. Semua objek tersebut dijejaki oleh mesin maya dan dipunggah selepas digunakan. Contohnya, jika aplikasi mencipta tetingkap grafik dan menyelesaikan tugasnya, tetingkap itu ditutup secara automatik selepas semua rujukan kepada objek itu dialih keluar.
Program Limbo dihimpun ke dalam bytecode yang mengandungi arahan untuk mesin maya Dis. Seni bina bahagian aritmetik Dis ialah mesin 3-alamat ringkas, disediakan dengan beberapa operasi khusus untuk bekerja dengan beberapa jenis peringkat tinggi data seperti tatasusunan dan rentetan. Pengumpulan sampah dilakukan oleh ehjdytv di bawah, dan penjadualan tugas juga disembunyikan. Apabila kod bait dimuatkan ke dalam memori, ia diperluaskan kepada format yang lebih cekap untuk pelaksanaan. Pengkompil sedia ada menukar aliran arahan Dis kepada arahan mesin untuk perkakasan dengan cepat. Penukaran ini berkesan kerana arahan Dis sepadan dengan set arahan dengan sangat baik seni bina moden. Kod yang terhasil berjalan pada kelajuan yang setanding dengan atur cara C yang disusun.
Di bawah Dis ialah kernel Inferno, yang mengandungi penterjemah dan pengkompil masa nyata, serta pengurus memori, penjadual, pemacu peranti, susunan protokol, dan seumpamanya. Kernel juga mengandungi tulang belakang sistem fail (pengendali nama dan kod yang menterjemah operasi sistem fail ke dalam panggilan prosedur jauh melalui saluran komunikasi sedia ada).
Akhir sekali, mesin maya Inferno melaksanakan beberapa modul standard secara dalaman. Modul Sys, yang menyediakan panggilan sistem dan perpustakaan kecil rutin (mewujudkan sambungan rangkaian, operasi rentetan). Modul Draw ialah perpustakaan grafik teras yang berfungsi dengan grafik raster, fon dan tetingkap. Modul Prefab dibina pada Draw untuk menyokong kompleks berstruktur yang mengandungi imej dan teks dalam tetingkap. Objek ini boleh ditatal, dipilih, diubah suai menggunakan kaedah Prefab. Modul Tk ialah pelaksanaan baharu Perpustakaan grafik Tk dan antara muka Limbo. Modul Matematik mengandungi prosedur untuk pengaturcaraan operasi matematik.

Persekitaran neraka

Inferno mencipta persekitaran standard untuk aplikasi. Aplikasi yang sama boleh dilancarkan dalam pelbagai jenis persekitaran, termasuk yang diedarkan, dan melihat sumber yang sama. Bergantung pada persekitaran di mana Inferno sendiri sedang berjalan, terdapat beberapa versi kernel, penterjemah Dis/Limbo dan set pemacu peranti.
Apabila Inferno berjalan sebagai sistem pengendalian tunggal, kernel merangkumi semua bahagian peringkat rendah yang diperlukan (pengendali gangguan, grafik dan pemacu lain) yang diperlukan untuk melaksanakan abstraksi peringkat tinggi untuk aplikasi.
Sebagai sistem tetamu, seperti pada Unix atau Windows, Inferno berjalan seperti koleksi proses biasa. Daripada menggunakan keupayaan sendiri Untuk mengurus perkakasan, Inferno menggunakan sumber yang disediakan oleh sistem pengendalian yang dijalankannya. Sebagai contoh, di bawah Unix, perpustakaan grafik boleh dilaksanakan menggunakan XWindow, dan sokongan rangkaian menggunakan perpustakaan soket. Pada Windows, Inferno menggunakan asli sistem grafik dan panggilan Winsock.
Inferno ditulis dalam standard C dan kebanyakan komponennya adalah bebas daripada sistem pengendalian yang boleh menjadi hos Inferno.

keselamatan di Inferno

Inferno memastikan komunikasi selamat, penggunaan sumber dan integriti sistem.
Melalui setiap saluran luaran, data dihantar dalam bentuk yang jelas bersama-sama dengan ringkasan digital untuk mengelakkan kerosakan, atau disulitkan untuk mengelakkan kerosakan dan pemintasan data. Kunci ditukar melalui mekanisme kunci awam standard. Selepas pertukaran kunci, penyulitan dan tandatangan digital menggunakan mekanisme simetri standard.
Inferno menyediakan perlindungan terhadap aplikasi bertulis yang buruk (dengan pepijat atau "penyimpangan") berniat jahat dan membolehkan komunikasi selamat antara penyedia perkhidmatan dan pelanggan "mencurigakan". sumber, diperlukan untuk program tersebut, disediakan secara eksklusif, hanya dalam ruang nama program; mekanisme perlindungan standard juga tersedia. Ini terpakai kepada data, saluran komunikasi dan fail dan perpustakaan boleh laku sebenar. Sumber sistem kritikal hanya boleh diakses melalui panggilan ke modul yang menyediakannya; khususnya, penambahan fail dan perkhidmatan baharu pada ruang yang dinamakan dikawal dan hanya boleh dilakukan selepas pengesahan. Sebagai contoh, jika sumber rangkaian dialih keluar daripada ruang nama aplikasi, ia menjadi mustahil untuk mewujudkan sambungan rangkaian.
Modul objek boleh ditandatangani untuk mengesahkan kesahihan dan kesahihannya, dan tandatangan ini boleh disahkan oleh sistem apabila modul tersebut diakses.
Walaupun Inferno menyediakan sejumlah besar mekanisme pengesahan dan keselamatan, diperincikan di bawah, beberapa aplikasi memerlukan pelaksanaannya, atau sekurang-kurangnya memerlukan beberapa jenis pengaturcaraan untuk menggunakannya.
Lebih kerap, akses kepada sumber terhad melalui saluran selamat diatur terlebih dahulu oleh sistem di mana aplikasi dijalankan. Contohnya, apabila sistem klien menggunakan sistem pelayan dan semakan dan penyulitan akses tersedia, sumber pelayan akan disediakan sebagai sebahagian daripada ruang nama aplikasi. Saluran komunikasi, yang menyediakan protokol Styx, boleh ditetapkan untuk pengesahan atau penyulitan. Dengan cara ini, penggunaan semua sumber dilindungi secara automatik.

mekanisme keselamatan

Pengesahan dan tandatangan digital diwakili oleh penyulitan menggunakan kunci awam. Kunci awam diperakui dan ditandatangani oleh kunci persendirian organisasi yang mengeluarkan sijil.
Inferno menggunakan penyulitan untuk:
- pengesahan berterusan pihak;
- pengesahan mesej antara pihak;
- penyulitan mesej.
Algoritma penyulitan yang disediakan oleh Inferno termasuk cincang SHA, MD4 dan MD5. tandatangan awam dan pengesahan tandatangan Elgamal, penyulitan RC4 dan DES. Pertukaran kunci persendirian awam adalah berdasarkan skim Diffie Hellman. Tandatangan kunci awam boleh panjang sehingga 4096 bit, dengan lalai 512 bit.
Tiada organisasi kebangsaan atau antarabangsa umum untuk menyimpan atau menjana kunci penyulitan awam atau peribadi. Oleh itu, Inferno termasuk alat untuk menggunakan atau mencipta organisasi yang dipercayai, tetapi tidak menyediakan organisasi sedemikian itu sendiri kerana ia adalah ciri pentadbiran. Oleh itu, organisasi yang menggunakan Inferno (atau sistem keselamatan dan pertukaran kunci lain) mesti mencipta sistem sendiri untuk keperluan anda dan, khususnya, memutuskan kepada siapa untuk diamanahkan pensijilan. Walau bagaimanapun, reka bentuk Inferno adalah fleksibel dan cukup modular untuk menampung protokol yang digunakan dalam amalan.
Pihak berkuasa sijil yang menandatangani kunci awam pengguna menentukan saiz dan algoritma kunci. Alat yang disediakan oleh Inferno menggunakan tandatangan ini untuk pengesahan. Untuk menandatangani dan pengesahan, aplikasi Limbo disediakan dengan perpustakaan antara muka.
Apabila pihak bertukar data, mereka menggunakan protokol Stesen ke Stesen untuk mengenal pasti pihak dan menjana kunci rahsia. Protokol Stesen ke Stesen menggunakan algoritma Diffie-Hellman untuk mencipta kunci rahsia yang dikongsi sedemikian. Protokol dilindungi daripada serangan ulangan dengan memilih nilai baharu untuk setiap interaksi. Protokol ini selamat terhadap serangan orang di tengah dengan bertukar sijil antara pihak dan kemudian menandatangani bahagian utama protokol. Untuk menyamar sebagai parti lain, penyerang perlu meniru tandatangan parti itu.

keselamatan talian

Komunikasi rangkaian boleh dilindungi daripada pengubahsuaian atau pengubahsuaian dan mencuri dengar. Untuk melindungi daripada pengubahsuaian, Inferno boleh menggunakan cincangan MD5 atau SHA (dipanggil digest) -

hash(rahsia, mesej, id mesej)

untuk setiap mesej. Messageid ialah nombor ke-32 yang bermula pada 0 dan meningkat sebanyak 1 untuk setiap mesej berikutnya. Iaitu, mesej tidak boleh diubah atau dipadamkan, susunan mesej dalam strim tidak boleh diubah, hanya jika kunci tersedia atau algoritma cincang retak.
Untuk melindungi daripada mencuri dengar, Inferno menggunakan penyulitan keseluruhan sesi menggunakan RC4 atau DES (DESCBC, DESECB).
Inferno menggunakan format pengkapsulan yang sama seperti Lapisan Soket Selamat Netscape. Pengkapsulan aliran mesej berbilang mungkin untuk memberikan tahap perlindungan yang berbeza.

nombor rawak

Kekuatan algoritma kriptografi bergantung, khususnya, pada nombor rawak, digunakan untuk memilih kunci, parameter Diffie Hellman, vektor permulaan, dll. Inferno mencapai ini dalam dua peringkat: aliran bit rawak perlahan (100 hingga 200 bps) diperoleh dengan mensampel bit rendah pembilang berjalan bebas dengan setiap kitaran jam Jam. Jam mesti tidak disegerakkan, atau kurang disegerakkan dengan kaunter. Penjana nombor rawak ini kemudiannya digunakan untuk menukar keadaan penjana pantas nombor pseudorandom. Kedua-dua penjana telah diuji pada pelbagai seni bina menggunakan korelasi diri, pergerakan rawak, dan ujian berulang.

Penerangan tentang Inferno

Tulis ulasan tentang artikel "Inferno (sistem pengendalian)"

Nota

lihat juga

Pautan

  • (Bahasa Inggeris)
  • dengan sumber rasmi (Bahasa Inggeris)
  • (Bahasa Rusia)
  • (Bahasa Rusia)
  • (Bahasa Rusia)
  • (Bahasa Rusia)
  • - artikel yang mengandungi senarai pautan ke sumber lain di Inferno (Rusia)
  • (Bahasa Inggeris)
  • (Bahasa Rusia)
  • (Bahasa Rusia)

Petikan yang mencirikan Inferno (sistem pengendalian)

"Ini Metampsic," kata Sonya, yang sentiasa belajar dengan baik dan mengingati segala-galanya. – Orang Mesir percaya bahawa jiwa kita berada dalam haiwan dan akan kembali kepada haiwan.
"Tidak, anda tahu, saya tidak percaya, bahawa kita adalah haiwan," kata Natasha dalam bisikan yang sama, walaupun muzik telah berakhir, "tetapi saya tahu pasti bahawa kita adalah malaikat di sana sini di suatu tempat, dan itulah sebabnya. kami ingat segala-galanya.”...
-Boleh saya sertai awak? - kata Dimmler, yang menghampiri secara senyap dan duduk di sebelah mereka.
- Jika kita adalah malaikat, maka mengapa kita jatuh lebih rendah? - kata Nikolai. - Tidak, ini tidak boleh!
"Bukan lebih rendah, siapa yang memberitahu anda lebih rendah?... Kenapa saya tahu apa yang saya sebelum ini," Natasha membantah dengan yakin. - Lagipun, jiwa adalah abadi... oleh itu, jika saya hidup selama-lamanya, itulah cara saya hidup sebelum ini, hidup selama-lamanya.
"Ya, tetapi sukar bagi kami untuk membayangkan keabadian," kata Dimmler, yang mendekati orang muda dengan senyuman yang lemah lembut dan menghina, tetapi kini bercakap dengan senyap dan serius seperti yang mereka lakukan.
– Mengapa sukar untuk membayangkan keabadian? - kata Natasha. - Hari ini ia akan menjadi, esok ia akan menjadi, ia akan sentiasa dan semalam ia dan semalam ia adalah...
- Natasha! sekarang giliran awak. "Nyanyikan sesuatu untuk saya," suara countess kedengaran. - Bahawa anda duduk seperti konspirator.
- Ibu! "Saya tidak mahu berbuat demikian," kata Natasha, tetapi pada masa yang sama dia berdiri.
Kesemua mereka, walaupun Dimmler pertengahan umur, tidak mahu mengganggu perbualan dan meninggalkan sudut sofa, tetapi Natasha berdiri, dan Nikolai duduk di clavichord. Seperti biasa, berdiri di tengah dewan dan memilih lokasi utama Untuk resonans, Natasha mula menyanyikan lagu kegemaran ibunya.
Dia berkata bahawa dia tidak mahu menyanyi, tetapi dia sudah lama tidak menyanyi sebelum ini, dan sudah lama sejak itu, cara dia menyanyi petang itu. Count Ilya Andreich, dari pejabat tempat dia bercakap dengan Mitinka, mendengar dia menyanyi, dan seperti seorang pelajar, tergesa-gesa untuk pergi bermain, menyelesaikan pelajaran, dia menjadi keliru dalam kata-katanya, memberi arahan kepada pengurus dan akhirnya diam. , dan Mitinka, juga mendengar, secara senyap sambil tersenyum, berdiri di hadapan kiraan. Nikolai tidak mengalihkan pandangannya dari kakaknya, dan menarik nafas bersamanya. Sonya, mendengar, berfikir tentang perbezaan yang besar antara dia dan rakannya dan betapa mustahilnya untuk dia menjadi lebih menawan seperti sepupunya. Countess tua itu duduk dengan senyuman sedih yang gembira dan air mata di matanya, sesekali menggelengkan kepalanya. Dia berfikir tentang Natasha, dan tentang masa mudanya, dan tentang bagaimana ada sesuatu yang tidak wajar dan dahsyat dalam perkahwinan Natasha yang akan datang ini dengan Putera Andrei.
Dimmler duduk di sebelah countess dan menutup matanya, mendengar.
"Tidak, Countess," katanya akhirnya, "ini adalah bakat Eropah, dia tidak perlu belajar apa-apa, kelembutan, kelembutan, kekuatan ini..."
- Ah! "Betapa saya takut kepadanya, betapa takutnya saya," kata countess itu, tidak ingat dengan siapa dia bercakap. Naluri keibuannya memberitahunya bahawa terdapat terlalu banyak perkara dalam diri Natasha, dan ini tidak akan menggembirakannya. Natasha masih belum selesai menyanyi apabila Petya berumur empat belas tahun yang bersemangat berlari ke dalam bilik dengan berita bahawa mummers telah tiba.
Natasha tiba-tiba berhenti.
- Bodoh! - dia menjerit kepada abangnya, berlari ke kerusi, jatuh di atasnya dan menangis teresak-esak sehingga dia tidak dapat berhenti untuk masa yang lama.
“Tidak ada apa-apa, Mama, betul-betul tidak ada, seperti ini: Petya takutkan saya,” katanya, cuba tersenyum, tetapi air matanya terus mengalir dan esak tangisnya mencekik tekaknya.
Berpakaian hamba, beruang, Turki, pemilik penginapan, wanita, menakutkan dan lucu, membawa bersama mereka kesejukan dan keseronokan, pada mulanya dengan malu-malu berhimpit di lorong; kemudian, bersembunyi di belakang yang lain, mereka dipaksa masuk ke dalam dewan; dan pada mulanya dengan malu-malu, dan kemudian semakin ceria dan mesra, lagu, tarian, paduan suara dan permainan Krismas bermula. Countess, yang mengenali wajah dan mentertawakan mereka yang berpakaian, pergi ke ruang tamu. Count Ilya Andreich duduk di dalam dewan dengan senyuman berseri, menyetujui pemain. Pemuda itu hilang entah ke mana.

Maklumat dalam post sebelum ini hampir 4 tahun ketinggalan, dan saya diminta untuk mengemaskininya. Mereka juga meminta untuk tidak mencampurkan pemasangan dengan penalaan dalam satu jawatan, jadi hanya akan ada pemasangan di sini, dan tetapan inferno diterangkan dalam siaran berasingan. Kemas kini: Penerangan pemasangan untuk Windows dikemas kini pada Jun 2014.

Jadi, kami akan memasang Inferno OS yang diedarkan. Laman web rasmi mempunyai arahan pemasangan, tetapi ia tidak sepenuhnya betul dan juga agak ketinggalan zaman. Inferno boleh beroperasi dalam dua mod - asli(pada logam kosong atau dalam qemu/dll. seperti semua OS biasa) dan dihoskan(Bagaimana aplikasi biasa di bawah *NIX/Win). Arahan untuk memasang Inferno asli boleh didapati di wiki Rusia. Di samping itu, terdapat pilihan lain - contohnya, memasang Inferno pada Android (Bahasa Inggeris). Secara peribadi, saya tidak nampak apa-apa guna menggunakan Inferno asli pada komputer biasa, jadi saya akan menerangkan pemasangan Inferno yang dihoskan di bawah Gentoo, Ubuntu, FreeBSD, MacOSX dan Windows.

Ciri-ciri Pemasangan

Versi OS Inferno
Secara teorinya, "Edisi Keempat" rasmi terakhir dikeluarkan sekitar tahun 2004. Versi semasa berada dalam repositori Mercurial pada Kod Google, dan memanggil dirinya "Edisi Baharu". Dalam amalan, tidak ada gunanya menggunakan apa-apa selain versi semasa dari repositori - ia benar-benar stabil, dan sentiasa stabil. Kami akan memasangnya.
Gaya pemasangan tunggal atau berbilang pengguna
Inferno boleh dipasang di seluruh sistem (cth dalam /usr/inferno/) supaya semua pengguna boleh menggunakannya. Inferno menyokong semua yang diperlukan untuk ini - bekerja dengan hak pengguna, direktori rumah berasingan, dsb. Sebaliknya, anda boleh meletakkan inferno dalam direktori rumah anda (contohnya, dalam ~/inferno/), yang lebih mudah. Saya membuat artikel terakhir sedikit lebih rumit dengan menerangkan kedua-dua kaedah pada masa yang sama, tetapi kini saya memutuskan bahawa lebih mudah untuk menerangkan hanya pilihan pemasangan pengguna tunggal. Jika mana-mana pembaca artikel ini mempunyai pelayan yang mempunyai lebih daripada satu pengguna Inferno, mereka tidak mungkin memerlukan arahan saya untuk memasang Inferno. ;-) Jadi kami akan memasangnya dalam ~/inferno/ pada *sistem NIX, dan dalam C:\inferno\ pada Windows.
32/64 bit
OS Inferno 32-bit. Oleh itu, untuk memasang dan menjalankan OS 64-bit, sokongan untuk aplikasi 32-bit pada OS ini diperlukan. Malangnya, saya tidak pernah dapat menjalankan Inferno di bawah 64-bit FreeBSD-9.0.
Mengeras/PaX/SeLinux/dsb.
Inferno melaksanakan kod dalam mesin maya, ditambah pula ia menyokong JIT, jadi ia mempunyai masalah yang sama dengan pelbagai perlindungan seperti Java, dsb. Dalam artikel sebelum ini saya memberi perhatian lebih kepada topik ini, jika anda mempunyai sebarang pertanyaan, lihat di sana.
Masa dan tempat
Inferno yang dipasang mengambil masa kira-kira 200MB. Tetapi memasang penyusun mungkin memerlukan sehingga 3-plus gigabait (contohnya, pada Xcode atau Studio Visual). Inferno menyusun dalam beberapa minit pada sistem purata.
Lokasi
Apabila memasang Inferno ke dalam direktori rumah anda, anda harus ingat bahawa Inferno tidak suka yang istimewa. aksara dalam nama fail/direktori, jadi jika laluan ke direktori rumah mengandungi, sebagai contoh, ruang - kesukaran yang saya tidak ambil kira mungkin timbul.

Pemasangan

Dalam (Keras) Gentoo Linux 32/64-bit semuanya remeh - terdapat pakej yang memasang inferno seluruh sistem dalam /usr/inferno/ :
orang awam -a powerman emerge inferno
Dan sekarang kita akan berurusan dengan sistem pengendalian yang lain.
Mercurial, penyusun dan segala-galanya segala-galanya
... Ubuntu 12.04 32-bit
sudo apt-get install -y mercurial sudo apt-get install -y libxext-dev
... Ubuntu 12.04 64-bit
sudo apt-get install -y mercurial sudo apt-get install -y libc6-dev-i386 sudo apt-get install -y libxext-dev:i386
... FreeBSD 8.0 32-bit
pkg_add -r mercurial
...Mac OS X 10.6.8 Snow Leopard 32-bit
Saya sudah memasang Xcode (3.2.2) dan Mercurial (1.7.1).
...Mac OS X 10.7.4 Lion 64-bit
Pasang Xcode (4.3.2) melalui App Store.
Lancarkan Xcode, pergi ke menu Xcode - Keutamaan - Muat Turun dan klik Pasang untuk Alat Baris Perintah.
Pergi ke mercurial.berkwood.com dan muat turun/pasang versi semasa (Mercurial 2.2.2 untuk OS X 10.7).
... Windows (XP 32-bit, Seven 32-bit, Seven 64-bit)
Pergi ke mercurial.selenic.com/downloads dan muat turun/pasang versi semasa (3.0.1).

Tetapi dengan pengkompil terdapat pilihan. Pilihan yang jelas untuk memasang Visual Studio Express akan menelan kos lebih daripada 3 gigabait setiap skru. Pilihan alternatif- pemasangan WinSDK akan menelan belanja kira-kira 800 megabait. Saya akan menerangkan kedua-dua pilihan, pilih sendiri.

Pilihan pertama. Pergi ke www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express dan muat turun/pasang/kemas kini (mengikut adat Rusia - tiga kali :) jika tidak, tidak semua kemas kini akan dipasang) “ Visual C++ 2010 Express "

Pilihan kedua. Mula-mula, pergi ke go.microsoft.com/fwlink/?LinkId=187668 dan muat turun/pasang penuh ". Rangka Kerja NET 4". Kemudian pergi ke www.microsoft.com/en-us/download/details.aspx?id=8279 dan muat turun/pasang "Windows SDK 7.1". Apabila memasang, hanya hadkan diri anda kepada perkara ini:
# Pembangunan Kod Asli Windows: # Pengepala dan Pustaka Windows: # [X] Pengepala Windows # [X] Perpustakaan x86 # [X] Pengkompil Visual C++ # Pakej Boleh Diedarkan Semula: # [X] Microsoft Visual C++ 2010 (Pada tahun 2014, SDK saya enggan memasang sehingga saya menyahpasang semua Visual C++ 2010 Redistributable - mereka ternyata versi yang terlalu baharu untuknya.) Kemudian kami juga mengemas kini. Malah, mungkin tidak perlu dikemas kini, ia hanya menjadi kebiasaan.

Muat turun dan kemas kini sumber inferno
Walaupun laman web rasmi menawarkan arkib berasingan untuk Windows, dan binari berasingan untuk Mac, kami tidak memerlukan semua ini, malah ia berbahaya (arkib untuk Windows tidak dikemas kini secara normal dari repositori - konflik timbul). Jadi di bawah semua OS kami akan memasang dari inferno-20100120.tgz. Maksudnya ialah menggunakan arkib ini pengklonan mudah Repositori adalah bahawa arkib termasuk beberapa fail (terutamanya fon) yang dilarang oleh lesen daripada disiarkan pada Kod Google, jadi ia tidak berada dalam repositori.
… *NIX
wget http://www.vitanuova.com/dist/4e/inferno-20100120.tgz tar xzf inferno-20100120.tgz cd inferno/ hg tarik -uv
... Menang
Muat turun www.vitanuova.com/dist/4e/inferno.zip (ia disyorkan di tapak, tetapi anda juga boleh mengambil .tgz - Saya boleh memasang kedua-duanya tanpa sebarang masalah).
Buka bungkusannya ke C:\inferno\ . Saya tidak tahu apa yang diperlukan untuk membongkar .tgz di bawah Windows - Saya telah memasang Far dan 7Zip, saya membongkarnya dengan Far.
Lancarkan cmd.
cd \inferno hg tarik -uv # jika kita mendapat konflik seperti: penggabungan libinterp/keyring.h amaran: konflik semasa cantuman. penggabungan libinterp/keyring.h tidak lengkap! (edit konflik, kemudian gunakan "hg resolve --mark") menggabungkan amaran libinterp/runt.h: konflik semasa cantuman. penggabungan libinterp/runt.h tidak lengkap! (edit konflik, kemudian gunakan "hg resolve --mark") 3038 fail dikemas kini, 0 fail digabungkan, 106 fail dialih keluar, 2 fail tidak diselesaikan gunakan "hg resolve" untuk mencuba semula gabungan fail yang tidak dapat diselesaikan # kemudian hanya pulihkan versi terkini: hg revert - r tip libinterp\keyring.h hg revert -r tip libinterp\runt.h Keluar cmd .
Menyediakan pembolehubah persekitaran
Satu-satunya pembolehubah yang benar-benar diperlukan ialah PATH . EMU menetapkan parameter lalai untuk melancarkan inferno, ia hanya untuk kemudahan. Bagi INFERNO_ROOT, Inferno tidak mengetahuinya sama sekali; kami memerlukan pembolehubah ini hanya untuk kemudahan. Selain menetapkan pembolehubah dalam sesi semasa, kami akan menulisnya ke dalam skrip permulaan.
... Ubuntu
eksport INFERNO_ROOT=$(pwd) eksport PATH=$INFERNO_ROOT/Linux/386/bin:$PATH eksport EMU=-r$INFERNO_ROOT echo "eksport INFERNO_ROOT=$INFERNO_ROOT" >> ~/.bashrc echo "export PATH_ROOT=\$OT /Linux/386/bin:\$PATH" >> ~/.bashrc echo "eksport EMU=-r\$INFERNO_ROOT" >> ~/.bashrc
... FreeBSD
eksport INFERNO_ROOT=$(pwd) eksport PATH=$INFERNO_ROOT/FreeBSD/386/bin:$PATH eksport EMU=-r$INFERNO_ROOT echo "eksport INFERNO_ROOT=$INFERNO_ROOT" >> ~/.bash_profile echo "$INFERNO_ROOT echo "eksport INFERNO_ROOT=$INFERNO_ROOT" >> ~/.bash_profile echo "$INFERNO_ROOT" /FreeBSD/386/bin:\$PATH" >> ~/.bash_profile echo "eksport EMU=-r\$INFERNO_ROOT" >> ~/.bash_profile
...Mac OS X
eksport INFERNO_ROOT=$(pwd) eksport PATH=$INFERNO_ROOT/MacOSX/386/bin:$PATH eksport EMU=-r$INFERNO_ROOT echo "eksport INFERNO_ROOT=$INFERNO_ROOT" >> ~/.bash_profile echo "\$INFERNO_ROOT echo" /MacOSX/386/bin:\$PATH" >> ~/.bash_profile echo "eksport EMU=-r\$INFERNO_ROOT" >> ~/.bash_profile
... Menang
Pergi ke: Panel Kawalan -> Sistem -> Parameter sistem tambahan (dalam XP hanya "Lanjutan") -> Pembolehubah Persekitaran.
Tambahkan pada akhir Laluan: ;C:\inferno\Nt\386\bin
Cipta pembolehubah baharu: INFERNO_ROOT: C:\inferno
Cipta pembolehubah baharu: EMU: -rC:\inferno
Mengkonfigurasi parameter binaan
Anda boleh mengedit fail mkconfig secara manual pada semua sistem pengendalian, tetapi untuk kesederhanaan, jika boleh, saya akan memberikan arahan yang menukar konfigurasi secara automatik.
... Ubuntu
perl -i -pe "s/^ROOT=.*/ROOT=$ENV(INFERNO_ROOT)/m" mkconfig perl -i -pe "s/^SYSHOST=.*/SYSHOST=Linux/m" mkconfig perl -i - pe "s/^OBJTYPE=.*/OBJTYPE=386/m" mkconfig
Di Linux, Inferno menyokong IPv6. Selain itu, IPv6 digunakan secara lalai. Sama ada ia sesuai dengan anda atau tidak - tentukan sendiri. Saya secara peribadi mematikannya:
perl -i -pe "s/ipif6/ipif/g" emu/Linux/emu emu/Linux/emu-g
... FreeBSD
perl -i -pe "s/^ROOT=.*/ROOT=$ENV(INFERNO_ROOT)/m" mkconfig perl -i -pe "s/^SYSHOST=.*/SYSHOST=FreeBSD/m" mkconfig perl -i - pe "s/^OBJTYPE=.*/OBJTYPE=386/m" mkconfig
...Mac OS X
perl -i -pe "s/^ROOT=.*/ROOT=$ENV(INFERNO_ROOT)/m" mkconfig perl -i -pe "s/^SYSHOST=.*/SYSHOST=MacOSX/m" mkconfig perl -i - pe "s/^OBJTYPE=.*/OBJTYPE=386/m" mkconfig
... Menang
Edit mkconfig:
ROOT=c:/inferno SYSHOST=Nt OBJTYPE=386
perhimpunan
… *NIX
sh makemk.sh mk nuke mk install # langkau arahan ini pada pelayan tanpa X dan GUI mk CONF=emu-g install
... Menang Tujuh 64-bit
Jika anda memasang WinSDK, maka anda perlu melakukannya jalan pintas baru pada "Windows SDK 7.1 Command Prompt", pergi ke sifatnya dan tambah parameter /x86 - jadi ia kelihatan seperti ini:
C:\Windows\System32\cmd.exe /E:ON /V:ON /T:0E /K "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x86
Jika anda memasang Visual C++ 2010, maka saya tidak tahu cara menjalankan pengkompil 32-bit (tetapi mungkin ia boleh dilakukan dengan cara yang sama).
Perkara yang perlu dilakukan seterusnya diterangkan dalam perenggan seterusnya untuk semua versi Windows.
... Menang
Lancarkan "Prompt Perintah Windows SDK 7.1" (atau "Prompt Perintah Visual Studio (2010)" - bergantung pada apa yang anda pasang).
cd\inferno mk nuke mk pasang

Pelancaran

Sebenarnya, itu sahaja. Kini anda boleh menjalankan inferno dengan perintah emu atau emu-g (yang kedua berbeza kerana ia tidak menyokong mod grafik, tetapi ia akan berfungsi pada pelayan tanpa X dan sangat mudah untuk menjalankan pelbagai perkhidmatan rangkaian). Persekitaran grafik boleh dilihat dengan menjalankan perintah wm/wm di dalam emu:
$ emu ; wm/wm