Аннотация: В данной лекции вводится понятие операционной системы; рассматривается эволюция развития операционных систем; описываются функции операционных систем и подходы к построению операционных систем.
Операционная система (ОС) – это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Вводная лекция рассказывает о предмете, изучаемом в рамках настоящего курса. Сначала мы попытаемся ответить на вопрос, что такое ОС . Затем последует анализ эволюции ОС и рассказ о возникновении основных концепций и компонентов современных ОС . В заключение будет представлена классификация ОС с точки зрения особенностей архитектуры и использования ресурсов компьютера.
Что такое операционная система
Структура вычислительной системы
Из чего состоит любая вычислительная система? Во-первых, из того, что в англоязычных странах принято называть словом hardware, или техническое обеспечение: процессор , память, монитор, дисковые устройства и т.д., объединенные магистральным соединением, которое называется шиной. Некоторые сведения об архитектуре компьютера имеются в приложении 1 к настоящей лекции.
Метод непрерывной цепочки. Приложение Day by Day.
Во-вторых, вычислительная система состоит из программного обеспечения. Все программное обеспечение принято делить на две части: прикладное и системное.
К прикладному программному обеспечению, как правило, относятся разнообразные банковские и прочие бизнес-программы, игры, текстовые процессоры и т. п. Под системным программным обеспечением обычно понимают программы, способствующие функционированию и разработке прикладных программ. Надо сказать, что деление на прикладное и системное программное обеспечение является отчасти условным и зависит от того, кто осуществляет такое деление. Так, обычный пользователь, неискушенный в программировании, может считать Microsoft Word системной программой, а, с точки зрения программиста, это – приложение. Компилятор языка Си для обычного программиста – системная программа, а для системного – прикладная. Несмотря на эту нечеткую грань, данную ситуацию можно отобразить в виде последовательности слоев (см. рис. 1.1), выделив отдельно наиболее общую часть системного программного обеспечения – операционную систему:
Рис. 1.1. Слои программного обеспечения компьютерной системы
Что такое ОС
Большинство пользователей имеет опыт эксплуатации операционных систем , но тем не менее они затруднятся дать этому понятию точное определение. Давайте кратко рассмотрим основные точки зрения.
Операционная система как виртуальная машина
При разработке ОС широко применяется абстрагирование, которое является важным методом упрощения и позволяет сконцентрироваться на взаимодействии высокоуровневых компонентов системы, игнорируя детали их реализации. В этом смысле ОС представляет собой интерфейс между пользователем и компьютером.
Архитектура большинства компьютеров на уровне машинных команд очень неудобна для использования прикладными программами. Например, работа с диском предполагает знание внутреннего устройства его электронного компонента – контроллера для ввода команд вращения диска, поиска и форматирования дорожек, чтения и записи секторов и т. д. Ясно, что средний программист не в состоянии учитывать все особенности работы оборудования (в современной терминологии – заниматься разработкой драйверов устройств), а должен иметь простую высокоуровневую абстракцию, скажем, представляя информационное пространство диска как набор файлов. Файл можно открывать для чтения или записи, использовать для получения или сброса информации, а потом закрывать. Это концептуально проще, чем заботиться о деталях перемещения головок дисков или организации работы мотора. Аналогичным образом, с помощью простых и ясных абстракций, скрываются от программиста все ненужные подробности организации прерываний , работы таймера, управления памятью и т. д. Более того, на современных вычислительных комплексах можно создать иллюзию неограниченного размера оперативной памяти и числа процессоров . Всем этим занимается операционная система . Таким образом, операционная система представляется пользователю виртуальной машиной , с которой проще иметь дело, чем непосредственно с оборудованием компьютера.
CI&CD concept // Концепт непрерывной интеграции
Операционная система как менеджер ресурсов
Операционная система предназначена для управления всеми частями весьма сложной архитектуры компьютера. Представим, к примеру, что произойдет, если несколько программ, работающих на одном компьютере, будут пытаться одновременно осуществлять вывод на принтер. Мы получили бы мешанину строчек и страниц, выведенных различными программами.
Операционная система предотвращает такого рода хаос за счет буферизации информации, предназначенной для печати, на диске и организации очереди на печать. Для многопользовательских компьютеров необходимость управления ресурсами и их защиты еще более очевидна. Следовательно, операционная система , как менеджер ресурсов , осуществляет упорядоченное и контролируемое распределение процессоров , памяти и других ресурсов между различными программами.
Операционная система как защитник пользователей и программ
Если вычислительная система допускает совместную работу нескольких пользователей, то возникает проблема организации их безопасной деятельности. Необходимо обеспечить сохранность информации на диске, чтобы никто не мог удалить или повредить чужие файлы. Нельзя разрешить программам одних пользователей произвольно вмешиваться в работу программ других пользователей.
Нужно пресекать попытки несанкционированного использования вычислительной системы. Всю эту деятельность осуществляет операционная система как организатор безопасной работы пользователей и их программ. С такой точки зрения операционная система представляется системой безопасности государства, на которую возложены полицейские и контрразведывательные функции.
Операционная система как постоянно функционирующее ядро
Наконец, можно дать и такое определение: операционная система – это программа, постоянно работающая на компьютере и взаимодействующая со всеми прикладными программами. Казалось бы, это абсолютно правильное определение, но, как мы увидим дальше, во многих современных операционных системах постоянно работает на компьютере лишь часть операционной системы , которую принято называть ее ядром.
Как мы видим, существует много точек зрения на то, что такое операционная система . Невозможно дать ей адекватное строгое определение. Нам проще сказать не что есть операционная система , а для чего она нужна и что она делает. Для выяснения этого вопроса рассмотрим историю развития вычислительных систем.
Источник: intuit.ru
Поток и процессы в операционной системе, процессоре и программировании
Поток, процесс, задача, операционная систем а , программа, программировани е — это все звенья одной системы. Что такое потоки в процессоре? Что такое процесс в программировании? Что такое потоки и процессы в операционной системе? Эти и другие вопросы часто ставят врасплох начинающих программистов. Во всех этих определениях можно не запутаться, если понимать , о чем и дет речь.
Сегодня в стать е м ы разложим все «по полкам» простым и понятным языком.
Процессы и потоки в операционной систем е ( ОС)
- оперативная память;
- время процессоров.
Что такое потоки в операционной системе и процессоре
Конспект учебного занятия «Программное обеспечение компьютера»
план-конспект занятия на тему
Остальные студенты фронтально отвечают на вопросы прошлой лекции:
- Какие устройства называются внешними?
- Как классифицируются внешние устройства?
- Основная функция устройств ввода
- Самое распространенное устройство ввода
- Основные характеристики клавиатуры
- Какие устройства ввода вы знаете?
- Основная функция устройств вывода
- Самое распространенное устройство вывода
- Основные характеристики монитора
- Какие устройства вывода вы знаете?
- Как внешние устройства подсоединяются к системной магистрали?
- Что такое порт?
III. Сообщение новых знаний (45 мин):
- Программа
- Программное обеспечение
- Классификация ПО
- Системное ПО
- Прикладное ПО
- Инструментарий программирования
- Классификация ПО по длительности нахождения в оперативной памяти компьютера
- Резидентные программы
- Нерезидентные программы
IV: Закрепление знаний (25 мин)
V: Задание на дом (2 минуты):
- выучить материал лекции по конспекту;
VI: Подведение итогов занятия (5 мин):
Анализ успешности усвоенного материала и деятельности студентов.
Преподаватель Давыдова О. П.
Программное обеспечение компьютера
- Какие процессы относятся к информационным?
- Как компьютер передает и получает информацию?
- Как компьютер хранит информацию?
- Какое устройство компьютера обрабатывает информацию?
- Вывод: сегодня мы начинает разговор о том, благодаря чему компьютер (процессор) обрабатывает информацию.
Сообщение новых знаний:
Компьютер — это устройство, не способное мыслить самостоятельно, как человек. Для того, чтобы компьютер мог работать с информацией — получать ее, хранить, передавать, обрабатывать — его необходимо научить выполнять все эти действия. Научить — значит построить работу компьютера по инструкции, в которой указано, что надо делать.
Такая инструкция должна содержать строгую последовательность команд на языке, понятном компьютеру, т. е. сообщать ему, как надо обрабатывать данные для получения желаемого результата. Такая инструкция называется программой. Компьютер без программ — это бесполезный хлам, груда железа. И только программы делают его нашим помощником, другом, советчиком.
Программа должна быть написана на языке, понятном компьютеру. И такой язык существует. Он так и называется — машинный язык. Слова этого языка (команды) представляют собой последовательности нулей и единиц.
Вопрос: Как вы думаете — почему?
Самые первые программы разрабатывались непосредственно на машинном языке и не все люди могли заниматься их разработкой, только профессиональные программисты. В 60-е годы началась разработка языков программирования высокого уровня , которые позволили существенно облегчить работу программистов, и создание программ стало доступно даже для начинающих пользователей компьютера.
Несколько слов о том, как компьютер «учился» обрабатывать информацию.
Компьютер изначально (50-60-е) мог только вычислять, т.е. обрабатывать числовую информацию.
В 70-е годы компьютер «научился» работать с текстом и до сих пор чаще всего компьютеры используются для работы с текстовой информацией.
В 80-е годы появились первые компьютеры, способные работать с графической информацией. Сейчас компьютерная графика является самой интересной областью информационных технологий и используется в компьютерных экспериментах, в Интернете, телевидении, кино и т.д.
В 90-е годы компьютер получил возможность обрабатывать звуковую информацию. Практически любой современный пользователь может записывать и редактировать аудиоклипы.
Так что же такое «программа»?
Программа — это последовательность команд, которую выполняет компьютер в процессе обработки информации.
Вопрос: Каким образом создаются программы?
Человек сначала продумывает, каким образом должен действовать компьютер для достижения желаемого результата, и представляет предполагаемый план действий в виде команд. Далее эти команды необходимо преобразовать в форму, понятную компьютеру, т.е., опираясь на доступные компьютеру команды, составить программу действий компьютера. Такой процесс и называется программированием, а люди, которые его выполняют — программистами.
Программирование — деятельность человека по созданию программы.
Все программы хранятся во внешней и постоянной памяти компьютера. Но, для того, чтобы компьютер мог выполнить ту или иную обработку информации по соответствующей программе, она должна быть помещена (загружена) в оперативную память.
Программы создавались в течение нескольких десятилетий, и поэтому сегодня их насчитывается огромное количество. Все используемые в компьютере программы называются программным обеспечением.
Программное обеспечение (ПО) — все многообразие программ, используемых в современном компьютере.
Вывод: таким образом, для обработки информации на компьютере необходимо иметь не только аппаратное обеспечение — устройства компьютерной системы («hardware»), но и программное обеспечение («software»), которое наделяет компьютер мыслями и интеллектом.
Все программное обеспечение делится на 3 класса:
Системное ПО — является основным ПО, неотъемлемой частью компьютера. Без него невозможно взаимодействовать ни с одним устройством ЭВМ. Именно системное ПО руководит слаженной работой всех элементов компьютерной системы, как на аппаратном уровне, так и на программном. Ни с одним из других видов ПО вы не сможете работать, если в вашем компьютере отсутствуют некоторые системные программы. Именно они заставляют компьютер «действовать», «не спать», «дышать».
Системное программное обеспечение
Комплекс программ, распределяющих ресурсы компьютерной системы и организующих работу других программ
Программы, обеспечивающие более комфортное общение пользователя с командами ОС
Проверяют работу основных устройств компьютера
Программы обнаружения компьютерных вирусов и их уничтожения
Программы обслуживания дисков
Программы проверки целостности логической и физической структуры дисков, дефрагментация
Программы упаковки файлов и группы файлов для уменьшения занимаемого ими места на диске
Прикладное ПО — предназначено для выполнения конкретных задач пользователя. Это те программы, которые превращают компьютер в пишущую машинку для набора текстов, в калькулятор для выполнения вычислений, в рабочее место художника, дизайнера, монтажера, в средство общения с другими людьми на расстоянии или в режиме реального времени, в рабочее место ученого-исследователя или инженера-конструктора, в учителя, который обучает нас чему-либо и многое-многое другое.
Прикладное программное обеспечение
Программы для создания, редактирования и оформления текстовых документов
Программы, позволяющие выполнять операции над данными, представленными в табличной форме
Средства ввода, поиска, размещения и выдачи больших массивов данных
Компьютерная графика и анимация
Средства создания неподвижных и движущихся изображений
Средства создания презентации
Программы создания и показа наборов слайдов
Программы для работы в компьютерной сети
Системы автоматизированного проектирования (САПР)
Средства проектирования электронных схем, машин, механизмов
Помогают процессу обучения
Программы для организации досуга и обучения
Инструментарий программирования — это средства, предназначенные для создания ПО, т.е. того же системного и прикладного ПО. Его составляют разнообразные языки и среды программирования, такие как Бейсик, Паскаль, С, С++, Delphi и другие.
Переводчики программ языков программирования и машинные коды
Средства поиска и исправления ошибок
Интегрированные среды разработки приложений
Объектно-ориентированные языки программирования
Средства создания программ для компьютера
Кроме вышеприведенной классификации все программное обеспечение можно систематизировать по другому параметру, а именно по длительности нахождения в оперативной памяти компьютера. С этой точки зрения различаются резидентные и нерезидентные программы.
Резидентные программы — это программы, на протяжении всей работы компьютера находящиеся в его оперативной памяти. Их постоянное присутствие в ОЗУ необходимо в связи с тем, что эти программы на протяжении всего периода включения компьютерной системы следят за ее состоянием. К таким программам, например, относятся операционная система и антивирусные программы, т.к. под управлением операционной системы вообще работает компьютер, а антивирусная программа постоянно должна контролировать изменения, происходящие в файловой системе, чтобы предупредить проникновение компьютерных вирусов.
Нерезидентные программы — это программы, которые по окончании своей работы выгружаются полностью или частично из ОЗУ. Это, например, прикладные программы.
— Что было бы, если бы все программы оставались в ОЗУ?
Дело в том, что чем ближе ПО к «железу» компьютерной системы, тем важнее его роль в организации работы устройств и тем сложнее пользователю работать в такой среде. Поэтому наиболее дружественно пользователю прикладное ПО.
Найди лишнее (объясни выбор).
- Текстовый процессор, Microsoft Access, графический редактор, отладчик, переводчик;
- Операционная система, архиваторы, табличный процессор, антивирусная программа;
- Отладчик, транслятор, языки программирования, программа-оболочка.
Задание 2: (работа по группам)
Укажите, какое ПО необходимо людям в следующих ситуациях (заполните таблицу):
Источник: nsportal.ru