Ос для пк и их разновидности. Что такое операционная система, виды ос

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

На самом верхнем уровне находятся ОС для мэйнфреймов . Эти огромные машины еще можно встретить в больших организациях. Мэйнфреймы отличаются от персональных компьютеров по своим возможностям ввода/вывода. Довольно часто встречаются Мэйнфреймы с тысячью дисков и терабайтами данных. Мэйнфреймы выступают в виде мощных web -серверов и серверов крупных предприятий и корпораций. Операционные системы для мэйнфреймов в основном ориентированы на обработку множества одновременных заданий, большинству из которых требуется огромное количество операций ввода-вывода. Обычно они выполняют три вида операций: пакетную обработку, обработку транзакций (групповые операции) и разделение времени. При пакетной обработке выполняются стандартные задания пользователей, работающих в интерактивном режиме.

Системы обработки транзакций управляют очень большим количеством запросов, например бронирование авиабилетов. Системы, работающие в режиме разделения времени, позволяют множеству удаленных пользователей одновременно выполнять свои задания на одной машине, например,работать с большой базой данных. Все эти функции тесно связаны между собой, и операционная система мэйнфрейма выполняет их все. Примером операционной системы для мэйнфрейма является OS /390.

Уровнем ниже находятся серверные ОС. Серверы представляют собой или многопроцессорные компьютеры. Эти ОС одновременно обслуживают множество пользователей и позволяют им делить между собой программно-аппаратные ресурсы. Серверы также предоставляют возможность работы с печатающими устройствами, файлами или Internet . У Internet -провайдеров обычно работают несколько серверов для того, чтобы поддерживать одновременный доступ к сети множества клиентов. На серверах хранятся страницы web -сайтов и обрабатываются входящие запросы. UNIX и Windows 2000 являются типичными серверными ОС.

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

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


23. Базовые понятия операционных систем. Процессы и потоки. Управление памятью.

Процессы

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

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

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

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

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

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

Модель процессов упрощает представление о внутреннем поведении системы. Некоторые процессы запускают программы, выполняющие команды, введенные с клавиатуры пользователем. Другие

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

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

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

Потоки

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

Модель процесса базируется на двух независимых концепциях: группировании ресурсов и выполнении программы. Когда их разделяют, появляется понятие потока.

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

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

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

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

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

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

При использовании потоков имеется также возможность совместного применения параллельными объектами одного адресного пространства и всех содержащихся в нем данных. Для некоторых приложений эта возможность является существенной. В таких случаях схема параллельных процессов с разными адресными пространствами не подходит.

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

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

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

Концепция потоков полезна также в системах с несколькими процессорами, где возможен настоящий параллелизм.

Управление памятью

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

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

Компьютеры обладают также десятками мегабайт энергозависимой оперативной памяти ОЗУ (RAM , RandomAccessMemory - память с произвольным доступом) и десятками или сотнями гигабайт медленного энергонезависимого пространства на жестком диске. Одной из задач ОС является координация использования всех этих составляющих памяти.

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

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

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

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

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

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

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

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

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

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

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

Работа системы свопинга заключается в следующем. Пусть имеются 4 процесса - А, В, С, D . На начальной стадии в памяти находится только процесс А. Затем с течением времени создаются или загружаются с диска последовательно процессы В и С. В следующий момент процесс А выгружается на диск. Затем появляется процесс D , а процесс В завершается. Наконец, процесс А снова возвращается в память. Распределение памяти изменяется по мере того, как процессы поступают в память и покидают ее. Так как теперь процесс А имеет другое размещение в памяти, его адреса должны быть перенастроены или программно во время загрузки в память, или аппаратно во время выполнения программы.

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

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

Виртуальная память может также работать в многозадачной системе при одновременно находящихся в памяти частях многих программ. Когда программа ждет перемещения в память очередной своей

части, она находится в состоянии ввода-вывода и не может работать, поэтому ЦП может быть отдан другому процессу.

24. Ввод-вывод ОС. Драйверы устройств. Схема логического расположения драйверов устройств.

Ввод-Вывод

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

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

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

Устройства ввода-вывода обычно состоят из механической и электронной частей. Механический компонент находится в самом устройстве. Электронный компонент устройства называется контроллером или адаптером. В современных компьютерах контроллеры встраиваются в материнскую плату или располагаются на самом устройстве ввода-вывода.

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

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

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

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

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

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

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

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

Драйверы Устройств

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

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

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

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

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

Драйвер устройства выполняет несколько функций:

1) обработку абстрактных запросов чтения и записи независимого от устройств и расположенного над ними программного обеспечения;

2) инициализацию устройства;

3) управление энергопотреблением устройства и регистрацией событий;

4) проверку входных параметров. Если они не удовлетворяют определенным критериям, драйвер возвращает ошибку. В противном случае драйвер преобразует абстрактные термины в конкретные. Например, дисковый драйвер может преобразовывать линейный номер блока в номера головки, дорожки и секторы;

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

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

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

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

25. Файловые системы ОС.

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

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

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

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

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

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

При организации ФС в виде дерева каталогов требуется некоторый способ указания файла. Для этого обычно используются два различных метода. В первом случае каждому файлу дается абсолютное имя пути, состоящее из имен всех каталогов от корневого до того,в котором содержится файл, и имени самого файла. Например, путь \ user \ abc \ myfile . doc означает, что корневой каталог содержит каталог user , который, в свою очередь, содержит подкаталог abc , где находится файл myfile . doc .

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

Определение физического расположения частей файла;

Определение наличия свободного места и выделение его для вновь создаваемых файлов.

26. Рассмотрение конкретных операционных систем (Windows, UNIX, Linux).

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

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

Когда вы, например, меняете курсор на Windows, работу по смене курсора выполняет скрипт, который по-умолчанию уже в системе. Для скрипта написан графический интерфейс (это отдельная программа), который тоже по-умолчанию и который тоже нельзя ни выбрать, ни сменить, ни удалить. Вы нажимаете кнопку (графический интерфейс), запускаете тем самым скрипт и курсор меняется. Для Windows есть один вариант программы смены курсора. Всё. У вас нет права это менять.

На Linux таких программ может быть очень много, примером тому могут послужить графические среды для Linux"а. Только я знаю с десяток. Так и с остальными программами. Вы сами выбираете, какие программы ставить. Но смысл в том, что Linux даёт вам ПОЛНУЮ свободу действий. То есть сами выбираете и сами ставите. Хотите увидеть голый Windows - взгляните на DOS. Удобно?

Поэтому если чего-то не хватает, надо искать готовое решение и самому устанавливать его в систему. Если решения нет, его надо писать или просить энтузиаста. Linux - это конструктор, надо принимать это как данность, если собрались использовать эту ОС. Есть сборки типа Ubuntu, где уже многое прикрутили, но там также прикрутили много лишнего, чтобы угодить всем. Причём забыли спросить А оно ВАМ надо? . Поэтому при использовании таких сборок часто возникают вопросы типа Как удалить всё лишнее? .

Вот подумайте: вам в детстве покупали машинку (например) и вы были довольны, потому как вам купили то, что вы хотели. У вас не было претензий. Теперь вспомните детские конструкторы, не важно какие, лего, железки с болтиками и т.п.. Вы хотели конструктор, вам его купили. Вы в него играли, собирали там что-то, кому что хотелось. Разве у вас были претензии к конструктору, что он сразу не машина с дистанционным управлением? Разве машинка с пультом ДУ и коробка с конструктором это одно и то же? Нет, ребята, это разные игрушки!

Linux - это по сути конструктор. И если вам попалась сборка, в которой у машины пять колёс, не спешите выставлять претензии автору. Ему так показалось удобнее. Он же не может знать, что удобнее конкретно для вас, он судит по себе. Не нравится вам пятое колесо - отверните. И вообще, если хотите, чтобы всё работало идеально, помните поговорку: Хочешь сделать хорошо, сделай это сам! .

Конец статьи.

Выводы и доводы в пользу Linux

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

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

Естественно, мир компьютерных технологий не заканчивается на Windows и Linux. Есть ещё небезызвестный MacOS . Но он излишне пафосный и дорогой, со своим набором софта, железа, идеологией и подойдёт далеко не всем. Им тоже дело не ограничивается. Существует достаточно много других операционных систем для различных платформ, как коммерческих, так и бесплатных (свободных):

  • Haiku (свободный аналог BeOS)

Сегодня огромная часть населения земли на постоянной основе взаимодействует с компьютерами, кого-то обязывает работа, кто-то ищет информацию в Сети, а кто-то просто проводит время в играх. У каждого свои потребности, а значит, компьютер должен им соответствовать. И если речь идет о “железе” (технической составляющей компьютера), то тут все более менее ясно: чем новее, тем лучше. Но вот “софтовая” (программное обеспечение) часть, требует особого внимания.

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

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

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

Для начала стоит уточнить, что есть ОС проприетарные, те, что распространяются по лицензии производителя. К таковым относятся Windows, список которых изложен ниже, и MacOS. Несмотря на то что обе системы можно загрузить в Сети (украсть), правильным будет приобрести лицензию у компании-распространителя и активировать ее.

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

“Свободные” операционные системы

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

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

Windows

Абсолютно все, кто хоть раз имел дело с компьютером, знают об этом продукте компании Microsoft. В частности это касается сверхуспешного релиза Windows 7. Список операционных систем Microsoft насчитывает уже десяток поколений. Они крайне популярны во всем мире и занимают почти 90% рынка. Что говорит о беспрецедентном лидерстве.

  • Windows XP;
  • Windows Vista;
  • Windows 7;
  • Windows 8;
  • Windows 10;

Список намеренно начинается с Windows XP, так как это самая старая версия, оставшаяся в употреблении до сегодняшнего дня.

Chrome OS

Слаборазвитый продукт от компании Google, который ограничен лишь веб-приложениями и одноименным браузером. Это система не является конкуретоспособной в сравнении с Windows и Mac, но сделана с прицелом на будущее, когда веб-интерфейсы смогут заменить “реальное” программное обеспечение. По умолчанию установлена на всех компьютерах Chromebook.

Установка нескольких систем и использование виртуальных машин

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

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

На компьютерах Apple имеется специальная утилита - BootCamp, которая разработана для простой и бесшовной установки Windows рядом с MacOS.

Существует и другой способ - установка виртуальной системы внутри реальной. Для этого используются программы: VmWare и VirtualBox, способные эмулировать работу полноценного компьютера и запускать операционные системы.

Вместо заключения

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

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

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

В функции операционной системы входит:

 поддержка диалога с пользователем;

 ввод-вывод и управление данными;

 планирование и организация процесса обработки программ;

 распределение ресурсов (оперативной и кэш памяти, процессора, внешних устройств);

 запуск программ на выполнение;

 выполнение вспомогательных операций обслуживания;

 передача информации между различными внутренними устройствами;

 поддержка работы периферийных устройств (дисплея, клавиатуры, накопителей на гибких и жестких дисках, принтера и др.).

В соответствии с выполняемыми функциями в структуре ОС можно выделить следующие основные компоненты:

 модули, обеспечивающие пользовательский интерфейс;

 модуль, управляющий файловой системой;

 модуль, расшифровывающий и выполняющий команды (командный процессор);

 драйверы периферийных устройств.

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

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

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

По числу параллельно решаемых на компьютере задач ОС разделяют на:

однозадачные (например, MS DOS);

многозадачные (например, OS/2, UNIX, Windows 95 и выше).

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

По числу одновременно работающих пользователей :

однопользовательские (например, MS DOS, Windows 3.х);

многопользовательские (например, Unix, Linux, Windows 2000).

Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других.

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

командного интерфейса (например, MS DOS);

 графического интерфейса (например,Windows).

На характеристики операционных систем, как правило, влияет специфика аппаратных средств, на которые она ориентирована. По типу аппаратуры различают операционные системы для персональных компьютеров различных платформ (IBM-совместимых, Apple Macintosh), мини-компьютеров, мэйнфреймов, кластеров и сетей ЭВМ. Среди этих типов компьютеров могут встречаться как однопроцессорные варианты, так и многопроцессорные.

По числу разрядов адресной шины компьютеров, на которые ориентирована ОС, операционные системы разделяют на 16-ти (MS DOS), 32-х (Windows 2000) и 64-разрядные (Windows 2003).

На рынке операционных систем представлены разработки различных фирм, которые различаются ориентацией на аппаратные средства, решение определенного круга задач, потребности потребителя и пр. Можно выделить операционные системы, обладающие определенными общими чертами: один производитель, единый подход к организации и функционированию и пр., что позволяет классифицировать их по семействам и линейкам. Например, можно выделить такие семейства как Windows (Microsoft ), Unix (различные разработчики), Solaris (Sun Microsystems ) и другие. В семействе Windows принято различать линейку Windows 9.х (Windows 95, 98, Мillenium) и Windows NT (Windows 2000, XP, 2003).

Выполнила:студентка 105 группы

Куриленко В.А.

Преподаватель:Шишин И.О.

Санкт – Петербург

Введение

Заключение

Список используемой литературы

Введение

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

В составе ОС различают 3 группы компонентов:

· системные библиотеки

· оболочка с утилитами

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

Функции операционных систем (основные):

2. Стандартизированный доступ к периферийным устройствам;

3. Управление оперативной памятью;

4. Управление доступом к данным на энергонезависимых носителях;

5. Пользовательский интерфейс;

6. Сетевые операции

7. Параллельное или псевдопараллельное выполнение задач (многозадачность)

8. Взаимодействие между процессами: обмен данными, взаимная синхронизация

9. Разграничение прав доступа и многопользовательский режим работы (авторизация, аутентификация)

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

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

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

По назначению

1. Системы общего назначения.

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

2. Системы реального времени.

Предназначены для работы в контуре управления объектами.

3. Прочие специализированные системы.

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

По характеру взаимодействия с пользователем

1. Пакетные ОС, обрабатывающие заранее подготовленные задания

2. Диалоговые ОС, выполняющие задания пользователя в интерактивном режиме

3. ОС с графическим интерфейсом

4. Встроенные ОС, не взаимодействующие с пользователем

По числу одновременного выполнения задач

1. Однозадачные ОС.

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

2. Многозадачные ОС.

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

По числу одновременных пользователей

1. Однопользовательские ОС.

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

2. Многопользовательские ОС.

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

По аппаратурной основе

1. Однопроцессорные ОС.

2. Многопроцессорные ОС.

В задачи такой системы входит эффективное распределение выполняемых заданий по процессорам и организация согласованной работы всех процессоров.

3. Сетевые ОС.

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

4. Распределенные ОС.

Распределенная система, используя ресурсы локальной сети, представляет их пользователю как единую систему, не разделенную на отдельные машины.

По способу построения

1. Микроядерные

2. Монолитные

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

Операционные системы семейства OS/2

OS/2 – семейство многозадачных операционных систем с графическим интерфейсом, есть версии для многопроцессорных машин. OS/2 создавалась для собственных нужд и задач фирмы IMB. OS/2 использовалась IMB в качестве основы некоторого числа программных решений, таких как комментаторские системы олимпийских игр, программное обеспечение для банков. Под нее практически не существует программного обеспечения.

Поддержка OS/2 до последнего времени осуществлялась выпуском версий OS/2 безо всяких кардинальных изменений и улучшений.

Исторически сложилось такая ситуация, что в данный момент эта ОС на рынке программного обеспечения мало распространена. Существует несколько версий ОС OS/2 WarpServer, являющихся операционными системами для серверов.

В рамках проекта Core/2 существуют два действующих направления по развитию OS/2:

· OS/4 - создание современного ядра методом реверс-инижиринга и полного переписывания кода на основе существующих ядер.

· osFree – создание всей операционной системы «с нуля» на основе современных микроядерных технологий и активного использования OpenSource наработок.

Операционные системы семейства UNIX

Первая система UNIX была разработана в 1969 г. в подразделении Bell Labs компании AT&T. С тех пор было создано большое количество различных UNIX-систем. Все ОС, относящиеся к этому семейству, являются многозадачными, многопользовательскими, с графическим интерфейсом, обеспечивают достаточную надежность и защиту данных. Эти ОС ставятся на различные аппаратные платформы (как на ПК, так и на большие машины такие как мэйнфреймы и суперЭВМ).

Некоторые отличительные признаки UNIX-систем включают в себя:

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

· широкое применение утилит, запускаемых в командной строке;

· взаимодействие с пользователем посредством виртуального устройства – терминалом;

· использование конвейеров из нескольких программ, каждая из которых выполняет одну задачу;

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

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

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

Операционные системы семейства Linux

Linux является одной из распространенных систем версий UNIX. Она может организовать работу как рабочих станций, так и сервера. Поддерживает технологию Plug & Play (стандарт аппаратной и программной архитектуры, который делает возможным распознавание устройств).

Linux – это многозадачная и многопользовательская операционная система для бизнеса, образования и индивидуального программирования. Как и все UNIX-системы, она ориентирована на работу в сети.

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

В отличие от большинства других операционных систем, Linux не имеет единой «официальной» комплектации. Вместо этого Linux поставляется в большом количестве так называемых дистрибутивов, в которых ядро Linux соединяется с утилитами GNU и другими прикладными программами (например, X.org), делающими её полноценной многофункциональной операционной средой.

Операционные системы семейства Windows

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

Платформы операционных систем WindowsNT и Windows 2000 представляют собой операционные системы для использования на самых разнообразных компьютерах. Все ОС семейства Windows являются многозадачными системами с графическим интерфейсом. Они работают на платформах x86, x86-64, IA-64, ARM. Существовали также версии для DEC Alpha, MIPS, PowerPC и SPARC.

Одним из достоинств ОС семейства Windows является поддержка технологии Plug & Play. Эта технология упрощает для пользователя подключение разных внешних устройств.

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то