Понятие операционной системы (ОС), цели ее работы. Классификация компьютерных систем
Введение
Данный курс познакомит Вас с основами современных операционных систем и сетевых технологий и научит их практически использовать.
Комментарии к списку литературы
Список литературы по курсу приведен в конце данной лекции.
Вот некоторые комментарии к этому списку.
Книга [ 1 ] классический учебник по ОС Йельского университета (США). Некоторые материалы презентаций к этому курсу использованы при подготовке презентаций моего курса, за что автор выражает признательность коллегам из Йельского университета.
Книги [ 2 ] , [ 3 ] профессора Эндрю Таненбаума входят в "золотой фонд" современной учебной литературы по ИТ. Настоятельно рекомендую их студентам в качестве основной литературы по моему курсу.
Учебник [ 4 ] представляет классическую литературу по ОС прошлых лет (1970-х гг.). Несмотря на свой возраст, он является фундаментальной работой, одной из лучших книг по операционным системам, материал которой не устарел и по сей день.
Книги [ 5 ] , [ 6 ] , [ 8 ] , [ 9 ] посвящены некоторым конкретным современным операционным системам – Windows, Linux, MacOS.
Книга [ 7 ] уникальна, так как является первой книгой по внутренней архитектуре Windows. Она написана специалистами, несколько лет работавшими совместно с подразделением разработки Windows в Microsoft (один из ее авторов стал сотрудником Microsoft).
Рекомендую для использования также материалы своих курсов по ОС в электронном виде на русском и английском языках [ 10 ] , [ 11 ] .
Краткое содержание курса
Данный курс посвящен основным концепциям операционных систем и сетей. Однако он не является чисто теоретическим, а дает практические навыки работы в современных ОС, рассматривает методы и приемы администрирования ОС и сетей, а также содержит лабораторные работы, помогающие студентам практически освоить рассматриваемые концепции.
Набор операционных систем, рассматриваемых в курсе, очень широк. Это прежде всего ОС семейства Windows (2000, XP, 2003, Vista, 2008, 7), в том числе – Windows для встроенных систем (Windows Embedded), Windows для мобильных устройств (Windows Mobile) и Windows для облачных вычислений (Windows Azure).
Кроме того, рассматриваются популярные ОС семейства Linux, а также особенно хорошо известная автору ОС Solaris разработки Sun / Oracle, которая была для автора основным рабочим инструментом в течение 10 лет.
Рассмотрена также популярная современная ОС для мобильных устройств Google Android.
Современность курса нашла свое выражение также в рассматриваемых сетевых протоколах. Рассмотрена не только классическая модель сетевых протоколов ISO / OSI, но и некоторые современные протоколы, например, Wi-Fi, GPRS, EVDO, SIMPLE/SIP.
Почему важно знать операционные системы – мнение эксперта из Microsoft
По мнению Дэвида Проберта, менеджера по разработке ОС Windows (Microsoft), знание операционных систем является основой успешной карьеры в сфере программирования. Предмет ОС сочетает в себе как математические методы, так и методы проектирования современного программного обеспечения, которые используются и во многих других современных областях – при разработке игр, клиент-серверных приложений, бизнес-приложений, Web-технологий и программных инструментов.
Знание ОС способствует становлению зрелого мышления программиста и хорошему знанию сетевых технологий и протоколов, виртуальных машин, методов современного программирования.
С этим компетентным мнением нельзя не согласиться.
Расцвет ОС в 2000-х гг
В настоящее время мы являемся свидетелями небывалого расцвета операционных систем, поэтому для их изучения сейчас для студентов открываются огромные возможности: выпускаются новые ОС для настольных компьютеров, кластеров компьютеров и параллельных вычислений, мобильных устройств, облачных вычислений.
Бесспорным лидером в данной области является корпорация Microsoft, выпустившая менее чем за 10 недавних лет целую серию ОС семейства Windows: Windows XP, Windows 2003, Windows Vista (2007), Windows 2008, Windows 2008 High-Performance Computing (HPC), Windows 7.
Развиваются также диалекты ОС Linux (Red Hat, Fedora, Mandrake, Ubuntu, SuSE и др.– сотни диалектов). Linux – операционная система типа UNIX, ядро которой свободно распространяется с исходными кодами.
Фирма Sun (в 2010 г. вошедшая в состав фирмы Oracle) разрабатывает и выпускает ОС Solaris – одну из наиболее современных ОС типа UNIX с развитой поддержкой параллельного программирования, новыми видами файловых систем, отличающуюся своей повышенной надежностью.
Это лишь некоторые ОС, которым в данном курсе будет уделено значительное внимание. Существует также много других операционных систем. В США и Канаде, как известно, весьма популярны компьютеры семейства Macintosh фирмы Apple (коротко – Mac) со своей операционной системой MacOS, являющейся законодателем мод в области графических пользовательских интерфейсов (GUI) и обмена мультимедийной информацией (например, речевого ввода). Назовем также ОС фирмы IBM для суперкомпьютеров и компьютеров общего назначения (mainframes).
Особенно важно для успешного изучения операционных систем то, что в настоящее время многие из них (или их крупные части, например, ядро) доступны с открытым исходным кодом.
Корпорация Microsoft положила начало этому движению в 2003 г., когда была объявлена академическая программа Windows Embedded Shared Source – был открыт исходный код Windows для встроенных систем. А в 2006 г. произошло и вовсе невероятное доселе в программистском мире событие – Microsoft открыла "святую святых", исходный код ядра ОС Windows семейства NT (NT/2000/XP/2003/2008/7) и предоставила в распоряжение университетов и академических организаций Windows Research Kernel (WRK) – самодокументированный исходный код "исследовательского" ядра Windows. Теперь каждый студент, преподаватель и исследователь имеют возможность изучать систему Windows "изнутри" и даже развивать ее, но только для целей обучения и исследований, а не для коммерции.
Фирма Sun (ныне – Oracle) положила начало аналогичной инициативе для ОС Solaris – несколько лет назад был начат проект OpenSolaris. Результаты этого академического проекта используются при выпуске новых версий коммерческой ОС Solaris.
По традиции, еще с начала 1990-х гг., ядро ОС Linux также распространяется свободно, с исходными кодами, что вызвало целую волну работ по созданию новых диалектов Linux, а также по разработке новых ОС для мобильных устройств на базе ядра Linux (например, ОС Google Android).
Также интенсивно развиваются ОС для мобильных устройств. Еще несколько лет назад наиболее используемыми ОС в этой области были ОС семейства Symbian. Однако сейчас ОС Microsoft Windows Mobile и Google Android активно теснят Symbian с рынка.
ОС для облачных вычислений – принципиально новый вид ОС, отражающий современную тенденцию к организации вычислений как облачных (cloud computing).Облако – это метафора Интернета. При облачных вычислениях пользователь со своего компьютера получает платный доступ через Интернет к Web-сервисам, работающим на компьютерах мощных центров обработки данных (например, на серверах Microsoft). При этом не только используемое программное обеспечение (в виде набора Web-сервисов), но и сами обрабатываемые данные пользователя хранятся на серверах "облачного" центра обработки данных. На своем компьютере пользователь имеет лишь простой и удобный и не требующий больших ресурсов "облачный" Web-интерфейс. Наиболее распространенной ОС для облачных вычислений является в настоящее время Microsoft Windows Azure.
Вот лишь очень краткий обзор развития операционных систем в наши дни.
По мнению автора, крупные фирмы открывают исходные коды своих операционных систем, привлекая молодых талантливых специалистов интересными проектами ОС с открытым исходным кодом, так как им необходимы молодые программисты и новые интересные идеи, которые позволят сделать ОС еще более мощными, масштабируемыми, удобными, эффективными, надежными и безопасными.