Arsitektur sistem operasi untuk komputer yang kompatibel dengan ZX Spectrum

NedoOS adalah sistem operasi multitasking untuk "Russian ZX Spectrum" dengan lingkungan pemrograman bahasa assembly, Basic, Pascal, C, NedoLang. Bekerja pada TR-DOS, FAT16 dan FAT32 dengan nama panjang, mendukung tar, gz, zip, rar2 dan hampir semua format file Spectrum yang benar-benar digunakan, utilitas jaringan termasuk browser Web dan server Web, klien Telnet dan server Telnet, IRC -client, dll. Game ditulis untuk OS, termasuk game jaringan. Sekarang ada 6 anggota di repositori. Kode sumber dari seluruh sistem (58 program) adalah 230 ribu baris dalam bahasa assembly dan 70 ribu baris dalam C.



pengantar



Arsitektur komputer



ZX Spectrum adalah komputer 8-bit berbasis prosesor Z80. Ini berbeda dari komputer serupa lainnya karena alih-alih pengontrol video khusus, ia hanya memiliki kombinasi penghitung dan multiplexer (awalnya dirakit di BMK , tetapi dengan mudah diterjemahkan ke dalam "longgar" - sirkuit mikro logika kecil). Karena itu, komputer pertama kali memenangkan perlombaan harga dan menjadi mesin default untuk "pemrograman kamar tidur", dan kemudian dengan mudah keluar dari pabrikan aslinya dan memenangkan tempat penting dalam komputerisasi di banyak negara di dunia. Termasuk - negara-negara yang merupakan bagian dari Uni Soviet, di mana mobil yang kompatibel dengan Spectrum diproduksi dalam jumlah sekitar satu juta kopi (dalam hal apa pun, lebih dari BC, DCK, dan UKNT, jika digabungkan).



Daftar klon terkenal yang menakjubkan - di sini... "Keterbukaan" arsitektur (dari sudut pandang besi solder - dan tanpa besi solder, klon kami bahkan bermasalah untuk disambungkan ke TV) mengubah Spektrum ZX menjadi platform yang sangat canggih, dengan atipikal untuk platform 8-bit lainnya (yang sudah mati atau berbasis alkohol) megabyte, megahertz, hard drive dan kartu jaringan.



ZX Spectrum masih berfungsi sebagai platform untuk game indie (lihat pertarungan game Yandex Retro dan kontes Your Game 6 yang sedang berlangsung , batas waktunya telah diperpanjang hingga 1 Desember ), tetapi pengembangan jarang terjadi dalam format aslinya, karena e. di Spectrum itu sendiri. Hal ini disebabkan, antara lain, oleh fakta bahwa lingkungan pengembangan asli ditulis di bawah TR-DOS di tahun 90-an dan 2000-an, mereka tertinggal dalam kehidupan, dan tidak ada hal baru yang menggantikan mereka.



Kebutuhan akan sistem operasi



Sistem operasi untuk Spectrum telah dibuat sejak lama. Sistem operasi, yang berada di ROM, memungkinkan Anda untuk menulis dalam BASIC dan bermain-main dengan pita magnetik. Sistem operasi disk TR-DOS, GDOS, + 3DOS, dll. menambahkan perintah untuk bekerja dengan floppy disk di BASIC, tetapi hanya TR-DOS yang memperoleh utilitas serius, dan bukan karena antarmuka BASIC yang agak canggung, tetapi karena titik masuk yang terdokumentasi (dan tidak demikian) ke ROM TR-DOS.



Terlepas dari beberapa versi CP / M (yang awalnya tidak ditulis untuk Spectrum dan tidak menggunakan kemampuannya pada nilai sebenarnya), Spectrum OS serius pertama adalah iS-DOS tugas tunggal ( satu , dua , tiga , arsip), dikembangkan di St. Petersburg pada awal tahun 90-an. Ini "di luar kotak" menyediakan komandan dan sistem file dengan subdirektori (tidak kompatibel dengan apa pun), editor teks dengan ukuran berapa pun, banyak disk utilitas dan kemampuan untuk berkembang dengan penghuninya. Sayangnya - ekstensi hanya ada di dalam jendela RAM 48K. Versi pertama iS-DOS berisi 41K untuk seluruh sistem, penduduk dan program pengguna, sisa ruang RAM ditempati oleh layar 6912 byte.





iS-DOS di habitat alami



Versi terbaru, masih dirilis dengan nama TASiS ( satu , dua ) dan diasah di bawah klon ATM-Turbo 2+, memungkinkan Anda untuk memperluas ke seluruh ruang alamat 64K, menghapus layar dari memori dan beralih halaman RAM, tetapi inti dari sistem masih tetap berada di ruang alamat. (Hal yang sama berlaku untuk CP / M - dalam semua versi yang diketahui, sistem menempati alamat teratas dan tidak bisa dihancurkan.)



Upaya lain telah dilakukan untuk menulis OS. Sayangnya, tidak satupun dari sistem operasi ini menerima distribusi yang nyata, dan banyak yang tidak selesai sama sekali.



IS-DOS yang telah disebutkan telah menyebar di St. Petersburg dan Moskow. Perkiraan analog fungsional iS-DOS pada disk TR-DOS - X-DOS - tetap berada di Kirov.





X-DOS dan baris perintahnya Sistem



multi-jendela DOMEN OS / Pink Floyd , juga dari St. Petersburg, tidak memenuhi status yang dapat digunakan. Secara khusus, itu tidak mendukung hard drive, dan tidak ada alat pengembangan di dalamnya.





OS DOMAIN dan dokumentasinya dalam HTML



Sistem OS DNA Kharkiv , terutama diarahkan untuk menyalin file, membawa beberapa keuntungan bagi pemilik "sekrup", tetapi "perangkat lunak untuk sekrup" tidak pernah muncul di dalamnya.





DNA OS dan file managernya



Moscow NK-DOS , persaudaraan NeOS , Grodno DOORS \ AQUA dan Saransk ZX-OS / ZXRTK tidak dapat hidup untuk melihat rilis yang layak . Dari OS multitasking, yang paling dekat dengan pengguna adalah MythOS multi-jendela (Dnepropetrovsk) dan ChaOS (Taganrog), tetapi mereka juga mengakhiri hidup mereka dalam sumber - juga tanpa dukungan untuk hard drive dan tanpa alat pengembangan.





MythOS dan konsolnya





ChaOS dan chaosnya



Mengapa ada begitu banyak kegagalan?



Persyaratan perangkat keras untuk sistem operasi multitasking



Masalah dengan semua sistem operasi awal untuk Spectrum adalah bahwa pengembang mencoba memastikan kompatibilitas maksimum kreasi mereka. Misalnya, di iS-DOS - dengan mesin yang dimulai dengan ZX Spectrum 48K (dengan floppy drive atau HDD), dan pada sebagian besar sistem berikutnya - dengan ZX Spectrum 128K. Ini meninggalkan tanda yang tak terhapuskan pada alokasi memori.



Faktanya adalah bahwa pada mesin 48K, total ruang alamat Z80 dari 65536 byte dibagi menjadi 2 bagian: 48K RAM (6912 byte di antaranya dikonsumsi oleh layar, yang menyisakan 41 kilobyte untuk yang lainnya) dan 16K ROM BASIC, yang sangat bermanfaat bagi OS tidak. Segalanya bernasib lebih baik di 128K, tapi tidak banyak. Layar dari ruang alamat Z80 dapat dihapus di sana (dengan memilih penyangga video kedua), tetapi Anda dapat mengganti halaman RAM hanya di bagian atas (dari alamat 0xc000) dari ruang alamat. 32K RAM yang tersisa tidak dapat dialihkan. Dan 16K yang lebih rendah dan terus berisi ROM yang tidak diperlukan untuk sistem operasi. Tentu saja 128K berpemilik memungkinkan perangkat eksternal (seperti LEC Memory Extension , DISCiPLE / + D , MB-02) ganti 16K yang lebih rendah, dan turunannya, mulai dari +3 , biasanya memiliki satu atau beberapa port bawaan untuk ini (paling sering hanya satu halaman RAM yang tersedia di sana), tetapi setengah dari memori yang dapat dialamatkan masih tidak dapat diubah dengan pengalihan tugas.



Bayangkan Anda sedang menulis editor teks atau grafik untuk sistem operasi untuk ZX Spectrum 128K. Jelas, 16K atas terlalu kecil untuk teks atau ilustrasi (kita tidak berbicara tentang "layar" standar 6912 byte), dan Anda juga harus terus-menerus memuat file dari disk (yang lambat dan tidak nyaman), atau menyebarkan dokumen ke halaman-halaman. Di mana, dalam kasus ini, akankah kode editor itu sendiri, variabel dan tumpukannya ditempatkan? Bukan di RAM 16K teratas, karena itu dokumennya. Bukan di 16K bawah, karena kemungkinan besar ada ROM. Ternyata semua tugas harus berbagi satu blok umum RAM 32K. Penghuni yang direlokasi, dibagi, katakanlah, masing-masing 256 byte, prosedur panggilan dari RAM atas, penduduk terpisah memanggil buffer untuk bekerja dengan data, tumpukan juga dibatasi hingga 256 byte ...Ini sangat merepotkan pengembang. Hasil: hanya penulis sendiri yang menulis untuk sistem seperti itu, dan mereka hanya memiliki sekering yang cukup untuk satu atau dua tahun, yang bahkan tidak cukup untuk menciptakan lingkungan pengembangan.



Jadi, untuk sistem multitasking yang nyaman pada Spectrum, penting untuk memiliki halaman RAM yang dapat diganti di setiap kuartal (pilihan 16K kuartal adalah tradisional untuk Speccy) dari ruang alamat Z80. Ada beberapa sirkuit Spectrum yang dapat melakukan ini: ini adalah "ZX-MMU" yang sedikit diketahui dari fk0 (2000) dan ATM-Turbo 2 (+) (1992, 1993) yang kurang lebih umum :





Dari dokumentasi. Set bit 6 memungkinkan kontrol melalui port # 7ffd (ROM TR-DOS secara otomatis menggantikan ROM 48 BASIC saat menjalankan kode di # 3dxx), jika tidak, bit 7 hanya akan menyalakan halaman ROM yang ditentukan. "ROM2" adalah bit 4 dari port # 7ffd, itu selalu berfungsi.



Banyak pembuat sistem operasi percaya bahwa persyaratan untuk subsistem memori agar dapat mengalihkan segalanya akan sangat membatasi jumlah pengguna, dan tidak menerimanya. Hasilnya, mereka mendapatkan sekitar 0 pengguna - karena kurangnya perangkat lunak.



Perkembangan dari



Latar Belakang; apa itu NedoPC



Pada 2002-2003, gerakan NedoPC lahir di hamparan tiga benua, yang secara singkat bisa diibaratkan sebagai… um… perkembangan komputer dari sarana improvisasi. Dan NedoPC memulai dengan apa yang orang lain telah selesaikan pada saat itu - untuk memproduksi Spectrum dan perangkat untuk mereka. Dan sebagai Spectrum mereka mengambil Turbo 2+ yang sama (1993) - keturunan dari ATM-Turbo 2 (1992) yang merupakan keturunan dari ATM-Turbo (1991) yang merupakan keturunan dari Pentagon 128 (1990) yang dikenal di kalangan sempit sebagai ATM 128 (sejarah perjuangan perusahaan di tahun 90-an yang gagah dapat ditemukan dalam deskripsi Honey Commander'y). Pada suatu waktu, Turbo 2+ (di mana penunjukan ATM sudah secara otomatis macet, seperti pada versi sebelumnya) hampir dimaksudkan untuk menggantikan PC IBM dari konfigurasi sebelumnya - dengan HDD (kemudian CD-ROM), analog dari EGA, keyboard XT (kemudian AT), port COM, DAC, ADC (yang juga berperan sebagai modem), dan game "Prince of Persia" dan " Gobliiins ", yang benar-benar benar dari versi PC (saya tidak menyebutkan semua perangkat lunak, ada banyak). Tetapi sebagian dari skema cerdik disembunyikan di PLM, itulah sebabnya sangat sedikit orang yang dapat menyalinnya. Di Ukraina yang luas, rumor terdengar tentang mengganti PLM dengan ROM dan tentang menyalin pengontrol HDD terpisah, tetapi secara umum, komputer di tahun 90-an jauh lebih jarang daripada Pentagon. Untungnya, belakangan para pengembang Turbo 2+ - perusahaan MicroART - menyumbangkan semua dokumentasi untuk penggunaan gratis.



Hampir seketika, beberapa pengembang perangkat lunak ditarik ke orbit NedoPC, dan mereka berbicara tentang sistem operasi. Jika tidak, jawaban atas pertanyaan "ke mana kita harus berlayar" tidak berhasil. Buah pertama dari pemikiran keras pada tahun 2005 adalah sistem TASiS yang telah disebutkan, di mana kode sumber iS-DOS diperoleh.



Secara paralel, pada tahun 2007, salah satu penulis artikel ini membuat karakter virtual SMAN, yang sedang mengembangkan sistem operasi multitasking. Dan ya, itu juga melewati fase Resident in Lower RAM. Tahap ini berlangsung selama bertahun-tahun, pada 2016-2017 sebuah kompiler untuk bahasa C-like NedoLang ditulis , yang cocok dengan 48K (juga kompilasi untuk ARM Thumb). Simpul Gordian terputus hanya dengan penampilan editor grafis Scratch (2018).





Gores dan menunya



Pilihan pada tahun 2018 sudah mudah: kompatibilitas dengan ATM-Turbo 2+ tersedia untuk semua pengguna - jika tidak pada perangkat keras asli dan bukan pada ZX Evo dan Pentagon 2.666LE NedoPC, lalu pada ATM3 dari Zorel atau setidaknya di emulator (Unreal Speccy, Xpeccy, ZXMAK2, Es.pectrum, dll.).





Turbo 2+ (1993, tetapi papannya jelas lebih baru)





Pentagon 2.666LE (2009), mobil yang sangat langka





ZX Evolution (2009), dapat dibeli di semua toko roti





ATM3 (2017), Anda bisa mendapatkannya hanya dengan kenalan atau membuatnya sendiri.Sejak



saat itu, sistem bernama NedoOS dan mulai berkembang secara eksplosif.



Perlu dicatat bahwa untuk mengekang fantasi pada tahap awal ledakan ini, sistem ini dibangun terutama pada perintah yang kompatibel dengan CP / M dan MSX-DOS. Hingga saat ini, daftar perintah dibagi menjadi tiga bagian: kompatibel dengan CP / M (sekarang ada 13, penggunaannya tidak disarankan karena sistem FCB yang tidak nyaman), kompatibel dengan MSX-DOS (ada 11, di sana nama file sudah dalam teks, dan sebagai gantinya Struktur FCB menggunakan angka - pegangan) dan tidak kompatibel (kebanyakan non-file, sekarang ada 48, tetapi beberapa direncanakan untuk dihapus).



Sistem pengembangan saat ini



Kode sumber NedoOS masih belum disesuaikan untuk kompiler yang tersedia pada sistem (NedoLang dan assemblernya NedoAsm, Turbo Pascal dan BDS C). Sejauh ini hanya 5 utilitas yang dikompilasi secara internal. Dan bagian utama dari paket ini dibangun di PC menggunakan SjASMPlus (kode utama) dan Z80 IAR C (sistem file FatFs dan beberapa utilitas).



File-file tersebut dihosting di server SVN khusus dan terdiri dari sumber, rilis biner, dan kumpulan alat untuk membangun di PC.



Sistem dirakit dengan satu tombol (file batch atau Makefile - dua sistem build). Anda juga dapat mengumpulkan salah satu target secara terpisah (untuk HDD, SD-card, dll.) Dengan satu tombol dan segera memulai emulator. Anda dapat mengumpulkan setiap utilitas secara terpisah dengan kemeja tubuh bagian bawah. Kedua sistem build ini terjadi karena beberapa pengembang NedoOS menggunakan Windows dan beberapa di Linux.



Selain kompiler, ada juga prosesor perintah cmd.com (dapat mengeksekusi * .bat) dan interpreter NedoBasic yang ditulis dari awal dengan kemampuan grafis.





NedoLang mengkompilasi sendiri



Sistem arsitektur



Perangkat kernel



Bagian dari NedoOS yang terlihat oleh program pengguna adalah serangkaian panggilan di area memori 0x0000..0x0038, yang disebut kernel. Panggilan terakhir adalah penangan interupsi 50 Hz, diikuti oleh baris perintah dengan parameter untuk program dengan 0x0080. Perangkat kernel masih kompatibel dengan CP / M (panggilan melalui 0x0005), tetapi kami perlahan-lahan menjauh dari ini (panggilan CP / M hanya digunakan di 4 program dari 58). Semua panggilan sistem diatur sebagai makro (program menggunakan modul /src/_sdk/sys_h.asm dengan makro dan konstanta ini) dan dapat dimodifikasi secara signifikan saat OS berkembang. Konsekuensi dari hal ini adalah kebutuhan untuk membangun kembali seluruh sistem dan perangkat lunak aplikasi jika terjadi perubahan pada makro ini - tetapi, seperti yang telah kita lihat, ini dilakukan dengan satu tombol.



Bagian dalam NedoOS tersimpan di halaman RAM dan berisi:





Semua driver dikompilasi ke dalam kernel, jadi ada beberapa "target" berbeda untuk membangun sistem ( ATM2 , ATM2 + HDD , ATM3 , ZX Evo , Pentagon 2.666LE ).



Penangan interupsi, yang terletak di ruang pengguna, terlihat seperti ini:



        push af
        push bc
        push de
user_fdvalue6=$+1
        ld a,fd_system ;    
        out (0xfd),a ;    (      ),        
;---------
;    :
;bc=memport0000
;d=pgmain
        out (c),d ;may switch this code page
curpg16k=$+1
        ld a,0
        ld b,memport4000/256
        out (c),a
curpg32klow=$+1
        ld a,0
        ld b,memport8000/256
        out (c),a
curpg32khigh=$+1
        ld a,0
        ld b,memportc000/256
        out (c),a
        pop de
        pop bc
        pop af
        ei
        ret


Peralihan tugas terjadi dalam lingkaran (tugas yang dibekukan dilewati), belum ada prioritas. Tetapi tugas idle dijalankan hanya ketika semua orang dibekukan, atau dalam frame saat ini yang mereka sebut YIELD (makro sistem YIELD - untuk memberikan waktu kepada sistem hingga interupsi berikutnya, makro sistem YIELDKEEP - untuk memberikan waktu kepada sistem dengan kemampuan untuk mengembalikan kontrol kapan saja).



Tugas dapat mengubah penangan interupsi, dimungkinkan dengan kembali ke sana dan kode arbitrer setelahnya. Ada beberapa rekomendasi dan contoh untuk ini.



Sistem terminal



Tugas dibagi menjadi tiga jenis:



  1. mereka yang tidak membutuhkan layar sama sekali,
  2. mereka yang terminal teksnya cukup,
  3. grafis - dengan layarnya sendiri dari resolusi yang diperlukan dan paletnya sendiri.


Di NedoOS, selain konsep tugas saat ini, ada konsep "fokus" (akses ke keyboard, mouse, dan layar). Fokus antar tugas dialihkan secara manual (dengan kombinasi Simbol Shift + Enter) atau secara otomatis (saat Anda menghidupkan grafik, mematikan grafik atau menutup tugas).



Tugas seperti (1) tidak pernah fokus. Selain itu, tugas tipe (2) juga tidak menerima fokus; sebagai gantinya, fokus berada pada terminal teks yang dilampirkan. Dan mereka diikat melalui aliran stdin dan stdout, di mana huruf, angka, coretan dan kode dari terminal VT-100 berjalan dengan beberapa tambahan. Stdin dan stdout diimplementasikan melalui pustaka stdio.asm sebagai antrian (pipa). Di kernel, antrian memiliki buffer 255 byte. Fungsi tulis dan baca dari antrian mengembalikan seberapa banyak yang sebenarnya dibaca atau ditulis (seperti untuk file) dan apakah antrian ditutup di ujung lain. Aliran ini diwarisi dari ayah ke anak. Tetapi pada akhirnya semuanya ditampilkan oleh terminal term.com, yang dapat di-scroll dan bahkan di-copy-paste. Ada juga server jaringan Telnet netterm.com. Netterm.com ini tidak perlu dijalankan, tetapi term.com dimulai secara otomatis saat sistem dimulai.





Nedovigator di terminal, dan terminal digulir dengan roda mouse



Untuk tugas seperti (3), tentu saja, tidak ada pertanyaan menggambar piksel melalui sistem - tidak ada cukup Z80 megahertz untuk ini (sebagian besar pengguna hanya memiliki 14 di antaranya). Oleh karena itu, perlu dilakukan penggambaran melalui memori. Dan karena hanya ada dua area layar di ATM (seperti pada 128K), hanya satu tugas yang dapat memiliki halaman layarnya sendiri. Halaman-halaman layar dicegat ketika fokus diubah, dan alih-alih tugas pecundang diberi nomor halaman palsu - halaman yang dapat dengan mudah rusak. Saat tugas menerima fokus, ia menerima pesan terpisah tentangnya, seolah-olah dari keyboard, tetapi tidak sesuai dengan tombol sebenarnya. Ini memungkinkan tugas memulihkan layar tepat waktu. Tugas lain dapat mengaktifkan mode ketika sistem itu sendiri menyimpan layar untuk itu dan memulihkannya.



Garis komando



Fungsi baris perintah diimplementasikan oleh utilitas cmd, yang diluncurkan secara otomatis saat startup sistem. Lebih tepatnya, tugas idle pertama menjalankan istilah dengan parameter cmd.com autoexec.bat. Ini berarti cmd akan menjalankan file batch yang ditentukan. Perintah yang tertulis di sana dijalankan secara berurutan. Secara default, perintah dieksekusi menunggu akhir, tetapi jika perintah tersebut adalah awal program, maka Anda dapat meletakkan start di depannya - program akan berjalan di latar belakang (hanya ini tidak kompatibel dengan konsep pewarisan stdin dan stdout - data dalam antrian dapat dicampur).



Setelah akhir operasi ditentukan dalam parameter (jika ada parameter sama sekali), cmd biasanya keluar. Pengecualian hanya tersisa untuk autoexec.bat, sehingga setelah itu berakhir, Anda tidak akan tertinggal dengan palung yang rusak. Namun, dalam hal ini menganggur menunggu penekanan C + M + D secara bersamaan dan dapat memulai kembali istilah dengan cmd.



Baris perintah mirip dengan MS-DOS. Anda dapat mengarahkan output dari operasi yang sedang berjalan ke file (misalnya, dir> nama file) atau ke program lain (misalnya, dir | more.com), Anda dapat mengarahkan input (misalnya, more.com <nama file). Tapi perangkaian belum didukung.



Untuk pekerjaan yang lebih nyaman dengan file, digunakan komandan Nedovigator (nv.com).





Kitty, karena Anda sudah melihat Nedovigator



Penempatan sistem



Harus diklarifikasi bahwa setiap sistem file yang kita miliki dipasang ke huruf tertentu, sehingga jalurnya terlihat seperti m: /bin/filename.txt. Antrian memiliki huruf z: mount, tetapi sejauh ini mereka dibuka tanpa nama - koneksi antar tugas adalah dengan meneruskan nomor antrian (pegangan).



Untuk menghindari bootloader khusus seperti GRUB, NedoOS berharap ROM komputer memiliki kemampuan untuk meluncurkan file trunk (*. $ C) dari perangkat yang diinginkan - misalnya, di ZX Evo dengan browser file atau dengan menekan tombol 5 di menu utama, dan di Pentagon 2.666 LE - melalui mesin fotokopi built-in Fatall... Jika tidak, Anda harus mem-boot OS dari disket TR-DOS. File sistem terletak di direktori / bin dari disk sistem, permainan ada di / nedogame. File game tambahan biasanya terletak di subdirektori game dengan nama yang sama: misalnya, game berwarna NedoOS /nedogame/br.com ( Black Raven ) juga memiliki direktori / nedogame / br dengan grafik, musik, dan level.





Gagak berwarna



Peluang saat ini



Memori: hingga 4M RAM didukung (dapat dikonfigurasi dalam sistem build), memori dialokasikan untuk tugas-tugas sesuai permintaan di halaman 16K, tugas dapat mengembalikannya ke sistem itu sendiri. Karena kurangnya perlindungan memori di perangkat keras, semua memori dapat dianggap digunakan bersama. Secara default, halaman dialokasikan dari awal memori, tidak termasuk beberapa halaman sistem. Swap tidak didukung (ini dianggap pada tahap awal, tetapi memerlukan penomoran ulang halaman, yang akan sangat mengurangi kinerja tugas umum).



Multitasking:menggusur (dengan gangguan 50 Hz) dan koperasi; hingga 16 tugas dapat dijalankan secara bersamaan (salah satunya idle, dapat dihapus, tetapi YIELD tidak memberikan jaminan); Anda dapat mengganti pemutar musik Anda ke dalam pengendali interupsi sistem - ini akan dijalankan dalam konteks kernel dengan tiga halaman pengguna (Anda belum dapat mengaktifkannya dengan cepat). Tugas dapat dibekukan (jika baru saja dibuat, dihapus, atau menunggu anak). Anda dapat melihat daftar tugas di cmd, aktivitas mereka dan keberadaan mode grafis, menghapus dari eksekusi (ini membebaskan halaman mereka, catatan file FatFs dan soket jaringan).



File:hingga 16 file FAT, 8 file TR-DOS dan 8 antrian dapat dibuka secara bersamaan. Anda dapat membaca dan menulis banyak file pada saat yang sama (penting untuk kompiler) - bahkan pada floppy disk! Anda dapat membaca parameter file, penunjuk ke posisi saat ini, mengubah posisi ini, membuat dan mengganti nama direktori. Antrian mengasumsikan dua tugas pengguna, mereka harus dibuka satu kali (saat pembuatan), tetapi ditutup dua kali. Operasi file dilakukan dalam konteks kernel, saat ini penjadwal tugas tidak berfungsi, tetapi prosesor musik sistem sedang berjalan.



Jaringan:Protokol ICMP, TCP, UDP, hingga 8 soket secara bersamaan. Ada utilitas ping, time, telnet, netterm (Telnet server), dmirc (IRC client), dmftp (FTP client) 3ws (Web server untuk menyalin dan menjalankan file dari jarak jauh), NedoBrowser (browser teks dengan kemampuan untuk melihat gambar secara terpisah jpg, gif, png, bmp dan svg - dua format terakhir dengan batasan; mendukung protokol http dan gopher, https melalui proxy), wget (unduhan file latar belakang, dijalankan dari browser, dapat secara otomatis mulai melihat grafik dan pemutar musik).





NedoBrowser sedang mencari sesuatu di Internet



Bekerja dengan arsip: .tar dan .rar tersedia untuk membaca dan menulis (ZXRar adalah analog Rar 2.x untuk DOS - tanpa sejumlah kode, arsip solid, format multimedia dan enkripsi, ZXUnRar mendukung semua kode dan arsip padat, tetapi juga tidak mendukung multimedia dan enkripsi), .gz dan .zip bersifat hanya baca. Sejauh ini, semuanya hanya melalui utilitas baris perintah.



Jenis dokumen: asosiasi file terdaftar untuk built-in Nedovigator commander di file nv.ext. File ini sekarang terlihat seperti ini:



bmp:scratch.com
bat:cmd.com
txt,new,ext,ini,nfo,diz:texted.com
gif,jpg,png,htm,svg:browser.com
tfc,pt2,pt3,mt3,m  :player.com (pt3     Pro Tracker  NedoOS)
bas:basic.com
zip,gz :pkunzip.com
trd,scl,fdi,tap:dmm.com ( TR-DOS   —    ZX Evo   ,   ,      Magic;   , ,         )
16c,scr,fnt,img,3  ,888,y  ,+  ,-  ,plc,mc ,mcx,grf,ch$,mg1,mg2,mg4,mg8,rm ,mlt:view.com
mod:modplay.com
tar:tar.com
sna,b  ,z80:nmisvc.com
rar:unrar.com


Ada juga selusin game yang tersedia, termasuk emulator Super Mario (membutuhkan penumpukan kartrid untuk bekerja), sebuah lukisan oleh Eric dan Floaters, sebagian pelabuhan Musim Panas Tanpa Akhir, dan jaringan Snake.



Rencana



  • Perluasan fungsionalitas file batch (parameter sudah ditransfer)
  • IDE dan hosting mandiri
  • Lapisan di editor grafis
  • ...


Kesimpulan



Saat ini, NedoOS memiliki semua fungsi tulang punggung yang diperlukan, jadi jika Anda memiliki perangkat keras yang diperlukan, sistem akan lebih nyaman digunakan daripada tidak digunakan.



Namun masih banyak pekerjaan yang harus dilakukan. Semakin banyak pengembang yang bergabung dalam proyek, semakin mendekati ideal.





Sebagian besar pengembang NedoOS tinggal di kanal IRC #mhm di irc.forestnet.org (juga tersedia melalui http://chat.forestnet.org/ ). Ada saluran Twitch malam (dengan cermin YouTube). Dari situs web NedoOS Anda dapat mengunduh versi stabil dan sumber baru .



All Articles