+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новини

Microsoft перепише деякі низькорівневі компоненти Windows 10 своєю новою мовою програмування

Microsoft перепише деякі низькорівневі компоненти Windows 10 своєю новою мовою програмування

Не виключено, що Microsoft перепише деякі низькорівневі компоненти Windows 10 своєю новою мовою програмування, що дозволить зробити систему значно стійкішою до кіберзагроз.

Microsoft розробляє нову мову програмування, яка орієнтована на створення додатків, не схильних до найпоширеніших проблем безпеки, пише Zdnet.

Нова мова базується на набираючому популярності Rust, розвитком якого займається компанія Mozilla, розробник відомого браузера Firefox. Проект отримав назву Verona і, за даними видання, ключова відмінність від Rust полягає в застосуванні моделі володіння на основі груп об'єктів, а не одиничних об'єктів. Очікується, що вихідні тексти поточних напрацювань у його рамках будуть відкриті під вільною ліцензією Apache 2.0. Репозиторій проекту вже з'явився на належній Microsoft з 2018 р. платформі Github, але поки що порожній.

Як зазначає Zdnet, Microsoft також може переписати деякі низькорівневі компоненти Windows 10 з використанням модифікованого Rust, щоб унеможливити потенційні проблеми, що виникають при застосуванні мов C і C++.

Мови C і C++ протягом десятиліть повсюдно використовуються як інструмент розробки системного ПЗ і покладають на програміста завдання управління оперативною пам'яттю, що неминуче призводить до виникнення помилок, таких як звернення до ділянки пам'яті після його звільнення або, наприклад, вихід за кордон буфер. За словами спеціаліста Microsoft з безпеки, близько 70% усіх уразливостей, виявлених у програмних продуктах корпорації за останні 12 років, пов'язані з помилками. управління пам'яттю.

У мові Rust (як, мабуть, і в Verona), на відміну від C і C++, реалізований механізм автоматичного управління пам'яттю на основі принципу «володіння», який позбавляє програміста необхідності вручну маніпулювати пам'яттю, тим самим знижуючи ймовірність виникнення помилок . Варто також зазначити, що для продуктивності в Rust не використовується так званий збирач сміття (Garbage Collector, GC), до завдань якого входить автоматичне видалення з пам'яті об'єктів, які більше не затребувані програмою.

Zdnet пише, що Microsoft почала експериментувати з Rust влітку 2019 р. Повідомлялося, що компанія збирається переписати деякі зі своїх продуктів з використанням цієї мови програмування.

На початку листопада 2019 р. програміст з команди розробників Hyper-V (системи апаратної віртуалізації для x64-систем на (на основі гіпервізора), написав у корпоративному блозі про те, що йому доручили переписати на Rust якийсь низькорівневий компонент Windows, назвати який він поки не може. За його словами, незважаючи на незавершеність проекту, досвід застосування Rust виявився загалом позитивним. Він також зазначив, що кодову базу нових компонентів і вже існуючих, але з «чистими інтерфейсами», перекласти на Rust не складе значних труднощів. Крім того, Берч поскаржився на відсутність деяких можливостей у мові порівняно зі звичним йому C, але висловив упевненість у тому, що Microsoft зможе сприяти їхньому додаванню.

Rust з'явився в 2006 р. як особистий проект Graydon Hoare, співробітника Mozilla. У 2009 році Mozilla почала спонсорувати розробку Rust для власних потреб, а також розширила команду для подальшого розвитку мови.

Інтерес Mozilla до Rust був викликаний наявністю величезної кількості критичних уразливостей в браузером Firefox, що розробляється компанією, в реалізації якого було понад 4 млн рядків мовою C++. Rust був створений з урахуванням вимог безпеки та паралелізму, що зробило його відповідним вибором для переписування багатьох компонентів Firefox у рамках проекту Quantum з повної переробки архітектури браузера. Крім того, Mozilla використовувала Rust для розробки Servo, движка рендерингу HTML, який повинен був замінити чинний движок рендерингу Firefox.

Окрім Mozilla та Microsoft у своїх проектах Rust застосовують Google, Facebook, Amazon, Dropbox, Fastly, Baidu.

У серпні 2019 р. в рамках саміту з технологій з відкритим вихідним кодом (Open Source Technology Summit) провідний інженер Intel розповів про те, що його компанія зацікавлена ​​в тому, щоб у найближчому майбутньому Rust досяг «паритету» з домінуючим у галузі системної та низькорівневої розробки мовою C.

У тому ж місяці один із ключових розробників ядра Linux заявив, що не перешкоджатиме включенню в ядро ​​фреймворку для написання драйверів мовою Rust.

Інші новини