Программные и аппаратные средства взаимодействия пользователя с программой или компьютером
Операционная система (ОС) — комплекс программ, обеспечивающих совместную работу всех устройств компьютера и предоставляющих доступ ко всем ресурсам компьютера.
- загрузка компьютера;
- организация доступа к подключённым устройствам (принтерам, сканерам и другим устройствам).
Аппаратный интерфейс — это средства, которые обеспечивают взаимодействие между устройствами компьютера (например, чтобы подключить принтер к компьютеру нужен специальный кабель).
Принтер будет распечатывать, если установлен драйвер — специальная программа, которая будет управлять его работой.
Чтобы мы легко нашли на компьютере нужный файл и распечатали его на принтере, нам необходимы специальные программы, которые входят в состав пользовательского интерфейса.
Пользовательский интерфейс — это средства, которые обеспечивают взаимодействие между человеком и компьютером.
Через эти средства человек даёт команду компьютеру, операционная система организует работу и предоставляет пользователю результат своей работы или сообщает о возникшей ошибке (например, не найден драйвер).
Сегодня при покупке нового компьютера можно не обнаружить на ней операционную систему. Пользователю нужно её установить. Для установки ОС необходим специальный пакет программ, который называется дистрибутивом. Во время установки все необходимые файлы копируются на жёсткий диск и хранятся там постоянно. После установки операционная система загружается.
Загрузка компьютера — это загрузка программ операционной системы из долговременной памяти (жёсткого диска) в оперативную память компьютера.
1. После включения компьютера специальные программы, которые хранятся в постоянном запоминающем устройстве (ПЗУ) в BIOS (Basic Input/Output System — базовая система ввода/вывода), начинают тестировать и проверять работоспособность всех подключённых к компьютеру устройств. Иногда можно увидеть на экране монитора возникающие ошибки. Если ошибок не обнаружено, происходит процесс поиска начального загрузчика операционной системы.
3. Затем именно загрузчик находит и организует загрузку в оперативную память других программ операционной системы.
После загрузки операционной системы на экране монитора появляется рабочий стол, что означает, что компьютер готов к работе.
Сервисные программы — это комплекс программ, которые помогают обслуживать диски (проверка, восстановление, чистка, дефрагментация диска и др.), архиваторы, антивирусные программы, браузеры и др.).
Без использования этих программ компьютер работать может, но они необходимы для организации его долгой и продуктивной работы.
Архиваторы — программы, которые помогают сжимать данные на компьютере. Они обеспечивают сохранение большого свободного места на диске. Самые распространённые — WinRAR, \(7\)-Zip и др.
Антивирусные программы защищают компьютер от вирусов. Такие программы обнаруживают, удаляют и помогают защитить компьютер.
Вирус — это специальная вредоносная программа, которая способна нанести ущерб нашим данным на компьютере и даже вывести его из строя.
Разработка вируса — это не просто развлечение, а преступление. Люди, которые занимаются разработкой вирусов и их распространением, называются злоумышленниками.
Для доступа к ресурсам Интернета необходимы программы, которые называются браузерами. Для общения между пользователями используются и другие коммуникационные программы.
Изучение
Аппаратное и программное обеспечение являются неотъемлемыми частями компьютерной системы. Компоненты оборудования — это физические части компьютера, такие как центральный процессор (ЦП), мышь, хранилище и многое другое. Программные компоненты — это набор инструкций, которые мы храним и запускаем на нашем оборудовании. Вместе они образуют компьютер.
Если вы новичок в информатике, важно разбираться в аппаратных и программных компонентах. Это основа любого путешествия по информатике.
Сегодня мы погрузимся в аппаратное и программное обеспечение и научим вас, как они связаны с памятью компьютера, процессором и многим другим.
Аппаратное обеспечение против программного обеспечения
Программное обеспечение описывает набор программ и процедур, выполняющих задачи на компьютере. Программное обеспечение — это упорядоченная последовательность инструкций, которые изменяют состояние аппаратного обеспечения компьютера. Существует три основных типа программного обеспечения:
- System software
- Programming software
- Application software
Когда вы думаете о компьютерных науках, вам, вероятно, приходит на ум программное обеспечение. Программное обеспечение — это то, что на самом деле кодируют разработчики. Затем эти программы устанавливаются на жесткий диск.
Аппаратное обеспечение — это все, что физически связано с компьютером. Например, монитор, принтер, мышь и жесткий диск — все это компоненты оборудования.
Аппаратное и программное обеспечение взаимодействуют друг с другом. Программное обеспечение «сообщает» оборудованию, какие задачи нужно выполнять, а оборудование позволяет их выполнять.
Примечание. Большинству компьютеров для работы требуется как минимум жесткий диск, дисплей, клавиатура, память, материнская плата, процессор, блок питания и видеокарта.
Программное обеспечение
Нравится статья? Прокрутите вниз, чтобы подписаться на нашу бесплатную новостную рассылку, выходящую два раза в месяц.
Компоненты оборудования
Теперь, когда мы понимаем разницу между аппаратным и программным обеспечением, давайте узнаем об аппаратных компонентах компьютерной системы. Помните: оборудование включает в себя физические части компьютера, которым управляет программное обеспечение.
Процессор
Центральный процессор (ЦП) — это физический объект, обрабатывающий информацию на компьютере. Он берет данные из основной памяти, обрабатывает их и возвращает измененные данные в основную память. Он состоит из двух подразделений:
- Блок управления (CU): контролирует поток данных из и в основную память
- Арифметико-логический блок (АЛУ): обрабатывает данные
Архитектура фон Неймана
Этот дизайн компьютерной архитектуры, созданный Джоном фон Нейманом в 1945 году, до сих пор используется в большинстве компьютеров, производимых сегодня. Архитектура фон Неймана основана на концепции компьютера с хранимой программой. Данные инструкции и программы хранятся в одной памяти.
Эта архитектура включает в себя следующие компоненты:
Блоки ввода и вывода
Устройство ввода принимает входные данные из реального мира или устройства ввода и преобразует эти данные в потоки байтов. Общие устройства ввода включают клавиатуру, мышь, микрофон, камеру и USB.
Устройство вывода, с другой стороны, берет обработанные данные из хранилища ЦП и представляет их в понятном для человека виде. К распространенным устройствам вывода относятся экраны мониторов, принтеры и наушники.
Единицы хранения
После того, как данные извлечены и преобразованы, они должны быть сохранены в памяти. Единица хранения или память — это физическое пространство памяти. Он разделен на места хранения размером в байты.
Хранилище содержит миллионы байтов памяти для хранения всего, что мы хотим на нашем компьютере. Чтобы сохранить немного данных в памяти компьютера, мы используем схему, называемую защелкой, которая сохраняет предыдущий ввод, если он не сброшен. Мы можем создать схему, используя:
- S-R latch
- Gated S-R latch
- D latch
Объем памяти
В аппаратной памяти компьютера есть компоненты. Основная память или оперативная память (RAM) — это физическая память внутри компьютера. В нем хранятся данные и инструкции, к которым ЦП может получить прямой доступ. Компьютеры обычно имеют ограниченный объем оперативной памяти для хранения всех ваших данных.
Именно тогда и приходит в употребление вторичное хранилище. Вторичное хранилище увеличивает основную память и содержит данные и программы, которые не нужны немедленно.
К вторичным устройствам хранения относятся жесткие диски, компакт-диски (CD), USB-накопители и т. Д. ЦП не может получить прямой доступ к вторичным устройствам хранения.
Программные компоненты
Теперь давайте обсудим различные программные компоненты, необходимые для работающего компьютера. Помните: программное обеспечение включает в себя набор программ, процедур и подпрограмм, необходимых для работы компьютера.
Машинный язык
Компьютер может обрабатывать только двоичные данные: поток единиц и нулей. Двоичный — это язык компьютера. Инструкции для компьютера также хранятся в виде единиц и нулей, которые компьютер должен декодировать и выполнять.
язык ассемблера
Язык ассемблера — это удобочитаемый режим инструкций, который преобразует двоичный код операции в инструкцию ассемблера. ЦП не может обрабатывать или выполнять инструкции сборки, поэтому требуется кодировщик, который может преобразовывать язык ассемблера в машинный язык.
Ассемблер
Ассемблер переводит программу на ассемблере на машинный язык. Приведенный ниже фрагмент кода представляет собой программу сборки, которая печатает «Hello, world!» на экране для процессора X86.
Языки высокого уровня
Язык ассемблера называется языком низкого уровня, потому что он очень похож на машинный язык. Чтобы преодолеть эти недостатки, были созданы языки высокого уровня.
Эти языки называются языками программирования, и они позволяют нам создавать мощные, сложные, удобочитаемые программы без большого количества низкоуровневых инструкций. Некоторые из самых известных языков высокого уровня :
Как вы разрабатываете программное обеспечение?
Дизайн программного обеспечения — это процесс преобразования определенных требований в подходящую программу с использованием кода и языка высокого уровня. Нам необходимо правильно разработать программу и систему, которые соответствуют нашим целям.
Разработчики используют дизайн программного обеспечения, чтобы продумать все части своего кода и системы. Разработка программного обеспечения включает три уровня:
В этой статье я поговорю об связях между программами. Связи между программами или, выражаясь иначе, взаимодействие программ друг с другом в подавляющем большинстве случаев заключается в получении данных одной программой от другой. Например, программа электронных торгов может запрашивать у какой-то другой программы курс валют. Или текстовому редактору может передавать введенный пользователем текст операционная система, используя драйвер клавиатуры. Программы могут предоставлять набор функций для взаимодействия – API. Или даже иметь целые механизмы взаимодействия, называемые протоколами, когда используется множество последовательных вызовов функций, например, для сложного согласования каких-либо параметров. Большим шагом вперед является создание универсальных структур – XML и Json. Программы могут взаимодействовать с другими программами и «невежливым» способом — без протоколов и открытых API: парся данные страницы в случае грабберов, внедряясь в исполняемые файлы как вирусы или, наоборот, убивая их в случае антивирусов.
В информационных технологиях, подобно экосистемам живой природы, наблюдается очень сильное взаимное влияние программных систем друг на друга и, вообще говоря, оно может быть двух видов:
- Во-первых, система может использовать нижележащий слой по уровню иерархии (при этом, как правило, слои, расположенные выше не влияют на нижележащие).
- Во-вторых, система может взаимодействовать с другой системой на том же уровне иерархии, используя различные интерфейсы.
Кроме этого, по характеру взаимодействующих программ взаимодействие может быть двух видов: взаимодействуют разные части или одинаковые. Наблюдения показывают, что в первом случае, их количество может быть относительно небольшим – например, с десяток органов в организме или несколько составляющих компьютера, а если слагаемые одинаковые, то обычно их очень много: клеток в органе, транзисторов в процессоре, людей в цивилизации, программы тоже состоят из миллионов машинных команд нескольких десятков видов. При этом каждая машинная команда, клетка, каждый транзистор или каждый нейрон в нейронной сети выполняет очень простую функцию. Можно предположить, что в основе любой вещи, любой системы в самом основании лежат именно такие простые базовые составляющие.
Отличие от живой природы в том, что системы на разных уровнях достаточно независимы и могут продолжать работать при смене нижележащего слоя на другой: так, веб-сайт будет продолжать открываться если Вы смените витую пару Ethernet на Wifi.
В общем случае, взаимодействие программных систем может быть нескольких видов:
-
Построена на «инфрастурктуре» (например, на операционной системе или на какой-либо платформе – например, IBM Notes, или внутри социальной сети).
Часто программы позволяют расширять свою функциональность: текстовые редакторы и электронные таблицы позволяют создавать макросы, браузеры – добавлять расширения, все CMS – дополнять их сторонними компонентами и плагинами. Некоторые программы идут дальше по этому пути и по сути являются платформами для запуска других приложений: например, браузеры или ibm lotus notes.
Сама операционная система – это программа, единственное назначение которой — существование других программ. Она упрощает их существование, изолирует от железа, предоставляет возможность использования графического интерфейса и даёт доступ к сети, её цель – обеспечить работу другим программам.
При этом и операционные системы, и платформы, и даже CMS, которые ставят из-за единственного компонента, во многих случаях гораздо сложнее той программы, ради которой их используют, они могут включать множество самых различных обеспечивающих работу функций: разделять ресурсы, предоставлять механизм авторизации, упрощать обращение к базе данных. Это происходит и за счёт своей универсальности (например, операционная система Windows содержит несколько подсистем Win32, OS/2) для обеспечения работы для всех возможных программ.
Универсальность всегда приводит к дополнительной сложности. Это касается и тех компонент, которые программисты используют при написании программы, они гораздо сложнее и обладают гораздо большим набором функций, многие из которых не требуются и не используются. Программы часто вынуждены обеспечивать обратную совместимость – так, в Windows можно было запускать DOS-приложения. При взаимодействии систем, возможно возникновение нескольких интересных эффектов.
Первый из них называется синергия и его идея в том, что слагаемое больше, чем просто сумма слагаемых. То есть если Вы к одной технологии добавите какую-то другую, то при синергии получившаяся технология будет превосходить как первую, так и вторую. И это может быть качественно другой продукт. То есть, если Вы к компьютеру с программой добавите железный скелет, то получите робота, который больше и чем железка, и чем компьютер. Взаимодействие большого количества простых вещей может приводить к каким-то сложным взаимодействиям. Сумма простых вещей даёт сложную – набор транзисторов создаёт компьютер, набор атомов создаёт предмет, клетки в организме создают органы. Сумма людей – цивилизация – это не просто семь млрд. человек, это что-то большее.
Вторую мысль озвучил Питер Норвиг в докладе Everything is Miscellaneous. Она показалась мне удивительной: если Вы посмотрите на отдельно взятого шимпанзе и отдельно взятого человека, то увидите, что между ними много общего. Ну, то есть понятно, что шимпанзе немного сильнее, человек немного умнее, но в целом, их внешний вид немного похож, их физические и даже пусть с большой натяжкой интеллектуальные возможности сопоставимы. Но теперь если Вы взглянете на культуру шимпанзе и культуру человечества, то увидите колоссальную разницу. Цивилизацию людей даже нельзя сопоставить с цивилизацией шимпанзе. Почему-то это напомнило мне о том, что 0.99 и 1.01 вроде бы не сильно отличаются, но при возведении в какую-нибудь большую степень одно число будет стремиться к нулю, а другое – к бесконечности.
Для тех, кто просто пролистал до конца: взаимодействие программ может быть различных типов и его результат может приводить к принципиально новому уровню программной системы. Целое не всегда отражает то, что происходит в составных частях. Спасибо за внимание!
Людям приходится решать множество проблем - рабочих, коммуникационных, транспортных, финансовых и множества других. Для решения многих из этих проблем требуется помощь компьютера.
К сожалению, компьютеры распознают только нули и единицы двоичной системы счислению и не понимают обычного человеческого языка. Именно здесь на помощь приходят программные средства, или программное обеспечение (software). Иногда говорят про математическое обеспечение, но этот термин относится к давним временам, когда компьютеры использовались как быстродействующие калькуляторы. Программное обеспечение позволяет сформулировать для компьютера конкретную проблему и заставить компьютер предоставить людям результаты ее решения. По существу, программное обеспечение служит связью между человеком и компьютером.
Прежде чем аппаратные средства смогут фактически считать данные, обработать их и получить нужную информацию, им необходим набор команд (инструкций - instructions), называемый программой, которая фактически управляет работой процессора. Программы, как и данные, считываются в основную память под управлением процессора.
Программы, необходимые конкретным пользователям или охватывающие целые прикладные области, разрабатывают профессиональные программисты (programmers). Совокупность программ, которая позволяет компьютерной системе обрабатывать данные, называется программным обеспечением (software).
Для компьютеров требуется программное обеспечение двух типов - системное программное обеспечение (system software) для общего управления работой компьютерной системы и прикладное программное обеспечение (application software) для обработки входных данных и предоставления пользователям осмысленной выходной информацией.
Когда пользователь работает с прикладной программой, или, короче, приложением (application, app) системное программное обеспечение продолжает управлять большинством аппаратных компонентов компьютера. Оно действует как посредник между аппаратными средствами и прикладной программой.
Системное программное обеспечение помогает аппаратным компонентам работать совместно и предоставляет поддержку прикладным программам. Системное программное обеспечение включает в себя операционные системы (operating systems), операционные среды (operating environments), трансляторы языков (language translators), утилиты (utilities), или вспомогательные программы, и мониторы производительности (performance monitors). Наиболее важными компонентами системного программного обеспечения являются операционные системы и операционные среды.
Операционная система
Операционная система представляет собой совокупность программ, которые помогают аппаратным компонентам работать совместно, не мешая друг другу. Некоторые программы операционной системы работают автоматически и не требуют вмешательства человека. Другие компоненты (утилиты) предоставляют пользователю помощь в выполнении задач, обеспечивающих правильную работу компьютерной системы.
Как же операционная система выполняет свои функции? Прежде всего операционную систему необходимо загрузить в основную память. Этот процесс называется загрузкой (booting) системы. После загрузки операционной системы один из ее компонентов, называемый супервизором (supervisor program), остается в основной памяти все время. Такая программа называется резидентной программой (resident program). Другие компоненты операционной системы находятся на диске и загружаются в основную память только при необходимости. Такие программы называются транзитными (transient programs).
Операционная система передается в основную память при загрузке компьютера.
- Управление системными ресурсами.
- Управление процессами ввода и вывода.
- Предоставление пользователю возможности взаимодействовать с операционной системой.
Прикладное программное обеспечение
- Программы обработки текста (текстовые редакторы и процессоры).
- Программы настольных издательских систем.
- Электронные таблицы.
- Программы управления базами данных.
- Графические и мультимедийные программы.
- Развлекательные и обучающие программы.
- Утилиты.
- Коммуникационные программы.
Программы обработки текста
Упрощенно можно считать программу обработки текста компьютерным вариантом пишущей машинки, но, разумеется, возможности этой программы намного шире возможностей пишущей машинки. Большинство программ обработки текста, называемые текстовыми процессорами (text processor) и текстовыми редакторами (text editor), позволяют не только легко и удобно вносить изменения и дополнения в текст, но и проверять орфографические и грамматические ошибки, изменять внешний вид текста, вводить графические изображения, формировать предметные указатели и оглавления.
Программы настольных издательских систем
Программа, обеспечивающая компоновку страниц, т.е. программа настольного издательства (Desktop Publishing Program - DTP), является очень полезным дополнением текстового процессора. Она объединяет функции традиционного фотонаборного автомата и художественного редактора. Программа DTP позволяет объединить выходы текстового процессора и графической программы для получения профессиональных страниц, которые уже предназначены для печати. Показанная на рисунке типичная настольная издательская система состоит из персонального компьютера, высококачественного принтера, сканера и различных программ.
Электронные таблицы
Электронная таблица (spreadsheet) представляет собой прикладную программу, предназначенную для организации, расчетов и анализа численных данных. Рабочее пространство (workspace) электронной таблицы заполнено столбцами (columns) и строками. Пользователь вводит данные в ячейки (cells), образованные пересечениями столбцов и строк. В ячейки можно вводить текст, числа и формулы для создания рабочего листа (worksheet), который можно считать разновидностью компьютерного бухгалтера. Когда ввод данных закончен, пользователь может изменить значения любых данных для реализации мгновенного расчета по принципу "а что, если" - для проверки различных результатов достаточно вводить в электронную таблицу различные данные. Электронные таблицы могут также формировать диаграммы и графики для представления взаимозависимостей между данными.
Программы управления базами данных
Базу данных (data base, database) в упрощенном варианте можно считать компьютерным вариантом документации отдела кадров организации. Для каждого работника имеется запись (record), в отдельных полях (fields) которой находятся его фамилия, имя, отчество, занимаемая должность, рабочий стаж, семейное положение и др. С помощью программы управления базой данных (database management program) и специального языка можно выполнять такие операции, как поиск (search) конкретных записей, обновления (update) содержания полей, добавления (add) новых записей, удаления ненужных записей, сортировки записей и др. В современных базах данных поля могут содержать не только текст, но и изображения, например фотографии работников. Программы управления базами данных с расширенными возможностями часто называют системами управления базами данных (DataBase Management System - DBMS).
Графические приложения
Программы для обработки изображений называются графическими программами (graphics programs) или графическими редакторами (graphics editors). Имеется несколько разновидностей графических программ. С их помощью можно самостоятельно создать рисунки и иллюстрации, пользуясь электронным указывающим устройством так же, как художники пользуются карандашом или кистью. Графические программы называются программами рисования (paint program) или программами черчения (draw program) в зависимости от того, как программа создает изображение. Типичная программа рисования, как показано на рисунке, воспринимает ввод от мыши, трэкбола, джойстика и пера. Профессиональные художники предпочитают работать пером на чувствительном к давлению планшете, так как при наличии хорошей программы перо лучше имитирует традиционную кисть, чем другие указывающие устройства.
Изображения, создаваемые графическими программами, часто используются в мультимедийных приложениях, которые объединяют текст, изображения, звук, компьютерную анимацию и видео ("движущиеся картинки", которые отображаются на экране телевизора или в кинотеатре). Программы для создания мультимедиа, называются мультимедийными авторскими программами (multimedia authoring software). Такие программы позволяют разнообразными способами объединить различные типы носителей (текст, изображения, звук). Мультимедийные авторские программы имеют также также специальные средства для синхронизации звука с движущимися изображениями.
Развлекательные и обучающие программы
Примерами подобных программ являются учебники, игры и тренажеры. Например, многие обучающие программы учат детей основам математики, азбуке и чтению. Почти всегда такие программы оформляются как игры и в них предусматриваются поощрения за правильные ответы.
Утилиты
Утилитами (utilities) называются полезные программы, которые помогают в работе компьютера. Например, некоторые утилиты позволяют избавиться от вирусов, удалить устаревшие файлы или восстановить случайно удаленные данные.
Процессор в известном смысле похож на "мозг" компьютера, т.е. компонент, который организует и выполняет команды (инструкции - instructions), предоставляемые пользователем или программой. Основные компоненты для обработки данных и процессоры современных РС приведены на следующих рисунках.
Основная память
- Килобайт (КБ) содержит примерно тысячу байтов (точное значение равно 1024).
- Мегабайт (МБ) содержит примерно миллион байтов (точное значение 1 048 576).
- Гигабайт (ГБ) содержит примерно миллиард байтов (точное значение 1 073 741 824).
В персональных компьютерах микросхемы RAM расположены на небольших схемных платах, которые вставляются в слоты на материнской плате
Устройства ввода и вывода
Компьютеры без средств взаимодействия с пользователем оказались бы совершенно бесполезными, так как не смогли бы воспринимать команды и предоставлять результаты своей работы. Устройства ввода воспринимают от пользователя данные и команды, а устройства вывода возвращают обработанные данные пользователю.
Наиболее распространенным устройством ввода является клавиатура (keyboard), которая воспринимает от пользователя буквы, числа и команды. Сейчас стандартным устройством ввода стала мышь (mouse), которая предоставляет пользователю возможность рисовать на экране и вводить команды, перемещая мышь по плоской поверхности и нажимая (clicking) ее кнопки. В качестве устройств ввода применяются также трэкболы, джойстики, сканеры, планшеты, цифровые камеры, микрофоны и др.
Функция устройства вывода заключается в том, чтобы представить обработанные данные пользователю. Самыми распространенными устройствами вывода являются дисплейный экран, называемый монитором (monitor), и принтер (printer). Компьютер посылает вывод на монитор, когда пользователю требуется только посмотреть вывод. Результаты посылаются на принтер, когда пользователю нужна бумажная копия (hard copy).
Некоторые типы устройств могут выполнять и ввод, и вывод. К ним относятся, в частности, коммуникационные устройства, которые могут соединить один компьютер с другим с образованием компьютерной сети. Среди коммуникационных устройств особое место занимают модемы (modems), позволяющие компьютерам взаимодействовать по телефонным линиям, а также сетевые интерфейсные карты, предоставляющие пользователям возможность объединения группы компьютеров для разделения данных и устройств.
Внешняя память
- В дисковой памяти имеется намного больше места, чем в памяти RAM.
- Дисковая память сохраняет свое содержание при выключении компьютера, а программа или данные, переданные в память RAM, исчезают при выключении компьютера.
- Диск намного дешевле памяти RAM.
Среди других устройств внешней памяти можно отметить накопители CD-ROM, ленточные накопители, оптические накопители, сменные жесткие диски и многие другие. Самым распространенным устройством внешней памяти после накопителей на жестких и гибких дисках является накопитель CD-ROM. Компакт-диски (Compact Disc - CD) относятся к устройствам оптической памяти и могут хранить 650 МБ данных, т.е. в 450 раз больше гибкого диска. Название CD-ROM означает Compact Disc-Read Only Memory и показывает, что с компакт-диска можно только считывать информацию, а изменить ее невозможно. Максимальная емкость новейших оптических дисков DVD (Digital Versatile Disc) составляет до 18 ГБ (!).
Читайте также: