Для чего нужны системы программы

Содержание

Для начала определимся что такое операционная система и зачем она нужна.

Операционная система (ОС, Operating system, OS) — это набор программ, которые обеспечивают управление и взаимодействие систем компьютера между собой, а также позволяют пользователю работать со своим оборудованием.

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

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

В дальнейшем речь пойдет об ОС для персональных компьютеров и серверов.

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

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

Для использования программы sfc необходимы права администратора и выполнение сеанса консоли

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

Windows

Разработана компанией Microsoft. Хотя операционная система платная, она самая популярная в мире среди пользователей компьютеров и ноутбуков, предустановленная на большинстве ПК.

Первая версия программы вышла в 1985 году. Наиболее популярная Windows10 считается не только удобной, но и с повышенной безопасностью. В настоящее время уже выпущена версия Windows11, по сравнению с предыдущей версией, у нее появился новый интерфейс, панель виджетов, улучшена многозадачность и добавлена поддержка приложений на Android. Новая версия системы пока используется меньше, в нее вносятся улучшения и дополнения.

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

MacOS

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

Программы Portable — что это и зачем нужны?

Linux

Linux — семейство бесплатных операционных систем с открытым исходным кодом, работающих на основе одноимённого ядра. Это значит, что на базе ядра Linux могут создаваться различные операционные системы. У линукс несколько версий, которые можно использовать. Самые популярные из них: Ubuntu, Debian и Fedora.

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

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

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

Операционная система с открытым исходным кодом на базе Red Hat Enterprise Linux компании Red Hat. Хотя дистрибутив Red Hat Enterprise Linux является коммерческим CentOS распространяется полностью бесплатно. Ее отличают высокая стабильность работы и долгие сроки поддержки разработчиками. CentOS предназначена для корпоративных клиентов, используется чаще всего на выделенных серверах.

Unix

Появилась в 1970-х годах, она стала основой для многих современных ОС. Unix сейчас используется только в серверах, так как заточен на работу с ними. У серверов нет клавиатуры и монитора, подключения идет по сетевым соединениям, поэтому разработчики не озадачились созданием привлекательного интерфейса. Зато Unix гарантирует надёжность, производительность и масштабируемость. Unix — это фундамент для всех Linux-систем.

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

Какую операционную систему выбрать

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

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

Если вы планируете работать на оборудовании Apple или разрабатывать для него какие-то программы и приложения, то здесь вариант только один – использовать родную ОС.

Если ваша деятельность не привязана к продукции компании Apple, то вам остается выбирать между Windows и Linux (объединим под этим названием все UNIX-подобные системы).

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

Отличия ОС Windows и Linux

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

Безопасность

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

Читайте также:
Atk hotkey utility что это за программа

Стоимость

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

Установка

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

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

Требования к оборудованию

Для работы последних версий Windows потребуется двухъядерный процессор и 1 Гб оперативной памяти. Требования для нормальной работы Linux ниже: достаточно одноядерного процессора и 256 Мб оперативной памяти.

Поддерживаемое программное обеспечение

Популярность Windows – причина большого разнообразия программ, которые разрабатываются под нее. Особенно часто под Windows делаются компьютерные игры, поэтому она является более предпочтительной ОС для геймеров. Хотя Linux постоянно дополняет список доступных программ, иногда требуется самостоятельная доработка под нестандартные задачи. Linux популярна среди разработчиков и web-программистов, они выбирают ее за гибкость настроек, безопасность и открытый код. Windows – в первую очередь используют начинающие пользователи и частные владельцы ПК по причине большого разнообразия доступных программ и простоты использования.

Стоит ли платить за операционную систему

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

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

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

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

Какие операционные системы используются на серверах

Microsoft Windows Server

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

FreeBSD

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

CentOS Server

Одна из самых популярных серверных систем. Она построена на базе Red Hat Enterprise Linux (RHEL) и является продуктом с открытым исходным кодом. Популярность системы обусловлена минимальными требованиями к ресурсам.

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

Ubuntu Server

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

Debian Server

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

Fedora Server

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

Oracle Linux Server ОС

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

Заключение

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

Серверная операционная система – более функциональная программа и требует больше оперативной памяти.

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

Источник: www.nic.ru

Лекция №1. Введение в системное программное обеспечение

Традиционно, программы, работающие на компьютере, можно разделить на следующие категории:

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

Некоторые специалисты отдельно выделяют также и

  • инструментальные системы (системы программирования), обеспечивающие создание новых программ для компьютера.

Однако последнюю категорию зачастую также относят к классу системных программ.

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

Это самый многочисленный класс программных продуктов.

Системное программное обеспечение (СПО) – совокупность служебных программ, предназначенных для выполнения следующих задач:

  • общего управления системой на всех этапах вычислительного процесса;
  • предоставления унифицированного доступа прикладных программ к ресурсам ВС;
  • написания программ как таковых, представления их в виде загружаемых и исполняемых кодов;
  • предоставления специализированных сервисов общего назначения;
  • обеспечения защиты ВС, конфиденциальности и сохранности пользовательских данных;
  • предоставления доступа к внешним ресурсам, в т.ч. других ВС.
Читайте также:
Программа обработка паром в стиральной машине что это такое

Рассмотрение СПО неразрывно связано с понятием вычислительной системы.

Вычислительная система – совокупность аппаратных и программных средств (рис. 1), предназначенная для решения вычислительных задач (выполнения вычислительных процессов).

Аппаратное обеспечение ВС – совокупность физических устройств (электронных компонентов), связанная шинами передачи данных, реализующая вычислительный процесс.

Программное обеспечение ВС – совокупность программ и данных, обеспечивающих организацию вычислительного процесса и управление им.

Рис 1. Компоненты ВС и виды СПО

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

Рис. 2. Иерархия компонентов ВС

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

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

Наиболее значимым видом системного программного обеспечения являются операционные системы.

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

Операционная система предназначена для управления выполнением пользовательских программ, планирования и управления вычислительными ресурсами ЭВМ.

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

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

К специальному программному обеспечению информационных и управляющих систем относятся

· программы (системы) управления базами данных;

· программы управления языком интерфейса информационных систем;

· программы сбора и предварительной обработки информации (в информационно-измерительных системах, например, бортовые системы).

ПО этого класса часто оказывается скрытым в составе драйверов оборудования или поставляется в виде библиотек функционального расширения языков программирования.

Поэтому часто такие ПО относят к системному программному обеспечению.

Что нужно знать для разработки операционной системы

Создание операционной системы — одна из сложнейших задач в программировании, поскольку требует обширных и комплексных знаний о работе компьютера, — пишет tproger.ru в своем переводе статьи «How To Program Your Very Own Operating Systems (OS)».

Как написать свою операционную систему

Какие именно знания нужны? Разбираемся ниже.

Что такое ОС

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

Компьютеры первого поколения не имели операционных систем. Программы на первых ЭВМ включали в себя код для непосредственной работы системы, связи с периферийными устройствами и вычислений, для выполнения которых эта программа и писалась. Из-за такого расклада даже простые по логике работы программы были сложны в программной реализации.

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

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

Кратко об истории операционных систем

Первая операционная система была создана в 1956 году компанией General Motors для единственного компьютера IBM. Остальные владельцы этих компьютеров последовали примеру и начали создавать собственные ОС.

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

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

В эти же годы компании Control Data Corporation, Computer Sciences Corporation, Burroughs Corporation, GE, Digital Equipment Corporation и Xerox тоже начали реализовывать свои ОС.

В конце 60-х была разработана первая версия ОС Unix. Написанная на Си, свободно доступная первые годы, Unix привлекала всё больше внимания и аудитории. Она легко портировалась на новые системы и начала набирать обороты.

Многие современные ОС, включая Apple OS X и все разновидности Linux-систем, являются дальними потомками Unix.

Microsoft Windows, в свою очередь, была написана для ряда персональных компьютеров IBM.

Первая ОС от Microsoft называлась не Windows, а MS-DOS. Эта система была создана в 1981 году, когда систему 86-DOS купили у компании Seattle Computer Products и модифицировали её под требования IBM.

Всем привычное название Windows появилось в 1985, когда MS-DOS обзавелась графическим интерфейсом.

Apple OS X, Microsoft Windows и ряд Linux-систем (включая Android) сейчас контролируют большую часть рынка операционных систем.

Что нужно для создания операционной системы

Составляющие операционной системы

ОС состоит из двух основных частей:

  • ядро системы;
  • системные программы.

Ядро (англ. kernel)

Сердце операционной системы. Именно оно запускается первым при включении компьютера (не считая BIOS и загрузчик). Ядро контролирует ресурсы компьютера и обрабатывает запросы от системных программ.

Системные программы

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

Пользовательские программы

Не являются частью операционной системы. Именно эти программы уже имеют конкретное назначение. Текстовые редакторы, браузеры, медиа-плееры — всё это пользовательские программы. Они контролируются ядром и используют системные программы для доступа к периферии.

Читайте также:
No filters что это за программа

Что необходимо знать

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

  • базовое понимание компьютерной науки (информатики);
  • теория и опыт в программировании;
  • знание высоко- и низкоуровневых языков программирования.

Что нужно знать для создания своей операционной системы

Изучение информатики

Разработка ОС — это не тоже самое, что, скажем, веб-разработка. Тут нельзя будет просто и быстро разобраться в базовых вещах. Для начала нужно получить крепкий базис информатики и только потом переходить к другим темам.

Coursera: Computer Science 101 — это курс, который подойдёт для тех, кто только начал осваиваться в информатике и программировании. Если у вас уже имеются элементарные знания в в этой области, то пропустите этот курс и переходите к следующему.

Udacity: Intro to Computer Science использует веб-разработку в качестве подхода к обучению компьютерной науке. Хоть курс и не направлен на непосредственную разработку ОС, он даёт мощный базис в области программирования.

edX: Introduction to Computer Science — этот курс является самым исчерпывающим и углублённым в этом списке. Несмотря на это, он полностью бесплатен. Курс был разработан в Гарвардском Университете. В нём вас научат алгоритмам, структурам данных, управлению ресурсами, разработке ПО, а так же познакомят с такими языками программирования, как C, PHP и JavaScript.

Подборка книг для самостоятельного изучения Computer Science.

Изучение программирования

С крепкими знаниями в области информатики и хотя бы базовым пониманием программирования вам нужно набраться опыта в разработке проектов.

Udacity: Software Development Process — отличный курс для тех, кто ещё не принимал участие в крупных проектах. Тут вас ознакомят с подробностями рабочего процесса и работой с инструментарием (например Git), а также расскажут о настройке интегрированной среды разработки.

Изучение языков программирования

Для разработки операционной системы вам понадобится освоить минимум два языка программирования:

  • низкоуровневый язык ассемблера;
  • высокоуровневый язык программирования.

Первый используется для работы напрямую с процессором. Процессор «понимает» только машинный код, и для каждого типа процессора есть только один соответствующий язык. Одной из самых популярных архитектур процессора является x86. Она была разработана компанией Intel и на текущий момент широко используется многими производителями компьютерного железа, включая AMD. По этой причине в этой статье акцент будет именно на архитектуру x86.

Высокоуровневые языки программирования, в свою очередь, работают сразу на нескольких архитектурах. Самый популярный из таких языков — Cи. Чаще всего именно на нём и пишутся операционные системы. Но это не означает, что этот язык единственный. Для написания ОС можно использовать и более высокоуровневые языки, например C++ или Python.

Прим. перев. Есть пример написания «игрушечных» операционных систем на C#. Cosmos — некий конструктор ОС. В этой статье на практическом примере показывают написание системы всего в нескольких десятках строк.

Что нужно для создания операционной системы

Язык ассемблера для x86

«x86 Assembly Guide» — неплохо подойдёт для начального изучения ассемблера. Несмотря на то, что эта статья коротка для полного курса, в ней содержится всё необходимое для дальнейшего углубления.

Книга «Programming from the Ground Up» Джонатана Бартлетта является одной из основных по изучению ассемблера. В ней основами языка программирования подкрепляются базисы информатики.

Для изучения ассемблера есть ещё одна показательная книга — «The Art of Assembly Language», написанная Рэнди Гайдом. Изначально книга писалась специально для курсов, которые вёл автор в Калифорнийском университете Cal Poly и UC Riverside. В середине 90-х годов книга была признана определяющей в этой сфере.

Если вдруг вышеописанные материалы вам не подошли, вот ещё пара отличных книг:

  • «Assembly Language Step-by-Step: Programming with Linux» Джефа Дантеманна;
  • «Modern X86 Assembly Language Programming» Дэниэля Кассварма.

Язык Cи

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

Начать изучать этот язык можно отсюда. Этот ресурс ознакомит вас с базовыми понятиями и подготовит к более сложным задачам.

«Learn C the Hard Way» — название ещё одной книги. Кроме привычной теории в ней собрано много практических решений. Этот учебник расскажет обо всех аспектах языка.

Либо же можете выбрать одну из этих книг:

  • «The C Programming Language» Кернигхана и Ритчи;
  • «C Programming Absolute Beginner’s Guide» Пэрри и Миллера.

Разработка операционной системы

Разработка ОС

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

«Linux From Scratch». Здесь рассматривается процесс сборки операционной системы Linux (учебник переведён на много языков, в том числе и на русский). Тут, как и в остальных учебниках, вам предоставят все необходимые базовые знания. Полагаясь на них можно попробовать себя в создании ОС. Чтобы сделать программную часть ОС более профессиональной, присутствуют дополнения к учебнику: «Beyond Linux from Scratch», «Automated Linux from Scratch», «Cross Linux from Scratch» или «Hardened Linux from Scratch».

«The little book about OS development» Эрика Хэйлина и Адама Ренберга. Этот учебник разработан в рамках продвинутого курса информатики и на момент его написания авторы являлись студентами Королевского Института Технологий в Стокгольме. В этой книге рассматривается разработка ОС для архитектуры x86 (причём с самого начала — с установки среды разработки). В этом курсе рассказывается о многих интересных темах, включая многозадачность, управление памятью и разработку файловой системы.

«Operation System Development Series» Broken Thorn Entertainment — серия из 25 уроков, посвящённых разработке ОС с нуля.

Примечание Эти уроки рассчитаны на то, что вы уже знакомы с IDE и владеете как языком ассемблера, так и Cи.

Вот ещё три книги, которые помогут вам ознакомиться с дисциплиной разработки ОС:

  • «Modern Operating Systems» Таненбаума и Боза;
  • «The Design of the UNIX Operating System» Маурайса Баха;
  • «Operating System Concepts» Сибершатза, Гальвина и Ганге.

Сообщества, посвященные разработке ОС

Заниматься разработкой ОС в одиночку смело, но сложно. Гораздо проще найти единомышленников, которые, как и вы, решили попытать удачу в этом нелёгком деле. Существует пара подходящих мест:

  • OSDev.org — это Вики с исчерпывающей информацией о разработке ОС и отличным форумом, где вы можете попросить о помощи или же наоборот сами кого-нибудь выручить.
  • OS Development Channel на Реддите. Канал, также посвящённый разработке ОС.
  • Computer Science, Programmers, StackOverflow от StackExchange — площадки, где вы можете задавать различные технические вопросы.

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

Источник: techrocks.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru