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

Մեկուկես տարի մշակումից հետո հրապարակվել է Redox 0.7 օպերացիոն համակարգի թողարկումը, որը մշակվել է Rust լեզվով և միկրոմիջուկի հայեցակարգով։ Ծրագրի մշակումները բաշխվում են անվճար MIT լիցենզիայի ներքո: Redox OS-ի փորձարկման համար առաջարկվում են տեղադրում և 75 ՄԲ չափի Live պատկերներ: Հավաքումները ստեղծվել են x86_64 ճարտարապետության համար և հասանելի են UEFI և BIOS ունեցող համակարգերի համար:

Նոր թողարկումը պատրաստելիս հիմնական շեշտը դրվել է այն իրական սարքաշարի վրա աշխատելու վրա: Հիմնական նորամուծությունները.

  • Բեռնախցիկը ամբողջությամբ վերաշարադրվել է, որում BIOS-ով և UEFI-ով համակարգերում բեռնման կոդը միասնական է և հիմնականում գրված է Rust-ով։ Բեռնախցիկի փոփոխությունը զգալիորեն ընդլայնել է աջակցվող սարքավորումների շրջանակը:
  • Ի հավելումն սխալների շտկման, միջուկում աշխատանք է կատարվել՝ բարելավելու աշխատանքը և ընդլայնել ապարատային աջակցությունը: CPU-ին հատուկ փոփոխականները փոխակերպվել են GS ռեգիստրն օգտագործելու համար: Տրամադրվում է ամբողջ ֆիզիկական հիշողության արտացոլումը (քարտեզագրումը), դադարեցվում է ռեկուրսիվ հիշողության էջերի օգտագործումը։ Ներդիր ներդիրներում հավաքման կոդը վերաշարադրվել է կոմպիլյատորների ապագա թողարկումների հետ համատեղելիությունը բարելավելու համար:
  • Ավելացվել է նախնական աջակցություն AArch64 ճարտարապետության համար:
  • Անցում է կատարվել UTF-8 կոդավորման բոլոր ֆայլերի ուղիների մշակմանը:
  • ACPI AML (ACPI Machine Language) Specification - uefi.org-ի հետ աշխատելու ծածկագիրը միջուկից տեղափոխվել է օգտագործողի տարածքում գործող acpid ֆոնային գործընթաց:
  • Initfs-ի բովանդակությունը տեղափոխվել է նոր ֆայլ՝ հեշտացնելով փաթեթների ստեղծումը:
  • RedoxFS ֆայլային համակարգը վերաշարադրվել և անցել է CoW (Copy-on-Write) մեխանիզմի օգտագործմանը, որի փոփոխությունները չեն վերագրում տեղեկատվությունը, այլ պահվում են նոր վայրում, ինչը զգալիորեն բարելավում է հուսալիությունը: RedoxFS-ի նոր առանձնահատկությունները ներառում են գործարքների թարմացումների աջակցություն, տվյալների գաղտնագրում AES ալգորիթմի միջոցով, ինչպես նաև տվյալների և մետատվյալների իսկությունը թվային ստորագրություններով: Համակարգում և bootloader-ում FS կոդի փոխանակումն ապահովված է։
  • Նախագծի կողմից մշակված Relibc ստանդարտ C գրադարանի կատարելագործումը, որն ունակ է աշխատել ոչ միայն Redox-ում, այլև Linux միջուկի վրա հիմնված բաշխումներում, շարունակվել է: Փոփոխությունները հեշտացրին տարբեր ծրագրերի տեղափոխումը Redox-ում և լուծեցին C-ով գրված բազմաթիվ ծրագրերի և գրադարանների հետ կապված խնդիրներ:
  • Պատրաստվել է rustc կոմպիլյատորի տարբերակը, որը կարող է աշխատել Redox-ով: Մնացած խնդիրները ներառում են կատարողականի օպտիմալացում և բեռների փաթեթների կառավարչի հարմարեցում Redox միջավայրում աշխատելու համար:

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

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

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

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

Source: opennet.ru

Добавить комментарий