Автор статьи: Артем Михайлов

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

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

Операционная система — это главный компонент любого компьютера или мобильного устройства. Она отвечает за управление всеми программами и ресурсами устройства, такими как процессор, память, хранение данных и многие другие. Примерами операционных систем являются Windows, Mac OS, Linux, Android и iOS.

История операционных систем началась задолго до появления первых персональных компьютеров. Уже в 1960-х годах IBM разработала первую операционную систему для своих мейнфреймов — OS/360. Эта ОС была написана на ассемблере и представляла собой монолитный блок программного кода, который легко выходил из строя, что часто приводило к сбоям системы.

В 1981 году IBM выпустила новую версию своей операционной системы — MVS (Multiple Virtual Storage), которая отличалась от предыдущей модульной архитектурой. Это дало возможность пользователям дополнительно устанавливать различные модули и системы управления ресурсами.

Интерфейс MVS
Интерфейс MVS

В 1984 году компания Apple выпустила первую операционную систему Mac OS для своих персональных компьютеров Macintosh. Она была первой операционной системой, которая использовала графический пользовательский интерфейс, и это существенно облегчило взаимодействие пользователя с компьютером. В то же время, компания Microsoft выпустила первую версию своей операционной системы Windows, которая была похожа на Mac OS, но, в отличие от нее, использовала несколько окон на одном рабочем столе.

интерфейс Mac OS 1984
интерфейс Mac OS 1984

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

Для чего нужны операционные системы? Ответ прост - они упрощают жизнь. ОС полностью скрывает от пользователя сложности управления компьютером или мобильным устройством, обеспечивая более простой способ взаимодействия с компьютером. Она обеспечивает запуск программ, управление файлами и действиями с ними. Кроме того, она обеспечивает взаимодействие с внешними устройствами, такими как принтеры, сканеры, мыши и клавиатуры.

Каждая операционная система имеет свои преимущества и недостатки, что определяет ее выбор для различных нужд. Например, Windows может хорош для игр, а Mac OS чаще выбирают для работы с мультимедийными проектами. Android и iOS — это операционные системы для мобильных устройств, а Linux хорошо подходит для серверов.

Основные принципы ОС

Операционные системы имеют несколько основных принципов, которые обеспечивают их правильную работу.

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

Второй принцип — поддержка программного обеспечения. ОС обеспечивает выполнение программного кода. Каждая программа, запущенная в ОС, использует системные ресурсы и вызывает функции ОС для выполнения своих задач. Программы могут быстро и эффективно работать в разных операционных системах благодаря общим API (программным интерфейсам приложений), которые определяют базовые команды и возможности ОС.

Третий принцип — управление файлами и папками. ОС управляет файлами на жестком диске (или на флэш‑накопителе в случае с мобильными устройствами), папками и всеми другими важными типами данных. Она обеспечивает пользователей специальными механизмами доступа, настроенными в соответствии с правами доступа.

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

Основные компоненты операционных систем

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

  1. Менеджер памяти. Это модуль, который управляет выделением и освобождением памяти и определяет, какая часть памяти может быть доступна каждому процессу.

  2. Планировщик задач. Этот компонент обеспечивает распределение процессорного времени между запущенными процессами, управляет приоритетами и временными интервалами выполнения процессов.

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

  4. Системные вызовы. Эти функции предоставляют пользователю возможность взаимодействовать с системой и выполнить операции, которые требуют доступа к ресурсам ОС, таким как файлы, сетевые соединения и т. д.

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

  6. Управление процессами и потоками. Ядро ОС управляет запущенными процессами и потоками, позволяя им выполняться параллельно и обеспечивая координацию и синхронизацию между ними.

  7. Управление файловой системой. Ядро ОС также обеспечивает работу с файловой системой, включая чтение и запись данных на диски, управление файлами и каталогами и т. д.

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

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

Задачи и процессы — это компоненты операционной системы, которые отвечают за управление запущенными программами и процессами. Задачами называются программы, которые запущены в операционной системе и выполняют некоторые задания. Процессы — это отдельные задачи, которые выполняются в рамках запущенной программы. Например, если вы открыли браузер и в нём открыли несколько вкладок с разными сайтами, то операционная система будет управлять каждым процессом отдельно.

Сетевые протоколы — это компоненты операционной системы, которые отвечают за передачу данных в компьютерной сети. Когда ваш компьютер подключен к сети, то каждый пакет данных, который отправляется или принимается, проходит через сетевые протоколы. Это могут быть такие протоколы, как TCP/IP, HTTP, FTP и так далее. Благодаря этим протоколам возможна передача информации в Интернете и в локальных сетях.

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

MacOS была создана компанией Apple и работает только на компьютерах производства Apple (например, MacBook, iMac и т. д.). Она является одной из наиболее надежных операционных систем для ПК, предоставляя широкий набор функций и инструментов для работы с графикой, мультимедиа и другими видами контента. Многие профессиональные дизайнеры, киностудии и другие креативные индустрии используют MacOS для своей работы.

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

IOS — это операционная система, созданная компанией Apple для смартфонов iPhone и планшетных компьютеров iPad. IOS является замкнутой операционной системой и не открыта для внешних разработчиков, что делает ее более безопасной и предоставляющей высокое качество и производительность при работе с приложениями. Она является одной из самых безопасных операционных систем для мобильных устройств и предоставляет широкий набор функций для работы с играми, мультимедиа, социальными сетями и другими видами контента.

Android — это открытая операционная система для смартфонов и планшетных компьютеров, разработанная Google. Android является самой популярной системой для мобильных устройств и предоставляет широкий набор возможностей и инструментов, которые позволяют разработчикам создавать уникальные приложения под различные нужды. Android используется на многих смартфонах и планшетных компьютерах различных производителей, таких как Samsung, Xiaomi, Huawei и многих других.

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

В завершение статьи хочу пригласить вас на бесплатный вебинар, где вспомним историю языков на примере LISP, Simula и Smalltalk, изучим проблему выражения (Expression Problem), да и в целом поговорим о том, как выбрать между ООП и ФП.

Комментарии (8)


  1. Myclass
    11.04.2023 21:06
    +4

    Ничего, что "Основами операционных систем" назвать можно было-бы в этом небольшом эссе не нашёл. Ни Multics, ни Unix, ни Linux, ни Swapping, ни очереди задач, ни про безопасность, ни описание работы с памятью, ни user management. короче - ничего. Хоть раз возьмите в руки книгу "Modern Operating Systems" от Tanenbaum(a) и хотя-бы полистайте. Сразу поймёте, что об операционных системах вы до сих пор ничего не знали.

    Ладно - про перфокарты может быть многим уже будет неинтересно, но в операционных системах так много интересного, что можно захлёбывась рассказывать о многих вещах в них. У вас это не получилось.

    Картинку с вики взяли, но содержание статьи в вики кастрировали так, что просто и не узнать. Задаюсь вопросом - зачем?

    PS.Хотя только после отправки заметил, что вы даже к картинкам не удасужились обозначить оригинальные источники. Мои студенты за это получили-бы незачёт.


    1. XanderBass
      11.04.2023 21:06

      Обычная реклама ¯_(ツ)_/¯ Ключевой абзац в статье - в конце, где про вебинар.


  1. Toshykan
    11.04.2023 21:06

    Профессор Фортран?


  1. mrzim
    11.04.2023 21:06

    Windows — это наиболее распространенная операционная система в мире

    Android же:


  1. serjeant
    11.04.2023 21:06
    +1

    Xerox 8010 Star (1981 год)

    Это первая система, которая позиционировалась как полностью интегрированная, с приложениями и графическим интерфейсом. Она была известна как «The Xerox Star», позже
    была названа «ViewPoint» и ещё позже переименована в «GlobalView».

    А потом уже появилась Mac OS


  1. 1dmitry
    11.04.2023 21:06

    В этой связи могу порекомендовать интересующимся учебник "Внутреннее устройство Linux" за авторством Кетова Д.


  1. kgenius
    11.04.2023 21:06
    +1

    Ожидал от заголовка большего. Надергано все подряд - какая-то компиляция из разных текстов. Видимо действительно ради ссылки на вебинар, в конце.


    1. MaxRokatansky Автор
      11.04.2023 21:06
      +1

      Да на самом деле статья рассчитывалась, как довольно обобщенный материал для новичков, без углубления в техническую составляющую. На будущее учтем все комментарии