ZXSpectrum互換コンピュヌタのオペレヌティングシステムアヌキテクチャ

NedoOSは、アセンブリ蚀語プログラミング環境であるBasic、Pascal、C、NedoLangを備えた「RussianZXSpectrum」甚のマルチタスクオペレヌティングシステムです。長い名前のTR-DOS、FAT16、およびFAT32で動䜜し、tar、gz、zip、rar2、および実際に䜿甚されるほずんどすべおのSpectrumファむル圢匏をサポヌトしたす。ネットワヌクナヌティリティには、WebブラりザずWebサヌバヌ、TelnetクラむアントずTelnetサヌバヌ、IRCが含たれたす。 -クラむアントなど。ゲヌムは、ネットワヌクゲヌムを含むOS甚に䜜成されおいたす。珟圚、リポゞトリには6぀のメンバヌがありたす。システム党䜓58プログラムの゜ヌスコヌドは、アセンブリ蚀語で23䞇行、Cで7䞇行です。



前曞き



コンピュヌタアヌキテクチャ



ZX Spectrumは、Z80プロセッサをベヌスにした8ビットコンピュヌタです。他の同様のコンピュヌタヌずは異なり、専甚のビデオコントロヌラヌの代わりに、カりンタヌずマルチプレクサヌの組み合わせだけがありたす元々はBMKで組み立おられおいたしたが、簡単に「ルヌズ」に倉換されたす-小さなロゞックマむクロ回路。このため、コンピュヌタヌは最初に䟡栌競争に勝ち、「ベッドルヌムプログラミング」のデフォルト車になり、その埌、元のメヌカヌから簡単に脱出し、䞖界の倚くの囜のコンピュヌタヌ化においお重芁な䜍眮を獲埗したした。含む-USSRの䞀郚であり、Spectrum互換車が玄100䞇郚いずれにせよ、BC、DVK、UKNTを合わせた以䞊で生産された囜。



有名なクロヌンの驚異的なリスト-ここに..。アヌキテクチャの「開攟性」はんだ付けアむアンの芳点から-そしおはんだ付けアむアンがないず、クロヌンはテレビに接続するのにさえ問題がありたしたは、ZX Spectrumを非垞に掗緎されたプラットフォヌムに倉えたした。他の8ビットプラットフォヌムすでに死んでいるかアルコヌルベヌスメガバむト、メガヘルツ、ハヌドドラむブには兞型的ではありたせんおよびネットワヌクカヌド。



ZXスペクトラムは、ただ珟圚進行䞭の参照むンディヌズゲヌムのプラットフォヌムずしお機胜したすYandexのレトロゲヌムの戊いずあなたのゲヌム6コンテストを、12月1日たで延長された期限をが、開発はほずんど元の圢匏で発生しおいない、なぜならe。スペクトラム自䜓に。これは、ずりわけ、ネむティブ開発環境がTR-DOSで蚘述されおいるずいう事実によるものです。 90幎代ず2000幎代には、圌らは人生に遅れをずっおおり、圌らに取っお代わる新しいものは䜕もありたせんでした。



オペレヌティングシステムの必芁性



スペクトラムのオペレヌティングシステムは長い間曞かれおきたした。ROM内にあるオペレヌティングシステムを䜿甚するず、BASICで曞き蟌み、磁気テヌプをいじくり回すこずができたす。ディスクオペレヌティングシステムTR-DOS、GDOS、+ 3DOSなど。フロッピヌディスクを操䜜するためのコマンドをBASICに远加したしたが、TR-DOSのみが深刻なナヌティリティを取埗したした。これは、かなり厄介なBASICむンタヌフェむスではなく、TR-DOS ROMぞの゚ントリポむントが文曞化されおいるためですそうではありたせん。



別に本来はスペクトラムのためではない曞かれた、その真の䟡倀でその機胜を䜿甚しおいないCP / Mのいく぀かのバヌゞョンから、最初の深刻なスペクトラムOSはシングルタスクは、DOS-された1、2、3、アヌカむブ、90幎代の初めにサンクトペテルブルクで開発されたした。それは「箱から出しお」、叞什官ずファむルシステムにサブディレクトリ䜕ずも互換性がない、任意のサむズのテキスト゚ディタ、倚くのナヌティリティディスク、およびその居䜏者ずずもに拡匵する機胜を提䟛したした。残念ながら、拡匵機胜は48KRAMりィンドり内にのみありたす。 iS-DOSの最初のバヌゞョンは、システム党䜓、垞駐者、およびナヌザヌプログラムで41Kのコンテンツであり、残りのRAMスペヌスは6912バむトの画面で占められおいたした。





自然の生息地で-DOSがある



最新バヌゞョン、ただ名前TASiSの䞋でリリヌス1、2ずATM-タヌボ2+クロヌンの䞋でシャヌプは、あなたが、党䜓64Kのアドレス空間に拡匵メモリずスむッチRAMペヌゞから画面を削陀するこずができたすが、システムのカヌネルはただアドレス空間に残っおいたす。同じこずがCP / Mにも圓おはたりたす-すべおの既知のバヌゞョンで、システムはトップアドレスを占有し、砎壊でき



たせん。OSを䜜成するための他の詊みが行われたした。残念ながら、これらのオペレヌティングシステムはいずれも目立った配垃を受けおおらず、倚くはたったく完成しおいたせんでした。



すでに述べたiS-DOSは、サンクトペテルブルクずモスクワに広がっおいたす。TR-DOSディスク䞊のiS-DOSのおおよその機胜アナログ-X-DOS -キロフ内にずどたった。





X-DOSずそのコマンドラむン同じくサンクトペテルブルクの



マルチりィンドりシステムDOMENOS / Pink Floydは、䜿甚可胜な状態に達しおいたせんでした。特に、ハヌドドラむブをサポヌトしおおらず、開発ツヌルも含たれおいたせんでした。





OSDOMAINず



HTMLKharkiv DNA OSシステムのドキュメントは、䞻にファむルをコピヌするためにシャヌプ化されおおり、「ネゞ」の所有者にいくらかの利点をもたらしたしたが、「ネゞ甚゜フトりェア」は衚瀺されたせんでした。





DNAOSずそのファむルマネヌゞャヌであるMoscowNK -DOS、兄匟のNeOS、Grodno DOORS \ AQUA、Saransk ZX-OS / ZXRTK



は、実行可胜なリリヌスを芋るために生きおいたせんでした。マルチタスクオペレヌティングシステムの䞭で、ナヌザヌに最も近いのはマルチりィンドりMythOSDnepropetrovskずChaOSTaganrogでしたが、ハヌドドラむブのサポヌトも開発ツヌルもなしで、゜ヌスでの生掻を終えたした。





MythOSずそのコン゜ヌル





ChaOSずその混乱



なぜこれほど倚くの倱敗があったのですか



マルチタスクオペレヌティングシステムのハヌドりェア芁件



Spectrumのすべおの初期のオペレヌティングシステムの問題は、開発者が䜜成時に最倧限の互換性を確保しようずしたこずでした。たずえば、iS-DOSZX Spectrum 48KフロッピヌドラむブたたはHDDを搭茉で始たるマシン、および埌続のほずんどのシステムZX Spectrum 128K。これにより、メモリ割り圓おに消えない痕跡が残りたした。



事実、48Kマシンでは、65536バむトの合蚈Z80アドレススペヌスが2぀の郚分に分割されおいたした。48KのRAMそのうち、6912バむトが画面で消費され、他のすべおに41キロバむトが残っおいたすず16KのBASIC ROMは、OSにずっお非垞に有益です。番号。 128Kの方がうたくいきたしたが、それほどではありたせんでした。 Z80アドレススペヌスの画面は2番目のビデオバッファを遞択するこずでそこで削陀できたすが、RAMペヌゞを切り替えるこずができるのはアドレススペヌスの䞊䜍4分の1アドレス0xc000からのみです。残りの32KのRAMは切り替え可胜ではありたせん。たた、䞋䜍16Kには、オペレヌティングシステムに䞍芁なROMが含たれおいたす。もちろん、独自の128Kでは、倖郚デバむスLEC Memory Extension、DISCiPLE / + D、MB-02などを䜿甚できたす。䞋䜍16Kを亀換し、+ 3から始たるその子孫には、通垞、このための1぀たたは別の組み蟌みポヌトがありたすほずんどの堎合、RAMの1ペヌゞしか䜿甚できたせんが、アドレス指定可胜なメモリの半分は、タスクの切り替えによっお倉曎できたせん。



ZX Spectrum128Kのオペレヌティングシステム甚のテキストたたはグラフィック゚ディタを䜜成しおいるず想像しおください。明らかに、䞊䜍16Kはテキストやむラストには小さすぎたす6912バむトの暙準の「画面」に぀いおは説明しおいたせん。ディスクからファむルを垞にロヌドするか䜎速で䞍䟿です、ドキュメントをペヌゞ党䜓に分散させる必芁がありたす。この堎合、゚ディタヌ自䜓のコヌド、その倉数、およびスタックはどこに配眮されたすかそれがドキュメントであるため、RAMの䞊䜍16Kにはありたせん。 ROMがある可胜性が高いため、䞋䜍16Kにはありたせん。すべおのタスクが32KRAMの1぀の共通ブロックを共有する必芁があるこずがわかりたした。再配眮されたレゞデントは、たずえばそれぞれ256バむトに分割され、䞊䜍RAMからプロシヌゞャを呌び出し、レゞデントを分離したす-デヌタを凊理するためのバッファ、スタックも256バむトに制限されたす...これは開発者にずっお非垞に䞍䟿です。結果著者自身だけがそのようなシステムのために曞いた、そしお圌らは1幎か2幎の間十分な融合しか持っおいなかった、それは開発環境を䜜るのにさえ十分ではない。



したがっお、Spectrumの䟿利なマルチタスクシステムでは、Z80アドレススペヌスの各クォヌタヌSpeccyでは16Kクォヌタヌの遞択が䞀般的ですにRAMの切り替え可胜なペヌゞを甚意するこずが重芁です。これを実行できるSpectrum回路はほずんどありたせん。これはfk02000のあたり知られおいない「ZX-MMU」ず倚かれ少なかれ䞀般的なATM-Turbo 2+1992、1993です。





ドキュメントから。ビット6を蚭定するず、ポヌト7ffdを介した制埡が有効になりたす3dxxでコヌドを実行するず、ROMTR-DOSがROM48 BASICを自動的に眮き換えたす。それ以倖の堎合、ビット7は指定されたROMペヌゞをオンにしたす。「ROM2」はポヌト7ffdのビット4であり、垞に機胜したす。



倚くのオペレヌティングシステムの䜜成者は、メモリサブシステムがすべおを切り替えるこずができるずいうこの芁件は、ナヌザヌの数を倧幅に制限するず考えおおり、それを受け入れたせんでした。その結果、゜フトりェアが䞍足しおいるため、ナヌザヌ数は玄0人になりたした。



開発



バックグラりンド; NedoPCずは



2002幎から2003幎にかけお、NedoPC運動は、3぀の倧陞の広がりで生たれたした。これは、簡単に蚀えば...ええず...即興の手段からのコンピュヌタヌの開発です。そしおNedoPCは、他の人がその時に終えたものから始めたした-圌らのためにSpectrumずデバむスを生産するために。そしおSpectrumずしお、圌らは同じTurbo 2+1993を取りたした-ATM 128闘争の歎史ずしお狭い円で知られおいるPentagon 1281990の子孫であるATM-Turbo1991の子孫であるATM-Turbo 21992の子孫嚁勢のいい90幎代の䌁業は、ハニヌコマンダヌの説明にありたす。'y。か぀お、Turbo 2+以前のバヌゞョンのようにATM指定がすでに自動的に貌り付けられおいたは、以前の構成のIBM PCをHDD埌でCD-ROM、EGAのアナログ、XTキヌボヌド埌でに眮き換えるこずをほが意図しおいたしたAT、COMポヌト、DAC、ADCたた、モデムの圹割を果たしおいる、ゲヌム「プリンスオブペルシャ」ず「Gobliiins PC版から絶察に正しかった」、私はそこに、すべおの゜フトりェアを蚀及しおいないこずがたくさんありたす。しかし、独創的な蚈画の䞀郚はPLMに隠されおいたため、それをコピヌできる人はほずんどいたせんでした。広倧なりクラむナでは、PLMをROMに眮き換え、別のHDDコントロヌラヌをコピヌするずいう噂が聞かれたしたが、䞀般的に、90幎代のコンピュヌタヌはペンタゎンほど䞀般的ではありたせんでした。幞いなこずに、Turbo 2+の開発者MicroART䌚瀟は、すべおのドキュメントを無料で䜿甚できるように寄付したした。



すぐに、䜕人かの゜フトりェア開発者がNedoPCの軌道に匕き蟌たれ、オペレヌティングシステムに぀いお話したした。そうでなければ、「どこに航海すべきか」ずいう質問に察する答えはうたくいきたせんでした。 2005幎の最初の苊劎の成果は、すでに述べたTASiSシステムであり、そのためにiS-DOS゜ヌスが取埗されたした。



䞊行しお、2007幎に、この蚘事の著者の1人が、マルチタスクオペレヌティングシステムを開発しおいた仮想キャラクタヌSMANを䜜成したした。そしお、はい、圌女はたた、䜎RAMフェヌズの居䜏者を通過したした。この段階は䜕幎にもわたっお匕き延ばされたした。2016幎から2017幎にかけお、48Kに収たるCのような蚀語コンパむラNedoLangも䜜成されたしたARM Thumb甚にもコンパむルされたす。ゎヌディアンノットは、グラフィック゚ディタヌScratch2018の登堎でのみカットされたした。





スクラッチずそのメニュヌ



2018幎の遞択はすでに簡単でしたATM-Turbo 2+ずの互換性は、すべおのナヌザヌが利甚できたした-元のハヌドりェアでも、NedoPCのZXEvoおよびPentagon2.666LEでも、ZorelのATM3でもありたせんでした。たたは少なくずも゚ミュレヌタヌUnreal Speccy、Xpeccy、ZXMAK2、Es.pectrumなどで。





Turbo 2+1993、ただしボヌドは明らかに新しい





ペンタゎン2.666LE2009、非垞に珍しい車





ZX Evolution2009、どのパン屋でも賌入できたす





ATM32017は、知人だけで入手するか、自分で䜜るこずができたす。



その瞬間から、システムはNedoOSず名付けられ、爆発的に開発され始めたした。



この爆発の初期段階での空想を抑えるために、システムは䞻にCP / MおよびMSX-DOSず互換性のあるコマンドに基づいお構築されおいるこずに泚意しおください。これたで、コマンドのリストは3぀のセクションに分かれおいたす。CP/ Mずの互換性珟圚13個あり、FCBシステムが䞍䟿なため、䜿甚はお勧めしたせん、MSX-DOSずの互換性11個あり、ファむル名はすでにテキストになっおいたす。 FCB構造は数字ハンドルを䜿甚し、互換性がありたせんほずんどがファむルではなく、珟圚48個ありたすが、䞀郚は削陀される予定です。



珟時点での開発システム



NedoOS゜ヌスコヌドは、システムで䜿甚可胜なコンパむラNedoLangずそのアセンブラNedoAsm、Turbo Pascal、およびBDS Cにはただ適合しおいたせん。これたでのずころ、5぀のナヌティリティのみが内郚でコンパむルされおいたす。たた、パッケヌゞの䞻芁郚分は、SjASMPlusメむンコヌドずZ80 IAR CFatFsファむルシステムず䞀郚のナヌティリティを䜿甚しおPC䞊に構築されおいたす。



ファむルは専甚のSVNサヌバヌでホストされ、゜ヌス、バむナリリリヌス、およびPC䞊に構築するためのツヌルのコレクションで構成されたす。



システムは1぀のボタンで組み立おられたすバッチファむルたたはMakefile-2぀のビルドシステム。たた、1぀のボタンでタヌゲットHDD、SDカヌドなどの1぀を個別に収集し、すぐに゚ミュレヌタヌを起動するこずもできたす。䞋䜍レベルのボディシャツを䜿甚しお、各ナヌティリティを個別に収集できたす。NedoOS開発者の䞀郚がWindowsを䜿甚しおおり、䞀郚がLinuxを䜿甚しおいるため、2぀のビルドシステムが発生したした。



コンパむラに加えお、コマンドプロセッサcmd.com* .batを実行できたすず、グラフィカル機胜を䜿甚しおれロから䜜成されたNedoBasicむンタヌプリタヌもありたす。





NedoLangはそれ自䜓をコンパむルしたす



システムアヌキテクチャヌ



カヌネルデバむス



ナヌザヌプログラムに衚瀺されるNedoOSの郚分は、メモリ領域0x0000..0x0038、いわゆるカヌネルでの䞀連の呌び出しです。これらの呌び出しの最埌は、50 Hzの割り蟌みハンドラヌであり、その埌に0x0080のプログラムのパラメヌタヌを含むコマンドラむンが続きたす。カヌネルデバむスは匕き続きCP / M0x0005経由の呌び出しず互換性がありたすが、埐々にこれから離れおいたすCP / M呌び出しは58のうち4぀のプログラムでのみ䜿甚されたす。すべおのシステム呌び出しはマクロずしお線成されプログラムはこれらのマクロず定数ずずもに/src/_sdk/sys_h.asmモゞュヌルを䜿甚したす、OSの進化に応じお倧幅に倉曎できたす。この結果、これらのマクロに倉曎があった堎合は、システム党䜓ずアプリケヌション゜フトりェアを再構築する必芁がありたすが、これたで芋おきたように、これは1぀のボタンで実行できたす。



NedoOSの内郚は、RAMのペヌゞに隠れおおり、次のものが含たれおいたす。





すべおのドラむバヌはカヌネルにコンパむルされるため、システムを構築するためのいく぀かの異なる「タヌゲット」がありたすATM2、ATM2 + HDD、ATM3、ZX Evo、Pentagon 2.666LE。



ナヌザヌスペヌスにある割り蟌みハンドラヌは、次のようになりたす。



        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


タスクの切り替えは円で行われたす凍結されたタスクはスキップされたす。優先順䜍はただありたせん。ただし、アむドルタスクは、他の党員がフリヌズした堎合、たたは珟圚のフレヌムでYIELDYIELDシステムマクロ-次の割り蟌みたでシステムに時間を䞎えるためのYIELDKEEPシステムマクロ-い぀でも制埡を返す機胜を備えたシステムに時間を䞎えるためのいずれかである堎合にのみ実行されたす。



タスクは割り蟌みハンドラヌを倉曎できたす。タスクに戻り、その埌に任意のコヌドを远加するこずで可胜です。これには特定の掚奚事項ず䟋がありたす。



タヌミナルシステム



タスクは3぀のタむプに分けられたす。



  1. 画面を党く必芁ずしない人、
  2. テキスト端末で十分なもの、
  3. グラフィック-必芁な解像床の独自の画面ず独自のパレットを備えおいたす。


NedoOSには、珟圚のタスクの抂念に加えお、「フォヌカス」キヌボヌド、マりス、および画面ぞのアクセスの抂念がありたす。タスク間のフォヌカスは、手動Symbol Shift + Enterの組み合わせによるたたは自動グラフィックをオンにするずき、グラフィックをオフにするずき、たたはタスクを閉じるずきに切り替えられたす。



1のようなタスクは決しお焊点を合わせたせん。さらに、タむプ2のタスクもフォヌカスを受け取りたせん。代わりに、それらが接続されおいるテキスト端末にフォヌカスが眮かれたす。そしお、それらはstdinおよびstdoutストリヌムを介しお結び付けられ、それに沿っおVT-100タヌミナルの文字、数字、波線、およびコヌドがいく぀か远加されお歩きたす。 Stdinずstdoutは、stdio.asmラむブラリを介しおキュヌパむプずしお実装されたす。カヌネルでは、キュヌには255バむトのバッファヌがありたす。キュヌからの曞き蟌みおよび読み取りの関数は、実際に読み取られた量たたは曞き蟌たれた量ファむルの堎合ず、キュヌがもう䞀方の端で閉じられおいるかどうかを返したす。これらのストリヌムは、父から息子に継承されたす。しかし、最終的にはすべおがterm.comタヌミナルによっお衚瀺され、スクロヌルしたり、コピヌしお貌り付けたりするこずもできたす。ネットワヌクTelnetサヌバヌnetterm.comもありたす。このnetterm.comを開始する必芁はありたせんが、term.comはシステムの起動時に自動的に開始されたす。





タヌミナルのNedovigator、およびタヌミナルはマりスホむヌルでスクロヌルされたす



3のようなタスクの堎合、もちろん、システムを介しおピクセルを描画する問題はありたせん-これには十分なZ80メガヘルツがありたせんほずんどのナヌザヌは14メガヘルツしかありたせん。したがっお、メモリを介しお描画する必芁がありたす。たた、ATMには128Kのように画面領域が2぀しかないため、1぀のタスクだけが独自の画面ペヌゞを持぀こずができたす。画面のペヌゞは、フォヌカスが倉曎されるずむンタヌセプトされ、敗者のタスクには停のペヌゞ番号が䞎えられたす。これは単に台無しにされる可胜性のあるペヌゞです。タスクがフォヌカスを受け取るず、キヌボヌドからのように、タスクに関する個別のメッセヌゞを受け取りたすが、実際のボタンには察応しおいたせん。これにより、タスクは時間内に画面を埩元できたす。別のタスクは、システム自䜓がその画面を保存しお埩元するずきにモヌドをオンにするこずができたす。



コマンドラむン



コマンドラむン機胜は、システムの起動時に自動的に起動されるcmdナヌティリティによっお実装されたす。より正確には、最初のアむドルタスクはパラメヌタcmd.comautoexec.batを䜿甚しおtermを実行したす。これは、cmdが指定されたバッチファむルを実行するこずを意味したす。そこに曞かれたコマンドは順番に実行されたす。デフォルトでは、コマンドは終了を埅っお実行されたすが、コマンドがプログラムの開始である堎合は、その前に開始を眮くこずができたす-プログラムはバックグラりンドで実行されたすこれのみがstdinずstdoutの継承の抂念ず互換性がありたせん-キュヌ内のデヌタを混圚させるこずができたす。



パラメヌタで指定された操䜜の終了埌パラメヌタがあった堎合、cmdは通垞終了したす。autoexec.batにのみ䟋倖が残されおいるため、終了埌にトラフが壊れたたたになるこずはありたせん。ただし、その堎合、アむドルはC + M + Dが同時に抌されるのを埅ち、cmdを䜿甚しおtermを再開できたす。



コマンドラむンはMS-DOSに䌌おいたす。実行䞭の操䜜の出力をファむルたずえば、dir> filenameたたは別のプログラムたずえば、dir | more.comにリダむレクトでき、入力をリダむレクトできたすたずえば、more.com <filename。ただし、チェヌンはただサポヌトされおいたせん。



ファむルをより䟿利に操䜜するには、Nedovigatorコマンダヌnv.comを䜿甚したす。





キティ、あなたはすでにネドビゲヌタヌを芋たので



システムの配眮



私たちが持っおいる各ファむルシステムは特定の文字にマりントされおいるので、パスはm/bin/filename.txtのようになりたす。キュヌにはマりント文字zがありたすが、これたでのずころ、名前なしで開かれおいたす。タスク間の接続は、キュヌ番号ハンドルを枡すこずによっお行われたす。



GRUBのような特殊なブヌトロヌダヌを回避するために、NedoOSは、コンピュヌタヌのROMが目的のデバむスからトランクファむル*。$ Cを起動できるこずを望んでいたす。たずえば、ファむルブラりザヌを備えたZX Evoで、たたはメむンメニュヌの5ボタンを抌しお、Pentagon 2.666 LE-組み蟌みのコピヌ機Fatall経由..。それ以倖の堎合は、TR-DOSフロッピヌディスクからOSを起動する必芁がありたす。システムファむルはシステムディスクの/ binディレクトリにあり、ゲヌムは/ nedogameにありたす。远加のゲヌムファむルは通垞、同じ名前のゲヌムのサブディレクトリにありたす。たずえば、NedoOSカラヌのゲヌム/nedogame/br.comBlack Ravenには、グラフィック、音楜、レベルを含む/ nedogame / brディレクトリもありたす。





カラヌレむノン



珟圚の機䌚



メモリ最倧4MのRAMがサポヌトされビルドシステムで構成可胜、メモリはオンデマンドで16Kペヌゞのタスクに割り圓おられ、タスクはそれらをシステム自䜓に返すこずができたす。ハヌドりェアにはメモリ保護がないため、すべおのメモリが共有されおいるず芋なすこずができたす。デフォルトでは、ペヌゞはメモリの最初から割り圓おられ、いく぀かのシステムペヌゞはカりントされたせん。スワップはサポヌトされおいたせん初期段階で怜蚎されおいたしたが、ペヌゞの番号を付け盎す必芁があり、䞀般的なタスクのパフォヌマンスが倧幅に䜎䞋したす。



マルチタスク倉䜍50 Hzの䞭断によるおよび協調的;最倧16個のタスクを同時に実行できたすそのうちの1぀はアむドル状態であり、削陀できたすが、YIELDは保蚌を提䟛したせん。音楜プレヌダヌをシステム割り蟌みハンドラヌに眮き換えるこずができたす。これは、3぀のナヌザヌペヌゞを持぀カヌネルのコンテキストで実行されたすただオンザフラむで切り替えるこずはできたせん。タスクはフリヌズできたす䜜成、削陀、たたは子を埅っおいる堎合。 cmdでタスクのリスト、それらのアクティビティ、およびグラフィカルモヌドの存圚を衚瀺し、実行から削陀できたすこれにより、タスクのペヌゞ、FatFsファむルレコヌド、およびネットワヌク゜ケットが解攟されたす。



ファむル最倧16個のFATファむル、8個のTR-DOSファむル、および8個のキュヌを同時に開くこずができたす。フロッピヌディスク䞊でも、同時に耇数のファむルの読み取りず曞き蟌みを行うこずができたすコンパむラにずっお重芁です。ファむルパラメヌタ、珟圚の䜍眮ぞのポむンタの読み取り、この䜍眮の倉曎、ディレクトリの䜜成ず名前の倉曎を行うこずができたす。キュヌは2぀のナヌザヌタスクを想定しおいたす。キュヌは䜜成時に1回開く必芁がありたすが、2回閉じる必芁がありたす。ファむル操䜜はカヌネルのコンテキストで実行されたす。この時点では、タスクスケゞュヌラは機胜したせんが、システムミュヌゞックプロセッサは実行されおいたす。



ネットワヌキングICMP、TCP、UDPプロトコル、最倧8぀の゜ケットを同時に。ナヌティリティping、time、telnet、nettermTelnetサヌバヌ、dmircIRCクラむアント、dmftpFTPクラむアント3wsファむルをコピヌしおリモヌトで起動するためのWebサヌバヌ、NedoBrowser画像を個別に衚瀺する機胜を備えたテキストブラりザヌがありたす。 jpg、gif、png、bmp、svg-制限付きの最埌の2぀の圢匏。プロトコルhttpずgopher、httpsをプロキシ経由でサポヌト、wgetバックグラりンドファむルのダりンロヌド、ブラりザから実行、グラフィックず音楜プレヌダヌの衚瀺を自動的に開始できたす。





NedoBrowserはむンタヌネット䞊で䜕かを探しおいたす



アヌカむブの操䜜 .tarず.rarは読み取りず曞き蟌みに䜿甚できたすZXRarはDOS甚のRar 2.xの簡略版であり、倚数のコヌド、堅牢なアヌカむブ、マルチメディア圢匏、暗号化がなく、ZXUnRarはすべおのコヌドをサポヌトしたす。゜リッドアヌカむブですが、マルチメディアず暗号化もサポヌトしおいたせん、. gzず.zipは読み取り専甚です。これたでのずころ、すべおはコマンドラむンナヌティリティを介しおのみ行われたす。



ドキュメントタむプファむルの関連付けは、組み蟌みのNedovigatorコマンダヌにnv.extファむルで登録されたす。このファむルは次のようになりたす。



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


Super Mario ゚ミュレヌタヌ動䜜するにはカヌトリッゞダンプが必芁、Eric and the Floatersによるペむント、Endless Summerの郚分的な移怍、ネットワヌク化されたSnakeなど、12のゲヌムも利甚できたす。



予定



  • バッチファむルの機胜の拡匵パラメヌタはすでに転送されおいたす
  • IDEずセルフホスティング
  • グラフィック゚ディタのレむダヌ
  • ..。


結論



珟時点では、NedoOSは必芁な機胜のバックボヌンをすべお実装しおいるため、必芁なハヌドりェアがあれば、システムは䜿甚しないよりも䜿甚する方が䟿利です。



しかし、ただただ倚くの䜜業がありたす。プロゞェクトに参加する開発者が倚いほど、理想は近くなりたす。





NedoOS開発者のほずんどは、irc.forestnet.orgの#mhm IRCチャネルに䜏んでいたすhttp://chat.forestnet.org/からも入手できたす。倕方のTwitchチャンネルがありたすYouTubeミラヌ付き。NedoOS Webサむトから、安定バヌゞョンず最新の゜ヌスをダりンロヌドできたす。



All Articles