Классификация по интерфейсам
Если кратко рассмотреть классификацию операционных систем по пользовательскому интерфейсу, то можно выделить такие варианты:
- текстовые (линейные);
- графические;
- речевые.
Пользовательский интерфейс – это набор приемов взаимодействия пользователя (клиента) с приложением. Он включает в себя общение клиента с программой, а также непосредственный язык (способ) «ведения диалога».
Тестовые
Линейные операционные системы отвечают за реализацию интерфейса через командную строку. Здесь основным устройством управления выступает клавиатура. Команда набирается и отображается на дисплее устройства. Окончание ввода – это нажатие на кнопку Enter.
Для того, чтобы работать с линейными операционными системами, требуется изучить командный язык соответствующей среды. Это – первый тип ОС, который вообще появился. Сегодня он широко применяется на серверах.
Графические
Графические операционные системы, если описывать их кратко – это взаимодействие активных и пассивных графических экранных элементов. Обеспечивается управление при помощи мышки и клавиатуры. Активный компонент манипулирования – курсор, отображаемый на дисплее.
Пассивные элементы — компоненты управления приложений графического характера (кнопки, переключатели, значки, флажки, раскрывающиеся списки и так далее). Наглядный пример таких систем – Windows. Стартовый экран тут – это объект, который носит название рабочего стола.
Рабочий стол – специализированная графическая среда, на которой отображаются различные объекты (каталоги и файлы), а также элементы управления.
Здесь операции можно выполнять различными способами:
- через панель инструментов;
- при помощи системы окон;
- посредством строки меню и так далее.
Основу составляют организованные систем окон и иных графических объектов.
Речевые
Такие операционные системы задали новую направленность разработки. Здесь на дисплее при помощи речевых команд происходит перемещение от одних поисковых образов к другим. Разбираться в особенностях меню не придется. Экранные образы будут однозначно указывать дальнейший путь перемещений от одних поисковых образов к другим при помощи семантических связей.
Поддержка командного интерпретатора операционной системой
Операционные системы обязаны обеспечивать поддержку командного интерпретатора, чтобы пользователи могли использовать его функции и возможности для работы с файлами, управления процессами, управления устройствами и выполнять другие операции.
Основная функция командного интерпретатора операционной системы включает:
- Интерпретация команд: он получает команду от пользователя, а затем анализирует и интерпретирует ее для выполнения соответствующих действий.
- Запуск исполняемых файлов: командный интерпретатор принимает команду и запускает соответствующий исполняемый файл или программу.
- Управление процессами: команды могут использоваться для создания, завершения, приостановки и управления процессами в операционной системе.
- Манипуляции с файлами и директориями: команды позволяют пользователю выполнять операции с файлами, такие как создание, удаление, перемещение, копирование и просмотр содержимого файлов и директорий.
- Управление устройствами: команды могут использоваться для управления устройствами, такими как принтеры, сетевые интерфейсы и звуковые карты.
- Предоставление информации: команды также могут предоставлять информацию о системе, процессах, файлах и других ресурсах.
Операционные системы предоставляют различные командные интерпретаторы, такие как Command Prompt в Windows, Bash в Linux и macOS, PowerShell в Windows и множество других. Каждый из них обеспечивает свои уникальные функции и возможности, которые требуются для эффективной работы пользователей в операционной системе.
Ключевые функции
ОС – это программная совокупность, которая управляет ресурсами компьютера. Она осуществляет к ним доступ, управляет процессами, а также вводит и реализовывает разнообразные абстракции и иные функции.
В качестве элементов ос выделяют три ключевые составляющие:
- абстракции – процессы, сокеты, адресное пространство, файлы, потоки;
- функции – создание, запись, управление, открытие, распределение;
- конкретные реализации – архитектуры (монолитные, гибридные, модульные) и алгоритмы (LRU, EDF).
Основными функциями операционной системы являются следующие операции:
- Управление устройствами компьютера (его ресурсами). Это согласованная работа всех аппаратных средств ПК: стандартизированный доступ к периферийным устройствам, управление оперативной памятью, взаимодействие с видеокартой и так далее.
- Непосредственное управление процессами. Сюда относят выполнение программ, а также их дальнейшее взаимодействие с элементами компьютера.
- Управление доступом к данным на энергозависимых носителях (жесткий диск, компакт-диск и так далее). Обычно реализация происходит с помощью файловой системы.
- Ведение файловой структуры. Это удаление, хранение файлов на носителях, изменение и создание документов разных форматов.
- Пользовательских интерфейс. С его помощью обеспечивает нормальное взаимодействие компьютера, его устройств, системы и пользователя. Обычно клиент может работать с ПК или телефоном без особых знаний, навыков и умений.
Дополнительными функциями являются следующие операции:
- выполнение задач (многозадачность);
- взаимодействие между процессами: взаимная синхронизация, обмен данными;
- защита пользовательских данных, программ от злоумышленников и вредоносного ПО;
- разграничение прав доступа;
- многопользовательский режим работы с поддержкой аутентификации и авторизации.
ОС имеют различные цели и задачи. Они предоставляют доступ к ресурсам вычислительной системы, а также управляют ими. Воспользоваться ОС сможет как разработчик, так и обычный пользователь.
Цели и реализации
К главным целям операционной системы относят:
- эффективное использование всех имеющихся ресурсов «основного» устройства (того, где установлено программное обеспечение);
- повышение производительности работы программистов;
- простоту, гибкость, надежность и эффективность организации вычислительного процесса%
- независимость прикладных программ от аппаратного обеспечения.
Функцией oc является распределение процессов, памяти, данных и устройств между процессами, запущенными на устройстве. ОС должна управлять всеми ресурсами вычислительной машины так, чтобы обеспечить предельную эффективность ее функционирования. Критерием эффективности может быть реактивность или пропускная способность.
Операционная система отвечает за реализацию:
- пользовательского интерфейса (командного/текстового и графического);
- распределения ресурсов между клиентами;
- работы в сетях различного типа: локальных, глобальных;
- возможности работы с общими данными в режиме коллективного (общего) пользования;
- планирования доступа клиентов к общим ресурсам на устройстве;
- эффективного выполнения операций по вводу-выводу;
- восстановления данных и вычислительного процесса при возникновении разных сбоев, ошибок, неполадок.
Для того, чтобы управлять ресурсами, разные ОС задействуют совершенно разные алгоритмы. Это определяет облик операционных «приложений», включая параметры производительности, область применения и даже пользовательский интерфейс. Пример – алгоритм управления процессором в большей степени определяется, является ли ОС системой разделения процессорного времени, пакетной обработки или реального времени.
Файлы настроек командного процессора
Командный процессор операционной системы хранит свои настройки в специальных файлах, которые определяют его поведение и функциональность. Эти файлы могут быть изменены пользователем для удобства работы с командной строкой.
Один из основных файлов настроек командного процессора – это файл конфигурации, обычно называемый .bashrc (для командного процессора Bash в операционной системе Linux) или .profile (для командного процессора Sh или Bash в операционной системе macOS). В этом файле можно определить переменные окружения, алиасы (сокращения для команд), функции и другие настройки.
Другой важный файл настроек – это файл истории команд, который обычно называется .bash_history или history.txt. В этом файле хранится история всех команд, которые были введены в командную строку. Это позволяет пользователю легко повторять и модифицировать предыдущие команды без необходимости вводить их снова.
Также существуют файлы настроек, специфичные для определенных командных процессоров. Например, в командном процессоре PowerShell в операционной системе Windows используется файл конфигурации $PROFILE, а в командном процессоре CMD используется файл autoexec.bat.
Изменение файлов настроек командного процессора может быть полезным для персонализации работы командной строки и оптимизации рабочего процесса. Однако, при изменении этих файлов следует быть внимательным и осторожным, чтобы не нарушить работу командного процессора или операционной системы в целом.
Самые популярные ОС
В 21 веке операционных систем стало очень много. Все они позволяют пользователю взаимодействовать с устройствами через специализированное программное обеспечение. Самые популярные ОС – Linux, MacOS и Windows. Их рассмотрим более подробно.
Windows
Занимает 90% мирового рынка. Самый распространенный и популярный вариант графических операционных систем. Обладает:
- Доступностью.
- Количеством программного обеспечения. Для платформы ежегодно создаются тысячи интересных и полезных приложений, игр.
- Качественной поддержкой развлекательного программного обеспечения. На Windows проверяются инновационные игровые технологии.
- Поддержкой специфического ПО. Windows – своеобразный мировой стандарт, поэтому многие приложения работают только на ней. Пример – банковские клиенты большинства финансовых организаций.
Но Windows не выделяется системой безопасности – ОС данного семейства часто поражаются вирусами и шпионами. Работают нестабильно, но регулярно обновляются. Зато графическая составляющая тут находится на высоте. Это отличный вариант для новичков.
MacOS
Разработка MacOS ведется компанией Apple. Занимает всего 9% на мировом рынке. На базе MacOS работают все компьютеры и ноутбуки Apple. Она:
- стабильна и безопасна;
- обладает внушительным пакетом уникального программного обеспечения;
- входит в состав экосистемы Apple;
- имеет iCloud.
Для того, чтобы использовать MacOS, придется потратиться. Это – операционная система, нацеленная преимущественно на работу – игр на нее критически мало. Еще один недостаток – это слабое применение в бизнесе.
Linux
Linux сегодня занимает меньше 1% на мировом рынке, но популярность этой ОС растет. Она распространена на мобильных устройствах и серверах.
К преимуществам Linux относят:
- поддержку сообществом;
- универсальность;
- доступность;
- скорость работы;
- уровень безопасности.
С Windows данная ОС не совместима. А для того, чтобы пользоваться Linux, нужно осваивать терминал – лишь так удастся обеспечить полноценное управление. Графический интерфейс тут есть, но он не позволяет раскрыть весь потенциал. Также отмечается несовместимость большинства оборудования (особенно старого) с Linux.
Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!
Команды управления
Команды управления предназначены для управления ходом выполнения программы, а не обработки каких-либо данных. Данная категория включает много интересных команд, например группа команд перехода или ветвления . Они используются для перенаправления управляющего блока на выполнение команды, отличной от той, которая является очередной в выполняемой последовательности. Команды перехода реализуются в двух вариантах: команды безусловного перехода и команды условного перехода. К первому варианту относится команда типа «Пропустите все команды до этапа 5», а ко второму — команда типа «Если полученное число равно 0, то перейдите к этапу 5». Разница между ними состоит в том, что при выполнении команды условного перехода изменение последовательности произойдет только при выполнении указанного условия.
Терминал
Терминалом называют программу, которая эмулирует поведение железного терминала, состоящего из клавиатуры и монитора. В простейшем случае — это просто окошко с командной строкой внутри:
Хороший терминал все же не ограничивается одним окном, а позволяет открывать новые терминалы в табах — по такому же принципу, как работают вкладки в браузере.
Некоторые терминалы позволяют делать сплиты, то есть разделять окно на части. Этот довольно удобный механизм есть, например, в iterm2:
Хорошие терминалы также умеют восстанавливать завершенную сессию, создавать профили под разные задачи и многое другое.
Как загружается
Понятия операционных систем и их видов рассмотрены. Теперь можно изучить загрузку ОС на устройстве. Эта информация пригодится преимущественно IT-специалистам.
Упомянутая процедура осуществляется в несколько этапов:
- Запуск компьютерного устройства. На процесс подается напряжение. Его электрические составляющие запускаются. Это – кратчайшая форма описания соответствующей операции.
- Исполнение инструкции с фиксированного, аппаратно вшитого в него адреса. Там расположена POS-система, которая отвечает за проверку работоспособности основных элементом ВС.
- Управление переходит к BIOS. Такое название носит некая система ввода-вывода. Она инициализирует основные устройства ввода-вывода информации.
- BIOS обращается к загрузочному устройству. Он считывает первых блок информации, на котором должен располагаться загрузчик. При его обнаружении происходит перенаправление управляющих полномочий.
- Загрузчик производит загрузку и передачу компонентов операционной системы в память. Далее передает «полномочия» ОС.
- Осуществляется запуск таймера возврата управления и создание процесс-пользователя. От последнего процессы начинают множиться.
Для пользователя в большинстве случаев ничего особенного не происходит – компьютер просто включается и показывает «картинку» рабочего стола.
Примеры использования командного процессора
Командный процессор, также известный как командная строка или терминал, предоставляет пользователю интерфейс для выполнения команд и управления операционной системой. Вот некоторые примеры использования командного процессора:
1. Запуск программ и приложений
Один из основных способов использования командного процессора — запуск программ и приложений. Например, чтобы запустить текстовый редактор Notepad в операционной системе Windows, можно ввести команду notepad и нажать Enter. Также можно указать путь к исполняемому файлу приложения, например: C:\Program Files\Notepad++
otepad++.exe.
2. Управление файлами и папками
Через командную строку можно выполнять операции с файлами и папками, такие как создание, копирование, перемещение, удаление и переименование. Например, для создания новой папки в Windows можно использовать команду mkdir, а для удаления файла — команду del.
3. Навигация по файловой системе
Командный процессор позволяет перемещаться между различными папками и просматривать содержимое директорий. Например, в Windows команды cd используются для перехода в другую папку, а dir для просмотра списка файлов и папок в текущей директории.
4. Автоматизация задач
Командный процессор может использоваться для автоматизации повторяющихся задач или выполнения скриптов. Можно создавать и запускать пакеты команд или скрипты, которые выполняют определенные действия. Например, пакет команд может содержать команды для резервного копирования файлов на внешний жесткий диск.
5. Диагностика и отладка
Командный процессор может быть полезен для диагностики и отладки проблем в операционной системе или приложениях. Например, команда ping используется для проверки подключения к сети, а команда tasklist позволяет просмотреть список запущенных процессов.
6. Управление сетевыми настройками
Командный процессор может быть использован для настройки и управления сетевыми параметрами. Например, команда ipconfig позволяет просмотреть информацию о сетевом подключении и настроить параметры IP-адреса.
7. Исполнение скриптовых файлов
Командный процессор может исполнять скрипты, написанные на определенном языке программирования. Например, в Windows командный процессор CMD может исполнять скрипты на языке Batch (.bat), а в Unix-подобных системах используется командный интерпретатор Shell.
8. Управление службами
Через командный процессор можно управлять службами операционной системы, такими как запуск, остановка или перезапуск. Например, в Windows для управления службами используются команды net start и net stop.
9. Выполнение административных задач
Командный процессор может быть использован для выполнения административных задач, таких как установка программ, настройка системы безопасности или изменение реестра. Но выполнение административных задач может потребовать прав администратора.
Это только некоторые примеры использования командного процессора. Фактически, командный процессор предоставляет широкие возможности для взаимодействия с операционной системой и выполнения различных задач в удобной и гибкой форме.
Командный процессор
Командный процессор выполняет командный файл AUTOEXEC. BAT, если этот файл имеется в корневом каталоге диска, с которого загружается операционная система. BAT указывают команды и программы, выполняемые при каждом запуске компьютера.
Командный процессор ( КП) осуществляет взаимодействие пользователя с ПК. Он является файлом DOS и имеет имя Command. Взаимодействие организуется при помощи команд. Команды бывают двух типов: внутренние и внешние.
Командный процессор — часть операционной системы, обрабатывающая команды, вводимые с терминала или из командного файла, и запускающая задачи для их выполнения.
Командный процессор выполняет командный файл AUTOEXEC. BAT, если этот файл имеется в корневом каталоге диска, с которого загружается операционная система. BAT указывают команды и программы, выполняемые при каждом запуске компьютера.
Состав операционной системы MS-DOS. |
Командный процессор DOS обрабатывает команды, вводимые пользователем.
Командный процессор MS DOS обрабатывает команды, вводимые пользователем. Командный процессор находится в дисковом файле COMMAND. COM на диске, с которого загружается операционная система.
Командный процессор ОС осуществляет загрузку готовых программ из файлов ОЗУ и их запуск по командам пользователя, поддерживая взаимодействие ОС с пользователями. В типовых ОС он позволяет создавать удобную операционную среду для конкретных пользователей.
Командный процессор DOS обрабатывает команды, вводимые пользователем. COM, обычно он находится в корневом каталоге диска, с которого загружается DOS. Некоторые команды пользователя, например Type, Dir или Сору, командный процессор выполняет сам. Такие команды называются внутренними. Для выполнения остальных ( внешних) команд пользователя командный процессор ищет на дисках программу с соответствующим именем и если находит ее, то загружает в память и передает ей управление.
Командный процессор DOS обрабатывает команды, вводимые пользователем. Стандартный командный процессор MS DOS имеет имя COMMAND. COM, обычно он находится в корневом каталоге диска, с которого загружается DOS. Некоторые команды пользователя, например Type, Dir или Сору, командный процессор выполняет сам. Такие команды называются внутренними. Для выполнения остальных ( внешних) команд пользователя командный процессор ищет на дисках программу с соответствующим именем и если находит ее, то загружает в память и передает ей управление.
Командный процессор DOS обрабатывает команды, вводимые пользователем. Командный процессор находится в дисковом файле COMMAND. COM на диске, с которого загружается операционная система. Некоторые команды пользователя, например Type, Dir или Сору, командный процессор выполняет сам. Такие команды называются внутренними. Для выполнения остальных ( внешних) команд пользователя командный процессор ищет на дисках программу с соответствующим именем, и, если находит ее, то загружает в память и передает ей управление.
Управление командным процессором осуществляется с клавиатуры компьютера.
В командном процессоре имеется встроенный текстовый редактор, позволяющий производить несложную правку текста.
Подпрограмма инициализации командного процессора обеспечивает удобную автоматическую настройку ПЭВМ на конкретного пользователя или задачу. Эта подпрограмма ищет на системном диске специальный командный файл автозапуска, и после его обнаружения командный процессор приступает к его обработке, не принимая команды с терминала. Это позволяет с помощью задания режима работы сразу погрузить пользователя в соответствующую командную среду без предварительных действий.
Файл с командным процессором может занимать на системном диске любое место и трактуется как обычная программа. При загрузке в ОЗУ командный процессор распадается на две части в зависимости от расположения — резидентную и нерезидентную, располагаемую в старших адресах ОЗУ.
Арифметические и логические команды
Арифметические и логические команды указывают блоку управления на необходимость запросить выполнение определенных действий арифметико-логического блока. Как следует из самого названия арифметико-логического блока, он также предусматривает выполнение группы операций, отличающихся от основных арифметических действий. К ним относятся обычные логические операции AND , OR и XOR . В основном они используются для манипуляции отдельными битами некоторого регистра; при этом состояние остальных регистров остается неизменным. Другая группа операций, реализованная в большинстве типов арифметико-логических блоков, состоит из команд, позволяющих перемещать содержимое регистров влево или вправо в пределах самих этих регистров. Такие операции называются операциями сдвига или вращения , в зависимости от того, что происходит с битами, выходящими при перемещении содержимого регистра за его пределы. При операции сдвига эти биты просто отбрасываются, а при операции вращения — биты, покидающие пределы регистра с одного конца, помещаются во вновь вставляемые позиции на другом конце регистра. Последняя операция называется также циклическим сдвигом.
Командная оболочка
Командная оболочка — программа, через которую пользователь или администратор управляет операционной системой и установленными программами, используя командную строку. У этого понятия множество синонимов — shell, командный интерпретатор и командный процессор.
Оболочка — это лишь средство для выполнения определенных задач, а не сама задача. Этим она отличается от многих других программ.
Внутри терминала пользователь передает системе строки:
Каждая строка — это команда, которую система должна выполнить. После ввода команды обязательно нажать Enter, только в этом случае команда отправится на исполнение. После нажатия Enter отредактировать команду уже нельзя.
Оболочка запускается внутри терминала и приглашает ко вводу команд:
Рассмотрим фрагмент кода подробнее. Мы видим:
- Символ — он используется как разделитель
- Слева от — настраиваемое сообщение для вывода, обычно это текущая директория
- Справа от — команда, которую вводит пользователь
Все примеры в дальнейшем будут демонстрироваться без этого сообщения и символа. Рассмотрим для примера команду , которая выводит текущую дату:
Другой пример команды — комментарии. Как и в любых языках программирования, они ни на что не влияют. С их помощью мы просто описываем происходящее:
Командная оболочка позволяет запускать на выполнение установленные программы. Но это далеко не все, на что она способна. Для комфортной работы полезно иметь:
- Автоматическое завершение имен программ и файлов
- Историю введенных команд
- Возможность перемещаться по файловой системе
- Удобные горячие клавиши
- Поддержку скриптов
Далее в курсе мы раскроем многие из этих аспектов.
Командные оболочки и терминалы бывают разные, хотя по умолчанию в большинстве операционных систем стоит Bash.
Отдельно скажем, что командная оболочка и терминал — не одно и то же. Терминал — это программа, которая запускает командную оболочку внутри себя:
Как вы увидите далее, командная оболочка — это полноценная среда программирования. Многие команды являются стандартными конструкциями любого языка программирования: переменными, циклами или условиями. Кроме того, некоторые команды являются программами, а некоторые — нет. В ближайших уроках для простоты мы будем говорить слово «команда», но потом объясним разницу.
Командную оболочку нередко называют реплом от английского REPL (Read-Eval-Print-Loop). Это сокращение отражает способ взаимодействия командной оболочки с пользователем:
- Read — оболочка ждет ввода команды от пользователя
- Eval — исполняет введенную команду
- Print — выводит результат
- Loop — возвращаемся к первому пункту
Этот процесс называется интерактивной сессией: после загрузки командная оболочка ждет ввода команды, исполняет ее, выводит результат и снова ждет ввода команды. Так происходит до тех пор, пока не будет дана команда на выход из терминала или выключение компьютера.
REPL — широко распространенный способ взаимодействия с пользователем. В следующих курсах вы увидите, что он есть и у баз данных, и у языков программирования.
Чтобы вам было удобнее выполнять задания к урокам, в среде Хекслета сразу запущено два терминала. Терминалы доступны в нижних вкладках под именами Terminal 1 и Terminal 2.
Во время изучения и экспериментов достаточно легко допустить ошибки. Всегда внимательно читайте вывод, в случае паники переоткройте терминал. Это позволит начать все с чистого листа.
Самостоятельная работа
Чтобы научиться работать в командной строке, нужно как можно больше практиковаться в терминале на вашем компьютере.
-
Если вы используете Linux или MacOS, в вашей операционной системе уже есть установленный терминал. Можете использовать его или скачать более продвинутую версию — например, iTerm2 для MacOS и Tilix для Linux
-
Если вы работаете с ОС Windows, вам потребуется использовать WSL
Далее убедитесь, что внутри терминала можно запустить bash-сессию. Откройте терминал и введите такой текст: