Спонсор: Microsoft
Опубликован: 13.11.2010 | Уровень: для всех | Доступ: платный | ВУЗ: Санкт-Петербургский государственный университет
Лекция 1:

Понятие операционной системы (ОС), цели ее работы. Классификация компьютерных систем

Лекция 1: 1234 || Лекция 2 >

Понятие операционной системы и цели ее работы

После краткого вводного обзора перейдем к основным понятиям и их определениям. Прежде всего, дадим определение операционной системы.

Операционная система ( ОС, в англоязычном варианте - operating system ) – базовое системное программное обеспечение, управляющее работой компьютера и являющееся посредником ( интерфейсом ) между аппаратурой ( hardware ), прикладным программным обеспечением ( application software ) и пользователем компьютера ( user ). Фактически операционная система с точки зрения пользователя– это как бы продолжение аппаратуры, надстройка над ней, обеспечивающая более удобное, надежное и безопасное использование компьютеров и компьютерных сетей.

Основные цели работы операционной системы следующие.

  1. Обеспечение удобства, эффективности, надежности, безопасности выполнения пользовательских программ. Для пользователя самое главное – чтобы его программа работала, вела себя предсказуемо, выдавала необходимые ему правильные результаты, не давала сбоев, не подвергалась внешним атакам. Вычислительную среду для такого выполнения программ и обеспечивает операционная система.
  2. Обеспечение удобства, эффективности, надежности, безопасности использования компьютера. Операционная система обеспечивает максимальную полезность и эффективность использования компьютера и его ресурсов, обрабатывает прерывания, защищает компьютер от сбоев, отказов и хакерских атак. Эта деятельность ОС может быть не столь заметной для пользователя, но она осуществляется постоянно.
  3. Обеспечение удобства, эффективности, надежности, безопасности использования сетевых, дисковых и других внешних устройств, подключенных к компьютеру. Особая функция операционной системы, без которой невозможно использовать компьютер, - это работа с внешними устройствами. Например, ОС обрабатывает любое обращение к жесткому диску, обеспечивая работу соответствующего драйвера (низкоуровневой программы для обмена информацией с диском) и контроллера (специализированного процессора, выполняющего команды ввода-вывода с диском). Любая "флэшка", вставленная в USB-слот компьютера, распознается операционной системой, получает свое логическое имя (в системе Windows – в виде буквы, например, G) и становится частью файловой системы компьютера на все время, пока она не будет извлечена (демонтирована).
  4. Подчеркнем особую важность среди функций современных ОС обеспечения безопасности, надежности и защиты данных. Следует учитывать, что компьютер и операционная система работают в сетевом окружении, в котором постоянно возможны и фактически происходят атаки хакеров и их программ, ставящие своей целью нарушение работы компьютера, "взлом" конфиденциальных данных пользователя, хранящихся на нем, похищение логинов, паролей, использование компьютера как "робота" для рассылки реклам или вирусов и др. В связи с этим в 2002 г. фирма Microsoft объявила инициативу по надежным и безопасным вычислениям (trustworthy computing initiative ), целью которой является повышение надежности и безопасности всего программного обеспечения, прежде всего – операционных систем. В данном курсе мы будем подробно останавливаться на том, какие действия по обеспечению надежности, безопасности и защите данных предпринимают современные ОС.

Компоненты компьютерной системы

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

  1. Аппаратура (hardware) компьютера, основные части которой – центральный процессор (Central Processor Unit - CPU ), выполняющий команды (инструкции) компьютера; память (memory),хранящая данные и программы, и устройства ввода- вывода, или внешние устройства (input-output devices, I/O devices ), обеспечивающие ввод информации в компьютер и вывод результатов работы программ в форме, воспринимаемой пользователем-человеком или другими программами. Часто на программистском слэнге аппаратуру называют "железом".
  2. Операционная система (operating system) – основной предмет нашего курса; системное программное обеспечение, управляющее использованием аппаратуры компьютера различными программами и пользователями.
  3. Прикладное программное обеспечение (applications software) – программы, предназначенные для решения различных классов задач. К ним относятся, в частности, компиляторы, обеспечивающие трансляцию программ с языков программирования, например, C++, в машинный код (команды); системы управления базами данных (СУБД ); графические библиотеки, игровые программы, офисные программы. Прикладное программное обеспечение образует следующий, более высокий уровень, по сравнению с операционной системой, и позволяет решать на компьютере различные прикладные и повседневные задачи.
  4. Пользователи (users) – люди и другие компьютеры. Отнесение пользователя-человека к компонентам компьютерной системы - вовсе не шутка, а реальность: любой пользователь фактически становится частью вычислительной системы в процессе своей работы на компьютере, так как должен подчиняться определенным строгим правилам, нарушение которых приведет к ошибкам или невозможности использования компьютера, и выполнять большой объем типовых рутинных действий – почти как сам компьютер. Одна из важных функций ОС как раз и состоит в том, чтобы избавить пользователя от большей части такой рутинной работы (например, резервного копирования файлов) и позволить ему сосредоточиться на работе творческой. Другие компьютеры в сети также могут играть роль пользователей ( клиентов ) по отношению к данному компьютеру, выступающему в роли сервера, используемого, например, для хранения файлов или выполнения больших программ.

Девизом фирмы Sun Microsystems еще в 1982 г., при ее создании, стал афоризм " The network is the computer " (Сеть – это компьютер). Эту истину следует помнить всем пользователям компьютеров и их операционных систем и шире использовать возможности компьютерных сетей, распределяя различные функции между ее различными компьютерами (или хостами – hosts, как на компьютерном слэнге принято называть компьютеры в сети). Изолированный от сети компьютер ныне – это "каменный век". Отсюда – неразрывная связь операционных систем и сетей.

Общая картина функционирования компьютерной системы

Общая картина функционирования компьютерной системы

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

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

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

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

Суперкомпьютеры (super-computers) – мощные многопроцессорные компьютеры, наиболее современные из которых имеют производительность до нескольких petaflops (1015 вещественных операций в секунду; аббревиатура flops расшифровывается как floating-point operations per second ). Пример – суперкомпьютер "Ломоносов", установленный в МГУ. Суперкомпьютеры используются для вычислений, требующих больших вычислительных мощностей, сверхвысокой производительности и большого объема памяти. В реальной практике это прежде всего задачи моделирования – например, моделирования климата в регионе и прогнозирования на основе построенной модели погоды в данном регионе на ближайшие дни. Особенностью суперкомпьютеров является их параллельная архитектура – как правило, все они являются многопроцессорными. Соответственно, ОС для суперкомпьютеров должны поддерживать распараллеливание решения задач и синхронизацию параллельных процессов, одновременно решающих подзадачи некоторой программы.

Многоцелевые компьютеры, или компьютеры общего назначения (mainframes) – традиционное историческое название для компьютеров, распространенных в 1950-х – 1970-х гг., еще до эпохи всеобщего распространения персональных компьютеров. Именно для mainframe-компьютеров создавались первые ОС. Типичные примеры таких компьютеров: IBM 360/370; из отечественных – М-220, БЭСМ-6. На таких компьютерах решались все необходимые задачи – от расчета зарплаты сотрудников в организации до расчета траекторий космических ракет. Подобный компьютер выглядел достаточно неуклюже и громоздко и мог занимать целый большой зал. Вспомните, например. огромный компьютер HAL на космическом корабле в фантастическом фильме 1960-х гг. Стэнли Кубрика "Космическая одиссея 2001 г." Но никакие фантасты не смогли предвидеть прогресса компьютерной техники XXI века – прежде всего, того, что мощный компьютер будет не занимать целую комнату, а помещаться в небольшом ящике. Параметры ранних mainframe-компьютеров были весьма скромными: быстродействие - несколько тысяч операций в секунду, оперативная память – несколько тысяч ячеек (слов). Недостаточно удобным был пользовательский интерфейс (интерактивное взаимодействие с компьютерами было реализовано гораздо позже, в 1960-х гг.). Тем не менее, на таких компьютерах решались весьма серьезные задачи оборонного и космического назначения. С появлением персональных и портативных компьютеров классические mainframe-компьютеры ушли в прошлое. Однако следует подчеркнуть, что в именно в операционных системах для mainframe-компьютеров были реализованы все основные методы и алгоритмы, рассмотренные в данном курсе, которые впоследствии были использованы в ОС для персональных, карманных компьютеров и мобильных устройств.

Кластеры компьютеров (computer clusters) – группы компьютеров, физически расположенные рядом и соединенные друг с другом высокоскоростными шинами и линиями связи. Кластеры компьютеров используются для высокопроизводительных параллельных вычислений. Наиболее известны в мире компьютерные кластеры, расположенные в исследовательском центре CERN (Швейцария) – том самом, где находится большой адронный коллайдер. Как правило, компьютерные кластеры располагаются в исследовательских институтах и в университетах, в том числе, например, в Петродворцовом учебно-научном комплексе СПбГУ они используются в Петродворцовом телекоммуникационном центре (ПТЦ), на нашем математико-механическом и на физическом факультетах. Операционная система для кластеров должна, помимо общих возможностей, предоставлять средства для конфигурирования кластера, управления компьютерами (процессорами), входящими в него, распараллеливания решения задач между компьютерами кластера и мониторинга кластерной компьютерной системы. Примерами таких ОС являются ОС фирмы Microsoft – Windows 2003 for clusters; Windows 2008 High-Performance Computing (HPC).

Настольные компьютеры (desktops) – это наиболее распространенные в настоящее время компьютеры, которыми пользуются дома или на работе все люди, от школьников и студентов до домашних хозяек. Такой компьютер размещается на рабочем столе и состоит из монитора, системного блока, клавиатуры и мыши. Параметры современного (2010 г.) настольного компьютера, наиболее приемлемые для использования современных ОС: быстродействие процессора 1 – 3 ГГц, оперативная память – 1 – 8 гигабайт и более, объем жесткого диска (hard disk driveHDD) – 200 Гб – 1 Тб и более (1 терабайт, Тб = 1024 Гб). Все разнообразие современных операционных систем (Windows, Linux и др.) – к услугам пользователей настольных компьютеров. При необходимости на настольном компьютере можно установить две или более операционных системы, разделив его дисковую память на несколько разделов (partitions) и установив на каждый из них свою операционную систему, так что при включении компьютера пользователю предоставляется стартовое меню, из которого он выбирает нужную операционную систему для загрузки.

Портативные компьютеры (laptops, notebooks – дословно "компьютеры, помещающиеся на коленях"; "компьютеры-тетрадки") – это миниатюрные компьютеры, по своим параметрам не уступающие настольным, но по своим размерам свободно помещающиеся в небольшую сумку или рюкзак или, например, на коленях пользователя, летящего в самолете в командировку и не желающего терять времени даром. Ноутбуки стоят обычно в несколько раз дороже, чем настольные компьютеры с аналогичными характеристиками. На ноутбуках используются те же операционные системы, что и для настольных компьютеров (например, Windows или MacOS). Характерными чертами портативных компьютеров являются всевозможные встроенные порты и адаптеры для беспроводной связи: Wi-Fi (официально IEEE 802.11) – вид радиосвязи, позволяющая работать в беспроводной сети с производительностью 10-100 мегабит в секунду (используется обычно на конференциях, в гостиницах, на вокзалах, аэропортах – т.е. в зоне радиусом в несколько сотен метров от источника приема-передачи); Bluetooth – также радиосвязь на более коротких расстояниях (10 – 100 м для Bluetooth 3.0), используемая для взаимодействия компьютера с мобильным телефоном, наушниками, плейером и др. Внешние устройства (дополнительные жесткие диски, принтеры, иногда даже DVD-ROM) подключаются к ноутбуку через порты USB. Еще лет 10 назад на ноутбуках активно использовались инфракрасные порты ( IrDA ), которые, однако, неудобны, так как требуют присутствия "ответного" IrDA – порта другого устройства на расстоянии 20-30 см от порта ноутбука, при отсутствии между ними препятствий. Другая характерная черта ноутбуков – это наличие кард-ридеров – портов для чтения всевозможных карт памяти, используемых в мобильных телефонах или цифровых фотокамерах; обеспечивается также интерфейс FireWire (официально – IEEE 1394) для подключения цифровой видеокамеры; таким образом, ноутбуки хорошо приспособлены для ввода, обработки и воспроизведения обработки мультимедийной информации. Ныне портативный компьютер имеется почти у каждого студента, что они и используют для подготовки к ответу на экзамене, либо для решения задач практикума, иногда прямо в университетском буфете. Один из критических параметров ноутбука – время работы его батарей без подзарядки; очень хорошо, если это время составляет порядка 10 часов, что пока сравнительно редко; на компьютерах, используемых автором, это время составляет не более 5 часов. Популярная разновидность ноутбука ныне – это нетбук - ноутбук, предназначенный для работы в сети, обычно менее мощный и поэтому более дешевый, а также более миниатюрный.

Карманные портативные компьютеры и органайзеры (КПК, handhelds, personal digital assistants – PDA) – это "игрушки для взрослых" в виде миниатюрного компьютера, помещающегося на ладони или в кармане, но по своему быстродействию иногда не уступающего ноутбуку. При всей привлекательности, серьезные недостатки КПК, с точки зрения автора, - это неудобство ввода информации (приходится пользоваться палочкой- стилусом, - ведь не носить же с собой еще и громоздкую клавиатуру, - либо микроскопической выдвижной клавиатурой, на которой фактически тем же стилусом только и можно работать), а также неудобство чтения информации на маленьком экране. Автор уже "наигрался" в подобные КПК, - например, типа PalmPilot, - предпочитает пользоваться ноутбуками, а самым надежным органайзером считает ... небольшой бумажный блокнот. Однако молодежь приглашается к этой увлекательной интересной игре – через все в жизни нужно пройти. Современные КПК имеют фактически те же порты и адаптеры, что и ноутбуки – Wi-Fi, Bluetooth, IrDA, USB. Операционные системы для КПК аналогичны ОС для ноутбуков, но все же учитывают более жесткие ограничения КПК по объему оперативной памяти. В настоящее время для КПК широко используется ОС Windows Mobile – аналог Windows для мобильных устройств. До недавнего времени была также широко распространена PalmOS для органайзеров типа PalmPilot фирмы 3COM. Разумеется, для КПК имеется аппаратура и программное обеспечение для подключения к ноутбуку или настольному компьютеру с целью синхронизации данных, что обеспечивает дополнительную надежность.

Мобильные устройства (mobile intelligent devices – мобильные телефоны, коммуникаторы) – это устройства, которыми каждый из нас пользуется постоянно для голосовой связи, реже – для записи или обработки какой-либо информации или для выхода в Интернет. С точки зрения автора, наиболее важные параметры мобильного устройства – это по-прежнему качество голосовой связи и время автономной работы батареи. Однако все большее значение приобретают встроенные в них цифровые фото- и видеокамеры. Операционные системы для мобильных устройств отличаются большей компактностью, ввиду более жестких ограничений по памяти (например, собственная память, не расширенная SmartMedia-картой, у используемого автором с 2006 г. мобильного телефона Nokia 3230, кстати, с неплохой встроенной фотокамерой – всего 30 мегабайт). Эпоха доминирования на рынке мобильных телефонов операционных систем типа Symbian, видимо, заканчивается, и они уступают место более современным и обеспечивающим лучший пользовательский интерфейс ОС Google Android и Microsoft Windows Mobile. Для мобильных устройств, как и для КПК, весьма важная характеристика ОС – это ее надежность, в частности, сохранность данных после переполнения памяти, возникающего, например, в результате приема большого числа SMS-сообщений, интенсивной фото- или видеосъемки. К сожалению, ОС Symbian, по опыту автора, ведет себя в этом отношении недостаточно надежно: при приеме "лишнего" SMS-сообщения, не помещающегося в память телефона, он ... блокируется с жалобным сообщением "Memory full", после чего приходится вручную отключать и включать телефон и таким образом перезагружать ОС (к сожалению, SMS-ка, переполнившая чашу терпения ОС, при этом пропадает). С этой точки зрения, ОС для мобильных устройств нуждаются в дальнейшем совершенствовании. Что касается прочего программного обеспечения для мобильных телефонов (игр, утилит, прикладных программ и др.), то при их разработке доминирует Java-технология – одна из постоянных областей научных интересов автора. Изучить основы Java Вы можете, например, по книге автора "Введение в Java-технологию" или по его Интернет-курсу, опубликованному на русском сайте Sun / Oracle. В мобильных телефонах используется платформа ("издание") JME – Java Micro Edition, и любой мобильный телефон, выпускаемый вот уже более 10 лет, поддерживает Java. Программы на Java для мобильных телефонов называются мидлетами (от аббревиатуры MID – Mobile Intelligent Device ).

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

Распределенные системы (distributed systems) – это системы, состоящие из нескольких компьютеров, объединенных в проводную или беспроводную сеть. Фактически, таковы ныне все компьютерные системы (вспомните девиз "Сеть – это компьютер "). Все операционные системы должны, таким образом, поддерживать распределенный режим работы, средства сетевого взаимодействие, высокоскоростную надежную передачу информации через сеть. Все эти вопросы подробно рассмотрены в данном курсе.

Системы реального времени (real-time systems) – вычислительные системы, предназначенные для управления различными техническими, военными и другими объектами в режиме реального времени. Характеризуются основным требованием к аппаратуре и программному обеспечению, в том числе к операционной системе: недопустимость превышения времени ответа системы, т.е. ожидаемого времени выполнения типичной операции системы. Для ОС требования реального времени накладывают весьма жесткие ограничения – например, в основном цикле работы системы недопустимы прерывания (так как они приводят к недопустимым временным затратам на их обработку). Системы реального времени – особая весьма серьезная и специфическая область, изучение которой выходит за рамки данного курса.

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

Лекция 1: 1234 || Лекция 2 >
Гульжан Мурсакимова
Гульжан Мурсакимова
Василий Четвертаков
Василий Четвертаков
Анатолий Федоров
Анатолий Федоров
Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989
Олег Волков
Олег Волков
Россия, Балаково, МБОУ СОШ 19