Давайте продолжим обсуждение основных компонентов компьютерных систем и рассмотрим программное обеспечение компьютера.
Компьютерная техника сама по себе не была бы очень полезна.
Это как после строительства здания для библиотеки. До того, как книги помещаются на книжные полки, здание не будет являться библиотекой.
Нужно предоставить компьютеру четкие инструкции для того, чтобы выполнить что-то полезное.
Этот вид инструкций можно назвать программным обеспечением.
Программное обеспечение представляет собой набор инструкций, которые даются компьютеру для выполнения определенных задач.
В общем и целом, программное обеспечение, используемое в компьютере, может быть классифицировано на две основные категории, а именно, системное программное обеспечение и прикладное программное обеспечение.
Прикладное программное обеспечение представляет собой программы, которые предназначены для выполнения конкретных задач и может легко использоваться пользователями.
В центре внимания этого курса – разработка прикладного программного обеспечения.
Системное программное обеспечение, это программы, которые поддерживают выполнение и разработку других программ.
Некоторые примеры системного программного обеспечения, это операционные системы и компиляторы для языков программирования, таких как Java, Python и C + +.
Другой тип системного программного обеспечения называется утилитами.
Некоторые примеры утилит включают в себя антивирусную программу и драйверы для подключения различных устройств к компьютерам.
Вот схема, которая иллюстрирует взаимодействие между железом и различными типами программного обеспечения.
На схеме видно, что системное программное обеспечение может с одной стороны взаимодействовать с оборудованием и с другой стороны взаимодействует с прикладным программным обеспечением.
Например, прикладному программному обеспечению, возможно, придется выдавать команды оборудованию, подключенному к компьютеру через системное программное обеспечение, например, сказать, когда программа хочет распечатать некоторые результаты на принтере.
Диаграмма также показывает, что существует взаимодействие между пользователями и прикладным программным обеспечением.
Эти пользователи могут быть прикладными программистами, которые разрабатывают программы, или пользователями приложений.
Существует также прямой интерфейс между пользователями и системным программным обеспечением, и таких пользователей обычно называют системными программистами.
Давайте также взглянем на то, что мы подразумеваем под пользовательским интерфейсом.
В общем и целом, пользовательский интерфейс обеспечивает взаимодействие между человеком и компьютером.
Общая цель обеспечения взаимодействия между человеком и компьютером заключается в создании пользовательского интерфейса, который прост в использовании и легко изучается, другими словами, мы хотим удобный интерфейс.
Важной частью ОС является обеспечение пользовательского интерфейса между операционной системой и пользователем.
Например, файловая система является частью операционной системы.
Хороший интерфейс для системы управления файлами позволит пользователям поддерживать и манипулировать своими файлами эффективно и результативно.
В существующих компьютерах есть в основном два вида пользовательских интерфейсов, а именно интерфейс командной строки и графический интерфейс пользователя (или GUI).
С интерфейсом командной строки можно ввести определенные ключевые слова или команды, чтобы инструктировать ОС для выполнения определенных действий.
Примером командной строки является программа cmd, которую вы найдете в системе Microsoft Windows.
Для этого вида интерфейса необходимо помнить набор команд для того, чтобы взаимодействовать с системой.
Например, команда "cd ..", чтобы изменить текущий рабочий каталог на один уровень вверх, и "dir", чтобы вывести список файлов в текущем каталоге.
Из этого простого примера, можно понять, почему такие системы стали настолько непопулярны и редко используются, за исключением системных программистов или системных администраторов.
Я уверен, что все из вас знакомы с каким-нибудь графическим интерфейсом пользователя (GUI). В GUI вы можете найти на экране графические объекты, такие как значки, выпадающие меню и окна.
Пользователь может навести на точку и нажать на нее с помощью указывающего устройства, такого как мышь, чтобы активировать необходимые операции.
Одним из основных преимуществ, для такого рода интерфейса, является то, что вам не придется запоминать различные команды, как в интерфейсе командной строки.
Например, в окне каталога файловой системы, вы можете легко манипулировать файлами с помощью перетаскивания.
Я не думаю, что здесь необходимы дополнительные объяснения, так как вы все должны быть знакомы с такими операциями.
Мы часто используем графический пользовательский интерфейс, разработанный другими.
И в этой книге вы также узнаете, как разрабатывать свой собственный графический интерфейс пользователя с помощью Event Driven программирования.