Устройства для вывода прочей информации
Устройство ввода
Устройства ввода — периферийное оборудование для занесения (ввода) данных или сигналов в компьютер либо другое электронное устройство во время его работы. Устройства ввода и вывода составляют аппаратный интерфейс между компьютером и сканером или 6DOF-контроллером.
Устройства ввода подразделяются на следующие категории:
- аудио, видео и механические устройства;
- непрерывные устройства ввода (к примеру, мышь, позиция которой изменяется достаточно быстро и постоянно, что может рассматриваться как непрерывный ввод);
- устройства для пространственного использования, такие как двухмерная мышь или трехмерный навигатор (особенно для CAD-приложений).
Также многие компьютерные указывающие устройства ввода классифицируются по способу управления курсором:
- прямой ввод, когда управление осуществляется непосредственно в месте видимости курсора. Например, сенсорные панели и экраны;
- непрямые указывающие устройства, к примеру, трекболы или мыши.
Разновидности устройств ввода
Основным, и обычно необходимым, устройством ввода текстовых символов и последовательностей (команд) в компьютер остаётся клавиатура.
Устройства ввода графической информации
- Сканер
- Видео- и Веб-камера
- Цифровой фотоаппарат
- Плата видеозахвата
Устройства ввода звуковой информации
- Микрофон
- Цифровой диктофон
Устройства ввода текстовой информации
- Клавиатура
Указательные (координатные) устройства
- Мышь
- Трекбол
- Тачпад
- Световое перо
- Графический планшет
- Тачскрин
- Джойстик
- Устройства основанные на компьютерном зрении типа Kinect
Игровые устройства ввода
- Джойстик
- Педаль
- Геймпад
- Руль
- Танцевальная платформа
Устройство вывода
Устро́йства вы́вода — периферийные устройства, преобразующие результаты обработки цифровых машинных кодов в форму, удобную для восприятия человеком или пригодную для воздействия на исполнительные органы объекта управления.
Устройства для вывода визуальной информации
- Монитор (дисплей)
- Проектор
- Принтер
- Графопостроитель
Устройства для вывода звуковой информации
- Встроенный динамик
- Колонки
- Наушники
Устройства для вывода прочей информации
- Игровой джойстик (при столкновении с препятствием вибрирует)
- Видеокарта
Устройства ввода/вывода
- Магнитный барабан
- Стример
- Дисковод
- Жёсткий диск
- Различные порты
- Различные сетевые интерфейсы
В соответствии с точным определением, в качестве «сердца» компьютера рассматриваются центральный процессор и ОЗУ. Все операции, не являющиеся внутренними по отношению к этому комплексу, рассматриваются как операции ввода/вывода.
13.
Программное обеспечение условно можно разделить на 3 класса: системное ПО, прикладное ПО и инструментальное ПО.
Системное программное обеспечение, в свою очередь, состоит из базового ПО и сервисного ПО.
Базовое ПО поставляется вместе с компьютером и обеспечивает его работоспособность. В состав базового ПО входит операционная система, операционная оболочка и сетевые программные средства.
Операционная система предназначена:
- для запуска и нормальной работы компьютера,
- для функционирования других программ на компьютере,
- для диагностики и контроля работоспособности блоков и узлов компьютера,
- для выполнения других вспомогательных технологических процессов.
В настоящее время разработано большое количество ОС, различающихся по возможностям их функционирования: в режимах: одно- и многопользовательских, одно- и многозадачных, поддерживающих сетевые режимы и др. Широкое применение нашли следующие ОС: Windows, Linux, Mac OS, NetWare, OS/2, Solaris, QNX, MS DOS и др.
Оболочка ОС предназначена для комфортного общения пользователя с ЭВМ. Она снимает проблему управления компьютером с помощью набора команд в командной строке и их запуска на исполнение. Оболочка ОС реализует текстовый или/и графический интерфейс. Например, в ОС MS DOS в качестве такой надстройки выступает программа-оболочка Norton Commander, реализующая текстовый интерфейс в виде двух таблиц с директориями файловой системы, а в ОС Windows (и Mac OS) интерфейс оболочки - графический; имеется также текстовый интерфейс, реализуемый программой Windows Commander.
Сетевая ОС обеспечивает работу компьютера в сети и поддерживает все сетевые службы - электронную почту, обмен файлами, доступ к сайтам, общение между клиентами через Интернет и пр.
Сервисное ПО расширяет возможности компьютера и может приобретаться за отдельную плату или в последующем поставляться через Интернет (для зарегистрированных пользователей).
В настоящее время такие известные операционные системы как Windows XP, MAC OS и некоторые другие включают в себя все вышеперечисленные компоненты системного ПО, являясь по существу комплексным системным ПО.
Прикладное программное обеспечение предназначено для решения различных задач из конкретных предметных областей.
ПО общего назначения обычно комплектуется в пакетном варианте. Например, для ОС Windows имеется пакет прикладных программ Microsoft Office, включающий программные средства для создания текстовых документов (Word), электронных таблиц (Excel), презентаций (Power Point), публикаций (Publisher), базы данных (Access), для подготовки и редактирования Web-документов (FrontPage).
В этот пакет также входит ряд дополнительных программных средств: Picture Manager для просмотра, систематизации и редактирования графики, Document Imaging для просмотра, чтения и распознавания текста в графических документах и факсах, Document Scanning для сканирования многостраничных документов и распознавания текста в графических документах, файл библиотеки картинок и др.
ПО мультимедиа предназначено для создания и использования двумерной и трёхмерной графики, анимации, аудио и видео файлов. Представителями этих ПО являются широко известные программные комплексы Adobe Photoshop для создания и редактирования двумерной графики, 3D Studio Max для трёхмерного моделирования и проектирования, Macromedia Flash для анимации и мультипликации. Для обработки и редактирования звука используются популярные программы Nero, Audio Editor Gold, для воспроизведения звука и видео Windows Media Player, QuickTime Player и др.
Проблемно-ориентированное ПО пожалуй самый распространённый подкласс прикладных программных средств. Сюда относятся пакеты программ для управления производством, ведения бухгалтерского учёта, управления кадрами, управления материальными ценностями и др.
Большой спектр прикладных программ разработан в качестве информационных систем (см. "Информатика и информация"), куда относятся и информационно-поисковые, и издательские и прочие системы.
Инструментальное программное обеспечение предназначено для разработки новых программ и программных комплексов.
Множество различных приложений на компьютере создаётся с помощью языков и систем программирования.
Язык программирования - это формализованный язык описания алгоритмов, используемых для решения различных задач на компьютере.
В процессе становления и развития вычислительной техники возникали и развивались также языки программирования. Некоторые из них затем изменялись, трансформировались, интегрировались с другими, некоторые умирали вовсе. Сейчас у программистов имеется богатый арсенал языков программирования на все случаи программистской жизни: Assembler, Basic, C++, Delphi, Fortran, Java, Pascal, и др. Каждый из перечисленных языков программирования имеет целый ряд модификаций (например, Basic, Q-Basic, Visual Basic и др.), которые по возможностям и свойствам существенно отличаются друг от друга.
Языки программирования можно разделить на машинно-зависимые (низкого уровня) и машинно-независимые (высокого уровня).
К языкам низкого уровня относятся:
- машинные языки, написанные в двоичных кодах в виде нулей и единиц,
- машинно-ориентированные языки (ассемблеры), написанные в так называемых мнемокодах, заложенных в систему команд конкретного процессора (например, мнемокод сложить записан как ADD, мнемокод очистить как DEL и т.д.).
К языкам высокого уровня относятся:
- алгоритмические языки - переводят алгоритмы с языка математики на язык программных кодов,
- процедурно - ориентированные языки позволяют записать программу в виде набора процедур,
- проблемно-ориентированные языки предназначены для решения определённого класса задач.
Программа, написанная на языке высокого уровня, не может непосредственно использоваться на компьютере. Она должна пройти этап трансляции исходного кода, записанного на языке высокого уровня, в объектный код, который затем с помощью редактора связей формирует загрузочный модуль, пригодный для запуска на компьютере. Такой процесс осуществляется, например, при написании программы на языке Фортран и называется компилированием.
В других языках высокого уровня (например, на Бейсике) трансляция исходного кода в исполняемый происходит последовательно с каждой командой (оператором). Такая трансляция осуществляется программой-интерпретатором.
Созданная программа должна пройти проверку на пригодность к использованию с помощью отладчика программ. Он позволяет отслеживать последовательное исполнение программы, выявлять места и виды ошибок в программе, давать комментарии.
Система программирования состоит из:
- языковых средств разработчика программ,
- компилятора,
- редактора связей,
- отладчика,
- оптимизатора кода программ,
- набора библиотек,
- справочной системы и др.
Интегрированные среды программирования включают весь набор средств для комплексного их применения на всех технологических этапах разработки программ. Основное назначение такого инструментария состоит в том, чтобы с его помощью повысить производительность и эффективность труда программистов.
Программные комплексы используются при разработке сложных прикладных информационных систем. Они позволяют автоматизировать весь технологический процесс анализа, проектирования, разработки, отладки и сопровождения проекта целиком.
14.
Понятие алгоритма
Алгоритм - точное предписание исполнителю совеpшить определенную последовательность действий для достижения поставленной цели за конечное число шагов.
Одним из фундаментальных понятий в информатике является понятие алгоритма. Происхождение самого термина «алгоритм» связано с математикой. Это слово происходит от Algorithmi – латинского написания имени Мухаммеда аль-Хорезми (787 – 850) выдающегося математика средневекового Востока. В своей книге "Об индийском счете" он сформулировал правила записи натуральных чисел с помощью арабских цифр и правила действий над ними столбиком. В дальнейшем алгоритмом стали называть точное предписание, определяющее последовательность действий, обеспечивающую получение требуемого результата из исходных данных.
Алгоритм может быть предназначен для выполнения его человеком или автоматическим устройством. Создание алгоритма, пусть даже самого простого, - процесс творческий. Он доступен исключительно живым существам, а долгое время считалось, что только человеку. В XII в. был выполнен латинский перевод его математического трактата, из которого европейцы узнали о десятичной позиционной системе счисления и правилах арифметики многозначных чисел. Именно эти правила в то время называли алгоритмами.
Данное выше определение алгоритма нельзя считать строгим – не вполне ясно, что такое «точное предписание» или «последовательность действий, обеспечивающая получение требуемого результата».
Поэтому обычно формулируют несколько общих свойств алгоритмов, позволяющих отличать алгоритмы от других инструкций.
Такими свойствами являются:
• Дискретность (прерывность, раздельность) – алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов. Каждое действие, предусмотренное алгоритмом, исполняется только после того, как закончилось исполнение предыдущего.
• Определенность – каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола. Благодаря этому свойству выполнение алгоритма носит механический характер и не требует никаких дополнительных указаний или сведений о решаемой задаче.
• Результативность (конечность) – алгоритм должен приводить к решению задачи за конечное число шагов.
• Массовость – алгоритм решения задачи разрабатывается в общем виде, то есть, он должен быть применим для некоторого класса задач, различающихся только исходными данными. При этом исходные данные могут выбираться из некоторой области, которая называется областью применимости алгоритма.
На основании этих свойств иногда дается определение алгоритма, например: “Алгоритм – это последовательность математических, логических или вместе взятых операций, отличающихся детерменированностью, массовостью, направленностью и приводящая к решению всех задач данного класса за конечное число шагов”.
Такая трактовка понятия “алгоритм” является неполной и неточной.
Во-первых, неверно связывать алгоритм с решением какой-либо задачи. Алгоритм вообще может не решать никакой задачи.
Во-вторых, понятие “массовость” относится не к алгоритмам как к таковым, а к математическим методам в целом. Решение поставленных практикой задач математическими методами основано на абстрагировании – мы выделяем ряд существенных признаков, характерных для некоторого круга явлений, и строим на основании этих признаков математическую модель, отбрасывая несущественные признаки каждого конкретного явления. В этом смысле любая математическая модель обладает свойством массовости. Если в рамках построенной модели мы решаем задачу и решение представляем в виде алгоритма, то решение будет “массовым” благодаря природе математических методов, а не благодаря “массовости” алгоритма.
Виды алгоритмов
Виды алгоритмов как логико-математических средств отражают указанные компоненты человеческой деятельности и тенденции, а сами алгоритмы в зависимости от цели, начальных условий задачи, путей ее решения, определения действий исполнителя подразделяются следующим образом:
• Механические алгоритмы, или иначе детерминированные, жесткие (например, алгоритм работы машины, двигателя и т.п.);
• Гибкие алгоритмы, например стохастические, т.е. вероятностные и эвристические. Механический алгоритм задает определенные действия, обозначая их в единственной и достоверной последовательности, обеспечивая тем самым однозначный требуемый или искомый результат, если выполняются те условия процесса, задачи, для которых разработан алгоритм.
• Вероятностный (стохастический) алгоритм дает программу решения задачи несколькими путями или способами, приводящими к вероятному достижению результата.
• Эвристический алгоритм (от греческого слова “эврика”) – это такой алгоритм, в котором достижение конечного результата программы действий однозначно не предопределено, так же как не обозначена вся последовательность действий, не выявлены все действия исполнителя. К эвристическим алгоритмам относят, например, инструкции и предписания. В этих алгоритмах используются универсальные логические процедуры и способы принятия решений, основанные на аналогиях, ассоциациях и прошлом опыте решения схожих задач.
• Линейный алгоритм – набор команд (указаний), выполняемых последовательно во времени друг за другом.
• Разветвляющийся алгоритм – алгоритм, содержащий хотя бы одно условие, в результате проверки которого ЭВМ обеспечивает переход на один из двух возможных шагов.
• Циклический алгоритм – алгоритм, предусматривающий многократное повторение одного и того же действия (одних и тех же операций) над новыми исходными данными. К циклическим алгоритмам сводится большинство методов вычислений, перебора вариантов.
Цикл программы – последовательность команд (серия, тело цикла), которая может выполняться многократно (для новых исходных данных) до удовлетворения некоторого условия.
Вспомогательный (подчиненный) алгоритм (процедура) – алгоритм, ранее разработанный и целиком используемый при алгоритмизации конкретной задачи. В некоторых случаях при наличии одинаковых последовательностей указаний (команд) для различных данных с целью сокращения записи также выделяют вспомогательный алгоритм.
На всех этапах подготовки к алгоритмизации задачи широко используется структурное представление алгоритма.
Структурная (блок-, граф-) схема алгоритма – графическое изображение алгоритма в виде схемы связанных между собой с помощью стрелок (линий перехода) блоков – графических символов, каждый из которых соответствует одному шагу алгоритма. Внутри блока дается описание соответствующего действия.
Графическое изображение алгоритма широко используется перед программированием задачи вследствие его наглядности, т.к. зрительное восприятие обычно облегчает процесс написания программы, ее корректировки при возможных ошибках, осмысливание процесса обработки информации.
Можно встретить даже такое утверждение: “Внешне алгоритм представляет собой схему – набор прямоугольников и других символов, внутри которых записывается, что вычисляется, что вводится в машину и что выдается на печать и другие средства отображения информации “. Здесь форма представления алгоритма смешивается с самим алгоритмом.
15.Операцио́нная систе́ма, сокр. ОС (англ. operating system, OS) — комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны — предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений. Это определение применимо к большинству современных операционных систем общего назначения.
В логической структуре типичной вычислительной системы операционная система занимает положение между устройствами с их микроархитектурой, машинным языком и, возможно, собственными (встроенными) микропрограммами — с одной стороны — и прикладными программами с другой.
Разработчикам программного обеспечения операционная система позволяет абстрагироваться от деталей реализации и функционирования устройств, предоставляя минимально необходимый набор функций (см.: интерфейс программирования приложений).
В большинстве вычислительных систем операционная система является основной, наиболее важной (а иногда и единственной) частью системного программного обеспечения. С 1990-х годов наиболее распространёнными операционными системами являются системы семейства Windows и системы класса UNIX (особенно Linux и Mac OS).
Схема, иллюстрирующая место операционной системы в многоуровневой структуре компьютера
|
Функции
Основные функции:
- Исполнение запросов программ (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти и др.).
- Загрузка программ в оперативную память и их выполнение.
- Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).
- Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).
- Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др.), организованным в той или иной файловой системе.
- Обеспечение пользовательского интерфейса.
- Сохранение информации об ошибках системы.
Дополнительные функции:
- Параллельное или псевдопараллельное выполнение задач (многозадачность).
- Эффективное распределение ресурсов вычислительной системы между процессами.
- Разграничение доступа различных процессов к ресурсам.
- Организация надёжных вычислений (невозможности одного вычислительного процесса намеренно или по ошибке повлиять на вычисления в другом процессе), основана на разграничении доступа к ресурсам.
- Взаимодействие между процессами: обмен данными, взаимная синхронизация.
- Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений.
- Многопользовательский режим работы и разграничение прав доступа (см.: аутентификация, авторизация).
Компоненты операционной системы:
- Загрузчик
- Ядро
- Командный процессор (интерпретатор)
- Драйверы устройств
- Интерфейс
16.
Файловая система
Файловая система - это часть операционной системы, назначение которой состоит в том, чтобы обеспечить пользователю удобный интерфейс при работе с данными, хранящимися на диске, и обеспечить совместное использование файлов несколькими пользователями и процессами.
В широком смысле понятие "файловая система" включает:
- совокупность всех файлов на диске,
- наборы структур данных, используемых для управления файлами, такие, например, как каталоги файлов, дескрипторы файлов, таблицы распределения свободного и занятого пространства на диске,
- комплекс системных программных средств, реализующих управление файлами, в частности: создание, уничтожение, чтение, запись, именование, поиск и другие операции над файлами.