Обновление windows linux macos

How do devs at Windows, macOS, Linux etc. upgrade their OS using their existing OS?

Websites, mobile apps, desktop apps and mobile OSes are developed and updated using the desktop OSes, which I would call the ‘master OS’. But who updates the ‘master’? How do the devs upgrade Windows 10 to Windows 11 using Windows 10?

I have some experience in computing but software development for operating systems is completely mysterious for me. I have had this question ever since I learned about software development in general.

I saw Apple say how they use the Macs to build all of their other products and softwares, but they never answer how they build macOS itself. I understand how these companies could design an upgraded or a brand new computer by designing its new architecture as well as the circuitry and the components underneath with the help of a program like CAD. What I don’t understand is how they upgrade their existing software they themselves work in, especially when it has completely new features the old one doesn’t have. I feel like this is similar to a person performing a brain surgery on himself.

I would really appreciate if someone could ELI5 but only dumb it down enough for a person that understands how to really work with computers and knows the general theory of programming , like an amateur or the family IT guy.

  • You have your current OS, text editor, compiler.
  • You write code of the new improved OS using your current OS, text editor.
  • You compile the code (text file), compilation yields the new OS or the new kernel (binary file).
  • You replace (overwrite) your current kernel by the new kernel (current OS by new OS). This is possible, because while the OS is running it is in RAM not touching the disk.
  • You restart.
  • BIOS loads the new OS from disk to RAM and executes it.
  • tada.wav
  • How to update BIOS? Answer: The same.
  • How the first OS, text editor and compiler were created? Answer: The same. Using more primitive OS, text editor and compiler each step into the past. At the beginning there were toggle switches, punch cards, punch ribbon strips or similar.

The same style of question would be: How to create a hammer if in order to create a hammer you need a hammer? How was the first hammer created? Answer: By more primitive hammer, or something that is no hammer, but almost works as a hammer.

For more info read about bootstrapping compilers. Or trusting the trust by Ken Thompson.

thats kind of beautiful metaphor to think like we are all standing on the shoulders of our ancestors. thx for sharing

This is true in real world also, not only in computer world or programming world. Think of steam engine, it enabled sooo much progress in other fields. Also invention of lathe and precision measuring and engineering. Before that, invention of “simple machines” such as pulley, bolt/screw, windlass, lever. The same in math, physics, chemistry and so on.

Читайте также:  Администрирование линукс серверов работа

One thing that nobody else is touching on which I think is part of what you’re asking is that it differs from brain surgery in that they don’t need to work on the “live” version of the operating system that they are using to develop on. They might have another or multiple other computers that they install their in-development versions of the OS on, or use virtual machines (which is where a virtual computer is created inside of another computer running a completely different OS) to test their changes. Operating systems are also very large and made up of specific components, a single person might be working only on a very specific part of the OS at one time which they can swap into an existing version of the OS in order to test it, rather than having to have a half finished windows 11 on their PC.

While I’m not experienced enough to explain the full development stack of an OS. Let me throw my two cents. It typically goes by writing changes. If its superficial ones, like modern UI in Windows 11, then all they need to do is relaunch explorer/the app etc. Every time they make a change in the code, they then build and try it out. If its a more internal change, deep into the OS. Typically written in C or another low level language. Then its easier to test the changes in a virtual machine, you write your code, compile, build. And then load it up in the virtual machine to see if the OS doesn’t crash and burn. Later, after it gets past quality control in the company, (but most often these versions sit in beta for a while to catch problems). It then gets put into the Update servers and rolled out in bulk for mass destribution. Do note, updates don’t need to include the entire OS. Just packages including the file changes as well as general update busywork. PS: If anyone replies, feel free to correct me. Details may be sketchy but this is the short of it.

They use the old one to build the new one. It’s the same deal with compilers: to build the new version, you use your existing C compiler to build the new version of the compiler, then you use that build of the new compiler to recompile the compiler again itself (so you get the latest codegen from it), which results in the final compiler. So for Windows 11, they developed it on Windows 10. For macOS, they use the previous generation of Mac to build the new build of macOS, then they boot it up on another Mac to test it out with the first Mac being the host for a debugger connection and whatnot. For new hardware, it’s essentially the same deal: they made M1 Macs using the previous generation Intel Mac, and when the hardware is ready to build the new OS from the Intel Mac and boot it up on the M1 Mac and test it and so on. It’s called the bootstrap process, and it essentially goes all the way to punch cards and mainframes. The first assembler was made directly in machine code, then with the first assembler you can make a better assembler, and with the better assembler one could build the first C compiler, then with the first C compiler you can make a better and more complex C compiler, and with that you can make the first C++ compiler, and on and on. You just use whatever you already have and build the new one using it. Same goes with CAD design: first it was on paper, then we had computers where we could write CAD software to make better computers that can run better CAD software that lets you build even better computers and then better CAD software.

What I don’t understand is how they upgrade their existing software they themselves work in, especially when it has completely new features the old one doesn’t have. I feel like this is similar to a person performing a brain surgery on himself.

Источник

Читайте также:  Read only file system linux remount

Способы обновления основных операционных систем: Windows, Mac и Linux

Наблюдения и советы этой статьи мы подготовили на основании опыта команды операционная система компьютера Как бы то ни было, это, пожалуй, самый важный программный компонент, который у нас есть на компьютере, поэтому мы должны максимально заботиться о нем. Остальные приложения и платформы, которые мы используем ежедневно, зависят от этого, говорим ли мы о WindowsMacOS или Linux.

В течение некоторого времени он был разработан с учетом всего, что связано с безопасностью. Фактически, с годами это становится все более важным аспектом. Именно поэтому операционные системы в целом не могут быть неподвижными и неподвижными элементами, но должны расти и совершенствоваться. Это то что нам нужно обновления для.

Обновления операционных систем являются ключевыми элементами, поэтому эти элементы обычно следует считать существенными. Скорее всего, в отсутствие постоянных обновлений, поступающих к нам прямо сейчас, PC станет уязвимым.

операционные системы

Зачем нам нужно обновлять операционную систему

Стоит отметить, что существуют три причины, по которым системные обновления важны, и их можно распространить на любое программное обеспечение. Прежде всего мы должны принять во внимание новый Функции которые реализованы. И заключается в том, что разработчики операционных систем постоянно предоставляют новые функции. Хотя иногда они несколько раздражают, правда в том, что они являются основными, чтобы иметь современное программное обеспечение и новейшие.

С другой стороны, безопасность раздел вступает в игру, так как невозможно знать все уязвимости, которые может изначально включать программа. Следовательно, обновления содержат исправления безопасности, которые усиливают защиту кода. Кроме того, это должно возобновляться время от времени, иначе опасность возрастает.

И напоследок поговорим о поддержке. Это та, которая обеспечивает операционную систему «жизнью». Это потому, что система, которая больше не поддерживаемый его разработчиками считается «мертвым» или законченным. В результате компьютер, который больше не получает обновления, постепенно потеряет доступ к новым приложениям и будет становиться все более уязвимым.

Способы получения обновлений

С другой стороны, стоит отметить, что существует два способа распространения этих обновлений, о которых мы говорим. Одним из них является модель, которая считается централизованной. Это тот, в котором одна компания управляет всеми обновлениями, которые достигают компьютер независимо от его бренда или модели.

Читайте также:  Night light linux mint

Напротив, в децентрализованной модели обновления операционной системы происходят от многих источников , Таким образом, здесь существует определенная степень разделения между разработчиками и теми, кто объединяет различные части, которые достигают пользователей. Скажите, что оба подхода имеют свои плюсы и минусы. В качестве примера, Windows или MacOS имеют централизованный подход. Однако в Linux есть модель, которая считается децентрализованной.

Вот как Microsoft Windows получает свои обновления (H3)

Самая популярная операционная система для настольных ПК — это Windows, как вы, возможно, уже знаете. Что ж, Microsoft распространяет системные обновления всем, у кого есть ПК с Windows. Они публикуются в зависимости от запущенной версии. В прошлом переход на новую версию операционной системы был намного тяжелее и труднее. Но с Windows 10 ситуация иная, поскольку Redmond предоставляется бесплатно, это еще один способ обновить эту версию. Центр обновления Windows .

Системы Windows Update

Фактически, эта функция автоматически загружает обновления и вынуждает пользователей устанавливать их, что не всегда нравится всем. Однако это позволяет поддерживать компьютеры в актуальном состоянии, мы просто должны регулярно делать резервные копии наших данных, на всякий случай. Конечно, со временем Центр обновления Windows улучшался, так что мы можем иметь некоторый контроль над процессом.

Как компьютеры MacOS получают обновления

Скажем, Apple, со своей стороны, предоставляет обновления своей операционной системы напрямую пользователям через специальный инструмент для обновления программного обеспечения. В отличие от Windows, MacOS не обновляется автоматически, но мы можем активировать эту функцию. Обновления вручную дают нам время поддерживать данные, прежде чем мы получим новую версию.

Скачать обновление macOS Catalina

Конечно, подпись яблока конкретно не указывает, как долго каждая версия macOS будет совместима. Но обычно три самых последних версии получают исправления безопасности, а новые версии обычно выпускаются ежегодно. Но, конечно, поддержка старых версий может быть прекращена в любой момент без официального объявления. Кроме того, компания обычно явно перечисляет устройства, которые будут поддерживать каждую новую версию. Если компьютера в нем больше нет, вы больше не будете получать обновления.

Обновляйте дистрибутивы Linux наилучшим образом

Обычно мы ссылаемся на GNU / Linux как просто Linux, но в этом случае важно знать различия. Например, Google Chrome OS основан на Linux, но способ его работы отличается от других версий Linux, основанных на программном обеспечении GNU. Есть много рабочих столов на базе GNU, которые мы можем скачать. Большинство из них дает нам некоторую свободу действий при обработке обновлений. Уведомления обычно приходят автоматически, хотя мы должны загрузить и установить обновление вручную.

Linux Mint Debian Edition

Это то, что делается через приложение или из командной строки. Таким образом, частота, с которой мы получаем обновления, зависит от выбранного Распределение Linux . Например, мы можем использовать версию Linux, пока компьютер не перестанет соответствовать минимальным системным требованиям. Но если мы используем более конкретный дистрибутив, мы рискуем потерять доступ к обновлениям, так как проект может прекратить свое существование.

Следует также отметить, что Рабочие столы GNU имеют самый длительный срок службы, поэтому они будут продолжать работать, пока оборудование соответствует системным требованиям. Поскольку программное обеспечение разрабатывается не в одном центре, новые обновления и исправления могут быть доступны в течение нескольких месяцев или лет.

Источник

Оцените статью
Adblock
detector