အဟောင်း 0.6-bit Intel ပရိုဆက်ဆာများအတွက် Linux kernel ဗားရှင်း ELKS 16 ကို ဖြန့်ချိသည်

ELKS 0.6 (Embeddable Linux Kernel Subset) ပရောဂျက်ကို ထုတ်ဝေခဲ့ပြီး၊ 16-bit ပရိုဆက်ဆာ Intel 8086၊ 8088၊ 80188၊ 80186၊ 80286 နှင့် NEC V20/V30 အတွက် Linux-like လည်ပတ်မှုစနစ်ကို တီထွင်ထုတ်လုပ်ထားပါသည်။ OS ကို IBM-PC XT/AT အတန်းအစား ကွန်ပျူတာအဟောင်းများနှင့် IA16 ဗိသုကာကို ပြန်လည်ဖန်တီးသည့် SBC/SoC/FPGAs များတွင် နှစ်မျိုးလုံးအသုံးပြုနိုင်ပါသည်။ အဆိုပါပရောဂျက်ကို 1995 ခုနှစ်ကတည်းက ရေးဆွဲခဲ့ပြီး Memory Management Unit (MMU) မရှိသော စက်များအတွက် Linux kernel ၏ ခက်ရင်းတစ်ခုအဖြစ် စတင်ခဲ့သည်။ အရင်းအမြစ်ကုဒ်ကို GPLv2 လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။ စနစ်အား floppy disks များတွင် မှတ်တမ်းတင်ခြင်း သို့မဟုတ် QEMU emulator တွင် လုပ်ဆောင်ခြင်းအတွက် ရုပ်ပုံများပုံစံဖြင့် ပံ့ပိုးပေးပါသည်။

ကွန်ရက်စတက်အတွက် ရွေးချယ်စရာ နှစ်ခုရှိသည် - Linux kernel ၏ စံ TCP/IP စတက်ခ် နှင့် အသုံးပြုသူနေရာအတွင်း လည်ပတ်နေသည့် ktcp stack ။ NE2K နှင့် SMC တို့နှင့် လိုက်ဖက်သော အီသာနက် အဒက်တာများကို ကွန်ရက်ကတ်များမှ ပံ့ပိုးထားသည်။ SLIP နှင့် CSLIP ကို ​​အသုံးပြု၍ နံပါတ်စဉ်အပေါက်မှတဆင့် ဆက်သွယ်ရေးလမ်းကြောင်းများကို ဖန်တီးနိုင်သည်။ ပံ့ပိုးထားသော ဖိုင်စနစ်များတွင် Minix v1၊ FAT12၊ FAT16 နှင့် FAT32 တို့ ပါဝင်သည်။ boot လုပ်ငန်းစဉ်ကို /etc/rc.d/rc.sys script မှတဆင့် ပြင်ဆင်သတ်မှတ်ထားပါသည်။

16-bit စနစ်များအတွက် လိုက်လျောညီထွေဖြစ်သော Linux kernel အပြင်၊ ပရောဂျက်သည် စံ utilities အစုံ (ps, bc, tar, du, diff, netstat, mount, sed, xargs, grep, find, telnet, meminfo၊ စသည်တို့) အပါအဝင် bash-compatible command interpreter၊ screen console window manager၊ Kilo နှင့် vi စာသားတည်းဖြတ်သူများ၊ Nano-X X ဆာဗာပေါ်တွင် အခြေခံထားသော ဂရပ်ဖစ်ပတ်ဝန်းကျင်။ လည်ပတ်နိုင်သော ဖိုင်ဖော်မတ်အပါအဝင် အသုံးပြုသူနေရာလွတ် အစိတ်အပိုင်းအများအပြားကို Minix မှ ချေးယူထားသည်။

ထုတ်ဝေမှုအသစ်တွင်-

  • ROM ရှိ အလုပ်ရုံများနှင့် စက်များအတွက် သင့်လျော်သော အခြေခံဘာသာစကား စကားပြန်ကို ထည့်သွင်းထားပါသည်။ ဖိုင်များ (LOAD/SAVE/DIR) နှင့် ဂရပ်ဖစ်များ (MODE၊ PLOT၊ CIRCLE နှင့် DRAW) တို့နှင့်အတူ လုပ်ဆောင်ရန် ညွှန်ကြားချက်များ ပါဝင်သည်။
  • tar archives နှင့် အလုပ်လုပ်ရန် ပရိုဂရမ်တစ်ခုကို ပေါင်းထည့်ထားသည်။
  • man manuals များကိုပြသရန် man နှင့် eman command များကို ပေါင်းထည့်ထားပြီး compressed man pages များကိုပြသရန်အတွက် ပံ့ပိုးပေးထားပါသည်။
  • bash အကောင်အထည်ဖော်မှုတွင် built-in စမ်းသပ်မှု command (“[“) ရှိသည်။
  • "net restart" command ကို ထည့်သွင်းခဲ့သည်။ nslookup command ကို ပြန်လည်ရေးသားပြီးပါပြီ။
  • mounted command တွင် တပ်ဆင်ထားသော partitions များအကြောင်း အချက်အလက်များကို ပြသရန် စွမ်းရည်ကို ထည့်သွင်းထားသည်။
  • FAT ဖိုင်စနစ်ပါသော partitions များပေါ်ရှိ ls command ၏ မြန်နှုန်းကို တိုးမြင့်လာခဲ့သည်။
  • NE8K ကွန်ရက်ဒရိုက်ဗာရှိ 2-bit စနစ်များအတွက် သိသိသာသာ မြှင့်တင်ပေးထားသည့် စွမ်းဆောင်ရည်နှင့် ပံ့ပိုးမှု။
  • FTP ဆာဗာ ftpd ကို ပြန်လည်ရေးသားထားပြီး၊ SITE ညွှန်ကြားချက်အတွက် ပံ့ပိုးမှုနှင့် အချိန်ကုန်မှုများကို သတ်မှတ်နိုင်မှုတို့ကို ထည့်သွင်းထားသည်။
  • ယခုအခါ ကွန်ရက်အပလီကေးရှင်းများအားလုံးသည် in_gethostbyname ခေါ်ဆိုမှုမှတစ်ဆင့် DNS အမည်ဖြေရှင်းခြင်းကို ပံ့ပိုးပေးပါသည်။
  • ဒစ်တစ်ခုလုံးကို sys အမိန့်သို့ ကူးယူခြင်းအတွက် ပံ့ပိုးမှု ထပ်လောင်းထည့်ထားသည်။
  • hostname နှင့် IP address ကို လျင်မြန်စွာ စီစဉ်သတ်မှတ်ရန် setup command အသစ်ကို ထည့်သွင်းထားပါသည်။
  • LOCALIP=၊ HOSTNAME=၊ QEMU=၊ TZ=၊ sync= နှင့် bufs= ဘောင်များကို /bootopts တွင် ထည့်ထားသည်။
  • SCSI နှင့် IDE ဟာ့ဒ်ဒရိုက်များအတွက် ပံ့ပိုးမှုအား PC-98 ကွန်ပျူတာအတွက် အပေါက်သို့ ပေါင်းထည့်ထားပြီး၊ BOOTCS bootloader အသစ်ကို ထည့်သွင်းထားပြီး၊ ပြင်ပဖိုင်တစ်ခုမှ တင်ခြင်းအတွက် ပံ့ပိုးမှုအား လုပ်ဆောင်ပြီးဖြစ်ကာ ဒစ်ခ်အပိုင်းခွဲများအတွက် ပံ့ပိုးမှုကို တိုးချဲ့ထားသည်။
  • 8018X ပရိုဆက်ဆာများအတွက် အပေါက်သည် ROM မှ လုပ်ဆောင်ရန် ပံ့ပိုးမှုနှင့် အနှောင့်အယှက် ကိုင်တွယ်မှုကို ပိုမိုကောင်းမွန်စေသည်။
  • သင်္ချာစာကြည့်တိုက်ကို စံ C စာကြည့်တိုက်သို့ ပေါင်းထည့်ထားပြီး printf/sprintf၊ strtod၊ fcvt၊ ecvt လုပ်ဆောင်ချက်များတွင် floating point နံပါတ်များဖြင့် အလုပ်လုပ်နိုင်စွမ်းကို ပံ့ပိုးပေးထားပါသည်။ strcmp လုပ်ဆောင်ချက်ကုဒ်ကို ပြန်လည်ရေးသားပြီး သိသိသာသာ အရှိန်မြှင့်ထားသည်။ printf လုပ်ဆောင်ချက်ကို ပိုမိုကျစ်လစ်သိပ်သည်းစွာ အကောင်အထည်ဖော်ရန် အဆိုပြုထားသည်။ in_connect နှင့် in_resolv လုပ်ဆောင်ချက်များကို ထည့်သွင်းထားသည်။
  • kernel သည် FAT ဖိုင်စနစ်အတွက် အထောက်အပံ့ကို မြှင့်တင်ပေးထားပြီး၊ အများဆုံး mount အမှတ်များကို 6 သို့ တိုးမြှင့်ပေးခြင်း၊ အချိန်ဇုန်သတ်မှတ်ခြင်းအတွက် ပံ့ပိုးမှု၊ uname ပေါင်းထည့်ခြင်း၊ usatfs နှင့် အချက်ပေးစနစ်ခေါ်ဆိုမှုများ၊ timer နှင့် လုပ်ဆောင်ရန်အတွက် ကုဒ်ကို ပြန်လည်ရေးသားထားသည်။



source: opennet.ru

မှတ်ချက် Add