Rust-ով գրված Redox OS 0.8 օպերացիոն համակարգի թողարկում

Թողարկվել է Redox 0.8 օպերացիոն համակարգը, որը մշակվել է Rust լեզվի և միկրոմիջուկի կոնցեպտի միջոցով։ Նախագծի մշակումները տարածվում են MIT անվճար լիցենզիայի ներքո։ Redox OS-ի փորձարկման համար առաջարկվում են 768 ՄԲ ծավալով դեմո տարբերակներ, ինչպես նաև պատկերներ՝ հիմնական գրաֆիկական միջավայրով (256 ՄԲ) և սերվերային համակարգերի համար նախատեսված կոնսոլային գործիքներով (256 ՄԲ): Ասամբլեաները ստեղծվում են x86_64 ճարտարապետության համար և հասանելի են UEFI և BIOS համակարգերի համար։ Դեմո պատկերը, Orbital գրաֆիկական միջավայրից բացի, ներառում է DOSBox էմուլյատոր, խաղերի ընտրանի (DOOM, Neverball, Neverputt, sopwith, syobonaction), կրթական ծրագրեր, rodioplay երաժշտական ​​​​նվագարկիչ և Sodium տեքստային խմբագրիչ։

Օպերացիոն համակարգը մշակված է Unix փիլիսոփայությանը համապատասխան և որոշ գաղափարներ փոխառված են SeL4-ից, Minix-ից և Plan 9-ից: Redox-ը օգտագործում է միկրոմիջուկի հայեցակարգը, որտեղ միայն գործընթացների միջև փոխազդեցությունն ու ռեսուրսների կառավարումն են ապահովվում միջուկի մակարդակում, իսկ մնացած բոլոր ֆունկցիոնալությունը տեղափոխվում է գրադարաններ, որոնք կարող են օգտագործվել և՛ միջուկի, և՛ օգտագործողի ծրագրերի կողմից: Բոլոր դրայվերները աշխատում են օգտատիրոջ տարածքում՝ մեկուսացված sandbox միջավայրերում։ Գոյություն ունեցող ծրագրերի հետ համատեղելիության համար տրամադրվում է հատուկ POSIX շերտ, որը թույլ է տալիս բազմաթիվ ծրագրերին աշխատել առանց տեղափոխման։

Համակարգն օգտագործում է «ամեն ինչ URL է» սկզբունքը։ Օրինակ՝ «log://» URL-ը կարող է օգտագործվել տեղեկամատյանում գրելու համար, «bus://»՝ միջպրոցեսային հաղորդակցության համար, «tcp://»՝ ցանցային հաղորդակցության համար և այլն: Մոդուլները, որոնք կարող են ներդրվել որպես դրայվեր, միջուկի ընդլայնումներ և userland հավելվածներ, կարող են գրանցել իրենց URL մշակողները. «port_io://60»:

Redox-ում օգտագործողի միջավայրը կառուցված է իր սեփական գրաֆիկական shell-ի՝ Orbital-ի (չշփոթել մեկ այլ shell-ի՝ Orbital-ի հետ, որն օգտագործում է Qt և Wayland) և OrbTk գործիքակազմի վրա, որն ապահովում է Flutter-ի, React-ի և Redux-ի նման API: Netsurf-ը օգտագործվում է որպես վեբ զննարկիչ։ Նախագիծը նաև մշակում է իր սեփական փաթեթների կառավարիչը, ստանդարտ ծրագրերի հավաքածու (binutils, coreutils, netutils, extrautils), ion հրամանների կեղևը, relibc ստանդարտ C գրադարանը, vim-անման sodium տեքստային խմբագրիչը, ցանցային կույտ և ֆայլային համակարգ։ Կարգավորումը նշված է Toml լեզվով։

Նոր թողարկումը շարունակում է աշխատանքը՝ իրական սարքավորումների վրա աշխատանքն ապահովելու համար։ x86_64 ճարտարապետությունից բացի, ավելացվել է 32-բիթանոց x86 համակարգերի վրա (i686, Pentium II և ավելի նոր) աշխատելու հնարավորություն։ Փոխանցումը ARM64 պրոցեսորի (aarch64) ընթացքի մեջ է։ Իրական ARM սարքավորումների վրա աշխատանքը դեռևս չի աջակցվում, բայց բեռնավորումը հնարավոր է QEMU-ում ARM64 էմուլյացիայի միջոցով։ Ըստ լռելյայնի, ձայնային ենթահամակարգը միացված է և տրամադրվում է բազմամոնիտորային կոնֆիգուրացիաների նախնական աջակցություն (UEFI framebuffer ունեցող համակարգերում): Redox OS-ի կողմից աջակցվող սարքավորումները ներառում են AC'97 և Intel HD Audio ձայնային չիպեր, գրաֆիկական ելք VESA BIOS API-ի կամ UEFI GOP-ի միջոցով, Ethernet (Intel 1/10 Gigabit Ethernet, Realtek RTL8168), մուտքային սարքեր (ստեղնաշարեր, մկներ, սենսորային վահանակներ), SATA (AHCI, IDE) և NVMe: Wi-Fi-ի և USB-ի աջակցությունը դեռևս հասանելի չէ (USB-ն աշխատում է միայն QEMU-ում):

Այլ նորամուծություններ.

  • BIOS և EFI համակարգերի բեռնման պատկերները միավորվել են։
  • Կլոնավորման և exec համակարգային կանչերի իրականացումը տեղափոխվել է օգտատիրոջ տարածք։
  • Բեռնման գործընթացը պարզեցվել է։ Իրականացվել է bootstrap ծրագիր, որը գործարկվում է միջուկի կողմից և ապահովում է ELF ֆայլերի հետագա բեռնում, ինչպիսին է init գործընթացը։
  • Ավելացվել է escalated՝ Setuid ծրագրերի, ինչպիսին է sudo-ն, աշխատանքին թույլատրելու համար։
  • Ֆոնային գործընթացների ստեղծումը և տեղադրումը պարզեցնելու համար առաջարկվում է redox-daemon crate փաթեթը։
  • Կառուցման համակարգը վերաձևավորվել է՝ թույլ տալով կառուցել տարբեր ճարտարապետությունների համար մեկ սկզբնական աղբյուրի ծառում։ Տարբեր կոնֆիգուրացիաների հավաքումը պարզեցնելու համար առաջարկվում է build.sh սկրիպտը։ Ավելացվել է podman գործիքակազմի միջոցով կառուցման աջակցություն։ Միջուկը, bootloader-ը և initfs-ը միավորված են այլ փաթեթների հետ։
  • Ավելացվել է գրաֆիկական միջավայրով հիմնական բեռնման պատկերում չներառված նմուշային ծրագրեր կառուցելու ցուցադրական կարգավորում։
  • Audiod ձայնային ենթահամակարգը թարմացվել է՝ ծրագրային ապահովման ձայնի կարգավորմանը աջակցելու համար։
  • Ավելացված է AC'97-ի վրա հիմնված ձայնային չիպերի դրայվեր։ Intel HD Audio չիպերի համար բարելավված դրայվեր։
  • Ավելացված է IDE կարգավորիչների դրայվեր։
  • Բարելավված աջակցություն NVMe սկավառակների համար։
  • Բարելավված PCI, PS/2, RTL8168, USB HID, VESA դրայվերներ։
  • Տեղադրման գործընթացի կազմակերպումը վերափոխվել է. bootloader-ը, bootstrap-ը, kernel-ը և initfs-ը այժմ գտնվում են /boot գրացուցակում։
  • Միջուկը պարզեցրել է հիշողության մշակումը և ավելացրել է հասցեների տարածքները մանիպուլյացիայի ենթարկելու հնարավորություն օգտատիրոջ մակարդակից։
  • Orbital գրաֆիկական շերտը այժմ աջակցում է բազմամոնիտորային համակարգերին, բարելավում է մկնիկի կուրսորի կառավարումը և ավելացնում է ձայնի ուժգնության փոփոխման ցուցիչ։ Մենյուն այժմ թույլ է տալիս բաժանել ծրագրերը կատեգորիաների։

Source: opennet.ru

Գնեք հուսալի հոստինգ DDoS պաշտպանությամբ կայքերի, VPS VDS սերվերների համար 🔥 Գնեք հուսալի կայքերի հոսթինգ՝ DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster