Визуальный интерфейс пользователя
Текстовый интерфейс пользователя (в частности, интерфейс командной строки)
Графический интерфейс пользователя
· Оконный интерфейс
· WIMP (графический интерфейс)
· Web-ориентированный интерфейс
· Индуктивный пользовательский интерфейс
· Масштабируемый интерфейс пользователя
· Тактильный интерфейс (Хаптика (англ.))
· Жестовый интерфейс
· Голосовой интерфейс
· Материальный интерфейс пользователя
· Сенситивные интерфейсы
ПИ компьютерной программы
Интерфейс пользователя компьютерного приложения включает:
· средства отображения информации, отображаемую информацию, форматы и коды;
· командные режимы, язык «пользователь — интерфейс»;
· устройства и технологии ввода данных;
· диалоги, взаимодействие и транзакции между пользователем и компьютером, обратную связь с пользователем;
· поддержку принятия решений в конкретной предметной области;
· порядок использования программы и документацию на неё.
Пользовательский интерфейс часто понимают только как внешний вид программы. Однако, на деле пользователь воспринимает через него всю программу в целом, а значит, такое понимание является слишком узким.
В действительности ПИ объединяет в себе все элементы и компоненты программы, которые способны оказывать влияние на взаимодействие пользователя с программным обеспечением (ПО), это не только экран, который видит пользователь.
К этим элементам относятся:
· набор задач пользователя, которые он решает при помощи системы;
· используемая системой метафора (например, рабочий стол в MS Windows®);
· элементы управления системой;
· навигация между блоками системы;
· визуальный (и не только) дизайн экранов программы;
· средства отображения информации, отображаемая информация и форматы;
· устройства и технологии ввода данных;
· диалоги, взаимодействие и транзакции между пользователем и компьютером;
· обратная связь с пользователем;
· поддержка принятия решений в конкретной предметной области;
· порядок использования программы и документация на нее.
Для упрощения восприятия функции программы пользователем при разработке пользовательского интерфейса желательно использовать метафоры.
Формулировка вопроса:
36. Понятие графического интерфейса GUI.
37. Текстовой интерфейс пользователя TUI.
38. Оконный интерфейс.
39. Системы программирования.
40. Программы разработки ПО.
Ответы на вопросы:
36) Графический интерфейс пользователя (GUI):
Графи́ческий интерфе́йс по́льзователя, графический пользовательский интерфейс, ГИП (англ. graphical user interface, GUI) — разновидность пользовательского интерфейса, в котором элементы интерфейса (меню, кнопки, значки, списки и т. п.), представленные пользователю на дисплее, исполнены в виде графических изображений.
В отличие от интерфейса командной строки, в GUI пользователь имеет произвольный доступ (с помощью устройств ввода — клавиатуры, мыши, джойстика и т. п.) ко всем видимым экранным объектам (элементам интерфейса) и осуществляет непосредственное манипулирование ими. Чаще всего элементы интерфейса в GUI реализованы на основе метафор и отображают их назначение и свойства, что облегчает понимание и освоение программ неподготовленными пользователями.
Графический интерфейс пользователя является частью пользовательского интерфейса и определяет взаимодействие с пользователем на уровне визуализированной информации.
История:
Благодаря исследованиям, проведённым в 60-е годы Дагом Энгельбартом[1] в научно исследовательском институте Стэнфорда был изобретён графический интерфейс пользователя.
Впоследствии концепция GUI была перенята учеными из исследовательской лаборатории Xerox PARC в 1970-х. В 1973 году в лаборатории Xerox PARC собрали молодых учёных и дали свободу исследований. В результате, кроме всего прочего, на свет появляется концепция графического интерфейса WIMP (Windows, Icons, Menus, Point-n-Click) и в рамках этой концепции создаётся компьютер Alto. Он не был выпущен как коммерческий продукт, но широко использовался на фирме как корпоративный Xerox инструмент.
В 1979 году Three Rivers Computer Corporation выпускает рабочую станцию PERQ, похожую по принципам построения на Alto. В 1981 году Xerox выпускает продолжение Alto — Star.
Коммерческое воплощение концепция GUI получила с 1984 года в продуктах корпорации Apple Computer. В операционной системе AmigaOS GUI с многозадачностью был использован в 1985 году.
В настоящее время GUI является стандартной составляющей большинства доступных на рынке операционных систем и приложений. Примеры систем, использующих GUI: Mac OS, GEM, Atari TOS, Microsoft Windows, Solaris, GNU/Linux, NeXTSTEP, OS/2, BeOS, Android, iOS, Bada, MeeGo.
Хотя в подавляющем большинстве систем GUI является надстройкой для операционной системы, существуют и независимые его реализации. Известен вариант графической программы BIOS Setup, когда, ещё до загрузки ОС, управление настройками IBM PC-совместимой ЭВМ производится мышью, аналогично полноценному GUI. Впрочем, такой вариант BIOS не прошёл проверку временем. Также имеются GUI для МК, не требующие ОС.
Классификация:
Можно выделить следующие виды GUI:
· простой: типовые экранные формы и стандартные элементы интерфейса, обеспечиваемые самой подсистемой GUI;
· истинно-графический, двумерный: нестандартные элементы интерфейса и оригинальные метафоры, реализованные собственными средствами приложения или сторонней библиотекой;
· трёхмерный.
Достоинства:
· Графический интерфейс является «дружелюбным» для пользователей, которые начали знакомство с компьютером с графического интерфейса;
· В программах обработки графики он, зачастую, является единственно возможным.
Недостатки:
· Большее потребление памяти в сравнении с текстовым интерфейсом;
· Сложнее организовать удаленную работу;
· Невозможность автоматизации, если она не была заложена автором программы;
· Графический интерфейс не является «дружелюбным» для пользователей, которые начали знакомство с компьютером с интерфейса командной строки.
37) Тестовый интерфейс пользователя:
Текстовый пользовательский интерфейс, ТПИ (англ. Text user interface, TUI; также Character User Interface, CUI) — разновидность интерфейса пользователя, использующая при вводе-выводе и представлении информации исключительно набор буквенно-цифровых символов и символов псевдографики. Характеризуется малой требовательностью к ресурсам аппаратуры ввода-вывода (в частности, памяти) и высокой скоростью отображения информации, поэтому широко использовался на начальном этапе развития вычислительной техники. Также, его разновидность —интерфейс командной строки — имеет отдельные преимущества в юзабилити перед графическим интерфейсом. Поэтому программы, основанные на ТПИ, имеют некоторое распространение до настоящего времени, особенно в специфических сферах и на маломощном оборудовании.
Недостатком подобного типа интерфейса является ограниченность изобразительных средств по причине ограниченности количества символов, включённых в состав шрифта, предоставляемого аппаратурой.
Программы с текстовым интерфейсом могут имитировать оконный интерфейс, чему особенно способствует применение псевдографических символов.
ТПИ, использующий в качестве элементов интерфейса только и исключительно вводимые с клавиатуры текстовые строки (команды), называется интерфейсом командной строки (т. н. консольные программы — программы, использующие интерфейс командной строки, где информация выводится на консоль).
Особенности текстового интерфейса:
В простейшем случае текстовый интерфейс использует интерфейс командной строки, однако многие программы с помощью интерактивных элементов создают более дружественный интерфейс, приближающийся по удобству к графическому.
В текстовом интерфейсе реализованы все базовые элементы интерфейса, используемые и в графическом интерфейсе — меню, кнопки, переключатели, флажки, выпадающие списки, полосы прокрутки и так далее. Многие программы реализовывали развитую оконную систему, чему способствовали библиотеки вроде CScape, D-Flat, Turbo Vision и многие другие, некоторые имели сменные темы оформления (например, DOS Navigator) и поддерживали различные устройства интерактивного взаимодействия, такие как мышь, джойстик, световое перо.
На программном уровне для ввода и вывода информации консольные программы используют стандартные устройства ввода-вывода (stdin, stdout, stderr), хотя могут открывать и другие файлы, сетевые соединения и совершать иные действия, доступные в выполняющей их среде. Вывод печатных символов в stdout и stderr приводит к появлению этих символов на устройстве вывода и к получению их пользователем.
Консольные программы для более продвинутых операционных систем, особенно UNIX, как правило, способны работать на достаточно широком классе реализаций интерфейса с пользователем. Для упрощения написания таких программ широко применяется библиотека ncurses[2].
Реализация текстового интерфейса:
Консольная программа не обязана заботиться о реализации самого взаимодействия с пользователем, ограничиваясь вводом-выводом настандартные устройства, использованием библиотек типа ncursesили иных программных интерфейсов. Собственно взаимодействие с пользователем обычно осуществляет операционная система или иное программное обеспечение.
Классической реализацией текстового интерфейса, восходящей к первой половине XX века, является алфавитно-цифровое устройство ввода-вывода, например, комплект из клавиатуры и АЦПУ (телетайпа). Впоследствии вместо АЦПУ стали применять мониторы, снабжённые знакогенератором, что позволило быстро и удобно организовывать диалог с пользователем. Подобными устройствами снабжён или может быть снабжён почти каждый современный компьютер. Такие комплекты из монитора и клавиатуры (иногда с добавлением мыши) называются консолью компьютера.
В соответствии с традицией использования консольными программами клавиатуры и АЦПУ для ввода и вывода соответственно взаимодействие таких программ с пользователем свелось к чтению из stdin и выводу на stdout. Таким образом, появилась возможность перенаправлять потоки ввода-вывода, осуществляя взаимодействие с пользователем посредством иных устройств, в том числе подключенных через сеть, а также при помощи специальных программ — эмуляторов терминала, например, рисующих окно с текстом в графическом интерфейсе пользователя (текстовое окно).
В 1970-х годы и позднее выпускались даже специальные устройства, реализующие текстовый интерфейс — текстовые терминалы, подключаемые через последовательный порт к компьютеру напрямую или через модем. С распространением персональных компьютеров функции текстового терминала, как правило, выполняет компьютер, тот, на котором выполняется консольная программа, или другой. Программы Telnet и ssh позволяют пользователю взаимодействовать с консольной программой, запущенной на удалённом компьютере (как правило, под управлением UNIX), через Интернет или локальную сеть. Программы xterm, rxvt, konsole и многие другие реализуют текстовый интерфейс посредством текстового окна в среде X Window System.
Альтернативный подход к консольному выводу был использован в персональных компьютерах, в частности (хотя не только), IBM PC под управлением DOS. Программа может не только выводить данные через stdout, но и прямо изменять содержимое определённой области памяти, связанной со знакогенератором монитора, приводя к немедленному изменению видимых на мониторе данных. Такие программы могут также работать в среде Microsoft Windows. Более того, Windows имеет поддержку текстовых окон, во многом превосходящую имевшуюся в DOS, в том числе и для приложений собственно Windows.
Linux предоставляет ещё бо́льшие возможности для консольных программ. В частности, даже безо всякого графического интерфейса несколько одновременно запущенных программ могут бесконфликтно взаимодействовать с пользователем, создавая иллюзию наличия в системе нескольких консолей (виртуальные консоли).
В POSIX-совместимых системах, таких как UNIX и Linux, работа пользователя с терминалом осуществляется при помощи особой подсистемы, называемой TTY-абстракцией.
Примеры консольных программ:
· Любая программа, получающая данные путём чтения stdin и отправку данных путём записи в stdout, по определению является консольной программой. Однако, такие программы могут обходиться и без пользователя, поскольку stdin и stdout могут быть связаны не с интерактивными устройствами (клавиатурой и монитором), а с файлами или потоками ввода/вывода других программ;
· Текстовые программы для DOS, осуществляющие вывод ввидеопамять EGA/VGA. Подобные программы работают также и в среде Microsoft Windows;
· Unix shell, а также все утилиты, предназначенные для работы в этой среде.
Некоторые программы с ТПИ могут работать и в консольном режиме:
· Midnight Commander (UNIX);
· FAR Manager (Windows).
38) Оконный интерфейс:
Око́нный интерфе́йс — способ организации полноэкранного интерфейса программы, в котором каждая интегральная часть располагается в окне — собственном субэкранном пространстве, находящемся в произвольном месте «над» основным экраном. Несколько окон, одновременно располагающихся на экране, могут перекрываться, виртуально находясь «выше» или «ниже» друг относительно друга.
Оконный интерфейс реализуется как в графическом, так и в текстовом режиме (наиболее известной (неполной) реализацией оконного интерфейса в текстовом режиме является программа-оболочка Питера Нортона «Norton Commander» и её многочисленные модификации). Однако наибольшую популярность он завоевал благодаря операционным системам с графическими оконными оболочками (ОС Mac, ОС Windows) и в настоящее время является самым популярным видом пользовательского интерфейса.
Свойства:
Окно обычно имеет прямоугольную форму, обычно с обрамлением рамкой и/или цветом фона, отличным от цвета основного экрана. При необходимости окно имеет заголовок (с пояснением функции) и органы управления. Иногда используются различные эффекты для придания ощущения объемности интерфейса, в том числе:
· «тени» — затемнение под окном со сдвигом (как правило, вправо-вниз, предполагая наличие света слева-сверху). В графическом режиме тени также могут отбрасывать другие элементы интерфейса, например курсор мыши;
· создание иллюзии выпуклых и вдавленых структур — линий, надписей, пониженных или повышенных областей (например, кнопок), рамок и т. п., линиями повышенной и пониженной яркости и полутоновыми переходами (для имитации криволинейных поверхностей);
· полная или частичная (полу-)прозрачность окна — просвечивание сквозь «подложки» или других окон (возможно только в графическом режиме).
Оконный интерфейс имеют оболочки большинства операционных систем, и, в этом случае, окно может представлять собой отдельную запущенную программу (задачу). Процедуры поддержки оконного интерфейса призваны отрисовывать экран с располагающимися «поверх него» окнами и распределять ввод пользователя между ними (при существовании нескольких равноправных окон ввод пользователя осуществляется в то, которое в данный момент является активным).
Разновидности:
Программы с классической (полноэкранной) организацией экрана могут использовать элементы оконного интерфейса (субокна) для: организации меню, окон сообщений и диалогов.
Программы с полной реализацией оконного интерфейса раздельно работают с отдельными подзадачами в разных окнах. Такая программа может одновременно открывать/работать с несколькими документами, помещая их в отдельные субокна (например, многооконный редактор с документом в каждом окне). Организацию этих субокон в подобных программах реализуют несколькими способами:
· однооконный режим (SDI)
· многооконный режим (MDI, TDI)
· псевдомногооконный режим (PMDI)
(некоторые программы поддерживают несколько таких режимов, с возможностью переключения между ними AkelPad).
Также однооконный режим может поддерживать систему фреймов, при которой общее окно разбито на несколько функционально независимых областей, фреймов (форточек).
При полной реализации основной экран «под окнами» разгружается и может быть использован для каких-нибудь глобальных (фоновых) задач. Полная реализация, как правило, предполагает наличие мыши, для простого переключения между окнами и управления ими (перемещение, изменения размеров, скрытие, закрытие и тому подобное).
Также существует разновидность окон (называемых модальными), которые «монополизируют» фокус пользовательского внимания, и продолжить работу с программой можно лишь после закрытия (выполнения запроса) такого «модального» окна.
Программы и среды с оконным интерфейсом:
Большинство современных операционных систем имеют неотъемлемый или опциональный оконный графический пользовательский интерфейс, реализующий окно в качестве основы взаимодействия с пользователем.
Оконная операционная система позволяет пользователю одновременно работать с различными программами. Каждая программа работает в отдельном окне, занимающем отдельное пространство на экране, обычно в форме прямоугольника. Большинство операционных систем предоставляют пользователю основные функции работы с окнами: перенос, изменение размера окна, фокуса окна и так далее.
Некоторые оконные системы, например X Window System, обладают также сетевой структурой, позволяющей пользователю работать с графическими программами на удалённых узлах-клиентах.
39) Системы программирования.
Современные системы программирования обычно предоставляют пользователям мощные и удобные средства разработки программ. В них входят:
- компилятор или интерпретатор;
- интегрированная среда разработки;
- средства создания и редактирования текстов программ;
- обширные библиотеки стандартных программ и функций;
- отладочные программы, т.е. программы, помогающие находить и устранять ошибки в программе;
- "дружественная" к пользователю диалоговая среда;
- многооконный режим работы;
- мощные графические библиотеки; утилиты для работы с библиотеками
- встроенный ассемблер;
- встроенная справочная служба;
- другие специфические особенности.
Популярные системы программирования — Turbo Basic, Quick Basic, Turbo Pascal, Turbo C.
В последнее время получили распространение системы программирования, ориентированные на создание Windows-приложений:
· пакет Borland Delphi (Дельфи) — блестящий наследник семейства компиляторов Borland Pascal, предоставляющий качественные и очень удобные средства визуальной разработки. Его исключительно быстрый компилятор позволяет эффективно и быстро решать практически любые задачи прикладного программирования.
· пакет Microsoft Visual Basic — удобный и популярный инструмент для создания Windows-программ с использованием визуальных средств. Содержит инструментарий для создания диаграмм и презентаций.
· пакет Borland C++ — одно из самых распространённых средств для разработки DOS и Windows приложений.
Ниже для иллюстрации приведены на языках Бейсик, Паскаль и Си программы решения одной и той же простой задачи — вычисления суммы S элементов одномерного массива A=(a1, a2, ..., an).
Язык Бейсик (BASIC — Beginners All-purpose Symbolic Instruction Code — универсальный символьный код для начинающих) был создан в 1965 г. Дж. Кемени и Т.Курцем как язык, облегчающий написание простых программ. Cейчас все чаще пишут Basic вместо BASIC, придавая другую трактовку названию: Basic — основной, базовый.
Существует много различных версий Бейсика — от очень простых до усовершенствованных, содержащих множество дополнительных языковых конструкций. Наибольшее распространение имеют следующие версии: QuickBasic (QBasic) 4.5 для DOS и Visual Basic 3.0-6.0 для Windows.
QuickBasic 4.5 фирмы Microsoft — это очень простой, но в то же время эффективный язык, унаследовавший от раннего Бейсика все его достоинства, но избавившийся от всех его недостатков и впитавший целый ряд передовых идей начала 90-х годов. Еще QuickBasic очень привлекателен своей средой программирования. Одна из удач — это использование своеобразного режима работы. Для быстрой работы в среде используется режим интерпретатора, а для окончательного перевода отлаженных программ на машинный язык используется компилятор. Из QBasic компилятор исключен. QBasic входит в минимальный комплект поставки программного обеспечения компьютера. Бейсик очень популярный язык программирования.
Язык Паскаль был разработан в 1970 г. Никласом Виртом как язык обучения студентов программированию. Паскаль вырабатывает навыки соблюдения хорошего строгого стиля программирования, упрощающего разработку сложных программ.
Основные привлекательные черты Паскаля — логичность, поддержка концепций структурного и процедурного программирования, работа с динамической памятью, возможность создания своих типов данных. В Паскале программист должен всегда явно указывать, с какими конкретными переменными он желает работать и каковы типы этих переменных. Строгая типизация данных позволяет резко снизить количество ошибок, появляющихся в программе вследствие невнимательности или опечаток.
В своем первоначальном виде Паскаль имел довольно ограниченные возможности, но расширенный вариант этого языка —Turbo Pascal, является очень мощным языком программирования. Интегрированная оболочка Turbo Pascal, разработанная фирмой Borland (ныне Inprise), включающая в себя редактор, компилятор, компоновщик и отладчик, вместе с интерактивной справочной системой сделали разработку программ на Паскале делом простым и приятным.
Язык Си разработан Деннисом Ритчи в 1972 г. как язык, пригодный для программирования новой операционной системы UNIX.
Операционные системы ради повышения скорости работы традиционно писались на языке низкого уровня — ассемблере, но язык Си настолько хорошо зарекомендовал себя, что на нем было написано более 90% всего кода ОС UNIX. Язык СИ обрел популярность как так называемый язык среднего уровня, в котором удобство, краткость и мобильность языков высокого уровня сочетаются с возможностью непосредственного доступа к аппаратуре компьютера, что обычно достигаются только при программировании на языке Ассемблера.
«Си» не очень прост в изучении и требует тщательности в программировании, но позволяет создавать сложные и весьма эффективные программы.
40) Программы разработки ПО.
Разработка программного обеспечения:
Разрабо́тка програ́ммного обеспе́чения (software development) — это род деятельности (профессия) и процесс, направленный на создание и поддержание работоспособности, качества и надежности программного обеспечения, используя технологии, методологию и практики из информатики, управления проектами, математики, инженерии и других областей знания.
Сложность разработки ПО:
Как и другие традиционные инженерные дисциплины, разработка программного обеспечения имеет дело с проблемами качества, стоимости и надёжности. Некоторые программы содержат миллионы строк исходного кода, которые, как ожидается, должны правильно исполняться в изменяющихся условиях. Сложность ПО сравнима со сложностью наиболее сложных из современных машин, таких как самолёты.
Разделы дисциплины:
Разработка программного обеспечения может быть разделена на несколько разделов. Это:
1. Требования к программному обеспечению: извлечение, анализ, спецификация и ратификация требований для программного обеспечения.
2. Проектирование программного обеспечения: проектирование программного обеспечения средствами Автоматизированной Разработки Программного Обеспечения (CASE) и стандарты формата описаний, такие как Унифицированный Язык Моделирования (UML), используя различные подходы: проблемно-ориентированное проектирование и т.д..
3. Инженерия программного обеспечения: создание программного обеспечения с помощью языков программирования.
4. Тестирование программного обеспечения: поиск и исправление ошибок в программе.
5. Обслуживание программного обеспечения: программные системы часто имеют проблемы совместимости и переносимости, а также нуждаются в последующих модификациях в течение долгого времени после того, как закончена их первая версия. Подобласть имеет дело с этими проблемами.
6. Управление конфигурацией программного обеспечения: так как системы программного обеспечения очень сложны и модифицируются в процессе эксплуатации, их конфигурации должны управляться стандартизированным и структурированным методом.
7. Управление разработкой программного обеспечения: управление системами программного обеспечения имеет заимствования из управления проектами, но есть нюансы, не встречающиеся в других дисциплинах управления.
8. Процесс разработки программного обеспечения: процесс построения программного обеспечения горячо обсуждается среди практиков, основными парадигмами считаются agile или waterfall.
9. Инструменты разработки программного обеспечения, см. CASE: методика оценки сложности системы, выбора средств разработки и применения программной системы.
10. Качество программного обеспечения: методика оценки критериев качества программного продукта и требований к надёжности.
11. Локализация программного обеспечения, ветвь языковой промышленности.
Процесс и методология:
На протяжении нескольких десятилетий стоит задача поиска повторяемого, предсказуемого процесса или методологии, которая бы улучшила продуктивность, качество и надёжность разработки. Одни пытались систематизировать и формализовать этот, по-видимому, малопредсказуемый процесс. Другие применяли к нему методы управления проектами и методы программной инженерии. Третьи считали, что без постоянного контроля со стороны заказчика разработка ПО выходит из-под контроля, съедая лишнее время и средства.
Опыт управления разработкой программ отражается в соответствующих руководствах, обычаях и стандартах. Если при разработке используется несколько стандартов и нормативных документов, то имеет смысл составить профиль.
Информатика как научная дисциплина предлагает и использует на базе методов структурного программирования технологию надежной разработки программного обеспечения, используя тестирование программ и их верификацию на основе методов доказательного программирования для систематического анализа правильностиалгоритмов и разработки программ без алгоритмических ошибок.
Данная методология направлена на решение задач на ЭВМ, аналогичной технологии разработки алгоритмов и программ, используемой на олимпиадах по программированию отечественными студентами и программистами с использованием тестирования и структурного псевдокода для документирования программ в корпорации IBM с 70-х годов.
Методология структурного проектирования программного обеспечения может использоваться с применением самых различных языков и средств программирования для разработки надёжных программ самого различного назначения. Одним из таких проектов была разработка бортового программного обеспечения для космического корабля «Буран», в котором впервые использовался бортовой компьютер для автоматического управления аппарата, совершившего успешный старт и посадку космического корабля.
При выборе методологии разработки программного обеспечения следует руководствоваться тем, что сложность методологии сравнима со сложностью структуры программного продукта, и неоправданная для продукта данной сложности сложность методологии только неоправданно увеличит стоимость разработки. Примером современной методологии проектирования может быть проблемно-ориентированное проектирование.
Участники процесса разработки ПО:
· Пользователь
· Заказчик
· Разработчик
· Руководитель проекта
· Аналитик
· Тестировщик
· Поставщик
Проблемы разработки ПО:
Наиболее распространёнными проблемами, возникающими в процессе разработки ПО, считают:
· Недостаток прозрачности. В любой момент времени сложно сказать, в каком состоянии находится проект и каков процент его завершения.
Данная проблема возникает при недостаточном планировании структуры (или архитектуры) будущего программного продукта, что чаще всего является следствием отсутствия достаточного финансирования проекта: программа нужна, сколько времени займёт разработка, каковы этапы, можно ли какие-то этапы исключить или сэкономить — следствием этого процесса является то, что этап проектирования сокращается.
· Недостаток контроля. Без точной оценки процесса разработки срываются графики выполнения работ и превышаются установленные бюджеты. Сложно оценить объём выполненной и оставшейся работы.
Данная проблема возникает на этапе, когда проект, завершённый более чем наполовину, продолжает разрабатываться после дополнительного финансирования без оценки степени завершённости проекта.
· Недостаток трассировки.
· Недостаток мониторинга. Невозможность наблюдать ход развития проекта не позволяет контролировать ход разработки в реальном времени. С помощью инструментальных средств менеджеры проектов принимают решения на основе данных, поступающих в реальном времени.
Данная проблема возникает в условиях, когда стоимость обучения менеджмента владению инструментальными средствами сравнима со стоимостью разработки самой программы.
· Неконтролируемые изменения. У потребителей постоянно возникают новые идеи относительно разрабатываемого программного обеспечения. Влияние изменений может быть существенным для успеха проекта, поэтому важно оценивать предлагаемые изменения и реализовывать только одобренные, контролируя этот процесс с помощью программных средств.
Данная проблема возникает вследствие нежелания конечного потребителя использовать те или иные программные среды. Например, когда при создании клиент-серверной системы потребитель предъявляет требования не только к операционной системе на компьютерах-клиентах, но и на компьютере-сервере.
· Недостаточная надёжность. Самый сложный процесс — поиск и исправление ошибок в программах на ЭВМ (Электронно-Вычислительная Машина). Поскольку число ошибок в программах заранее неизвестно, то заранее неизвестна и продолжительность отладки программ и отсутствие гарантий отсутствия ошибок в программах. Следует отметить, что привлечение доказательного подхода к проектированию ПО позволяет обнаружить ошибки в программе до её выполнения. В этом направлении много работали Кнут,Дейкстра и Вирт. Профессор Вирт при разработке Паскаля и Оберона за счет строгости их синтаксиса добился математической доказуемости завершаемости и правильности программ, написанной на этих языках.
Данная проблема возникает при неправильном выборе средств разработки. Например, при попытке создать программу, требующую средств высокого уровня, с помощью средств низкого уровня. Например, при попытке создать средства автоматизации с СУБД на ассемблере. В результате исходный код программы получается слишком сложным и плохо поддающимся структурированию.
· Неправильный выбор методологии разработки программного обеспечения. Процесс выбора необходимой методологии может проблемно отразиться на всех показателях программного обеспечения - это его гибкость, стоимость и функциональность. Так называемые гибкие методологии разработки помогают решить основные проблемы, однако, стоит отметить, что и каскадная модель (waterfall) так же имеет свои преимущества. В некоторых случаях наиболее целесообразным будет применение гибридных методологий в связке Agile + каскадная модель + MSF + RUP и т.д.
· Отсутствие гарантий качества и надежности программ из-за отсутствия гарантий отсутствия ошибок в программах вплоть до формальной сдачи программ заказчикам.
Данная проблема не является проблемой, относящейся исключительно к разработке ПО. Гарантия качества — это проблема выбора поставщика товара (не продукта).
Формулировка вопросов:
41. Средства разработки ПО.
42. Комплекты средств разработки ПО SDK.
43. Интегрированные Средства разработки IDE.
44. Аппаратное обеспечение ЭВМ.
45. Классификация ЭВМ.
Ответы на вопрос:
41.Среда разработки программного обеспечения (ПО) — совокупность программных средств, используемаяпрограммистами для разработкипрограммного обеспечения. Простая среда разработки включает в себяредактор текста, компилятор и/илиинтерпретатор, средства автоматизации сборки и отладчик. Когда эти компоненты собраны в единый программный комплекс, говорят обинтегрированной среде разработки(Integrated development environment-IDE). Такая среда представлена одной программой, не выходя из которой можно производить весь цикл разработки. В состав комплекса кроме перечисленных выше компонент могут входить средства управления проектами, система управления версиями, разнообразные инструменты для упрощения разработки интерфейса пользователя, стандартные заготовки («мастера»), упрощающие разработку стандартных задач, и др. Современные среды разработки, поддерживающие объектно-ориентированную разработку ПО, также включают браузер классов, инспектор объектов и диаграмму иерархии классов. Хотя существуют среды разработки, предназначенные для нескольких языков — такие какEclipse или Microsoft Visual Studio, обычно среда разработки предназначается для одного определённого языка программирования.
Если IDE включает в себя возможность визуального редактирования интерфейса программы, она называетсясредой визуальной разработки.
Иногда достаточно использовать только одну интегрированную среду разработки, но для больших проектов в среду разработки включаются разнородные продукты разных фирм, разных версий. Пример такого набора: файловый менеджер, набор вспомогательных утилит и пакетных файлов, С++Builder – как IDE, PLSQLDeveloper – для работы с СУБД Oracle,Cristal Reports – для создания отчетов ,StarTeam – для ведения версий и поддержки коллективной работы.
42. SDK (от англ. software development kit) — комплект средств разработки, который позволяет специалистам попрограммному обеспечению создавать приложения для определённого пакета программ, программного обеспечения базовых средств разработки, аппаратной платформы, компьютерной системы, игровых консолей, операционных систем и прочих платформ.
Программист, как правило, получает SDKнепосредственно от разработчика целевой технологии или системы. ЧастоSDK распространяется через Интернет. Многие SDK распространяются бесплатнодля того, чтобы побудить разработчиков использовать данную технологию или платформу.
Поставщики SDK иногда подменяют слово «software» в словосочетании «software development kit» на более точное слово. Например, Microsoft и Apple предоставляютDriver Development Kit (DDK) для разработки драйверов устройств, PalmSourceназывает свой инструментарий для разработки PalmOS Development Kit (PDK), аOracle — Java Development Kit (JDK).
Примеры SDK
Android SDK.
Windows Phone SDK.
Adobe Flex.
DirectX.
iPhone SDK.
Java Development Kit.
Opera Devices SDK.
Source SDK.
bada SDK.
CryEngine 3 SDK
43. Интегри́рованная среда́ разрабо́тки, IDE(англ. Integrated development environment) — система программных средств, используемая программистами для разработки программного обеспечения(ПО).
Среда разработки включает в себя:
текстовый редактор,компилятор и/или интерпретатор,средства автоматизации сборки,отладчик.
Иногда содержит также средства для интеграции с системами управления версиями и разнообразные инструменты для упрощения конструированияграфического интерфейса пользователя. Многие современные среды разработки также включают браузер классов,инспектор объектов и диаграмму иерархии классов — для использования приобъектно-ориентированной разработкеПО. IDE обычно предназначены для нескольких языков программирования — такие как IntelliJ IDEA, NetBeans, Eclipse, Qt Creator, Geany, Embarcadero RAD Studio,Code::Blocks, Xcode или Microsoft Visual Studio, но есть и IDE для одного определённого языка программирования — как, например,Visual Basic, Delphi, Dev-C++.
Частный случай IDE — среды визуальной разработки, которые включают в себя возможность визуального редактирования интерфейса программы.
История
Первые IDE были созданы для работы через консоль или терминал, которые сами по себе были новинкой: до того программы создавались на бумаге, вводились в машину с помощью предварительно подготовленных бумажных носителей (перфокарт, перфолент) и т. д.
Dartmouth BASIC был первым языком, который был создан с IDE, и был также первым, который был разработан для использования в консоли или терминале. Эта IDE (часть Dartmouth Time Sharing System) управлялась при помощи команд, поэтому существенно отличалась от более поздних, управляемых с помощью меню и горячих клавиш, и тем более графических IDE, распространённых в XXI веке. Однако она позволяла редактировать исходный код, управлять файлами, компилировать, отлаживать и выполнять программы способом, принципиально подобным современным IDE.
Maestro I — продукт от Softlab Munich, был первой в мире интегрированной средой разработки для программного обеспечения в 1975 г.[2] и, возможно, мировым лидером в этой рыночной нише в течение 1970-х и 1980-х годов. Он был установлен у 22000 программистов во всем мире. До 1989 года 6000 копий было установлено в Федеративной Республике Германия. Ныне Maestro I принадлежит истории и может быть найден разве что в Музее Информационной технологии в Арлингтоне.
Одной из первых IDE с возможностью подключения плагинов была Softbench.
Обзор
Использование IDE для разработки программного обеспечения является прямой противоположностью способу, в котором используются несвязанные инструменты, такие как (текстовый редактор), компилятор, и т. п. Интегрированные среды разработки были созданы для того, чтобы максимизировать производительность программиста благодаря тесно связанным компонентам с простыми пользовательскими интерфейсами. Это позволяет разработчику сделать меньше действий для переключения различных режимов, в отличие от дискретных программ разработки. Однако, так как IDE является сложным программным комплексом, то среда разработки сможет качественно ускорить процесс разработкиПО лишь после специального обучения. Для уменьшения барьера вхождения многие достаточно интерактивны, а для облегчения перехода с одной на другую интерфейс у одного производителя максимально близок, вплоть до использования одной IDE.
IDE обычно представляет собой единственную программу, в которой проводится вся разработка. Она, как правило, содержит много функций для создания, изменения, компилирования, развертывания и отладки программного обеспечения. Цель интегрированной среды заключается в том, чтобы объединить различные утилиты в одном модуле, который позволит абстрагироваться от выполнения вспомогательных задач, тем самым позволяя программисту сосредоточиться на решении собственно алгоритмической задачи и избежать потерь времени при выполнении типичных технических действий (например, вызове компилятора). Таким образом, повышается производительность труда разработчика.
45. Классификация ЭВМ.
Чтобы судить о возможностях ЭВМ, их принято разделять на группы по определенным признакам, т. е. классифицировать. Сравнительно недавно классифицировать ЭВМ по различным признакам не составляло большого труда. Важно было только определить признак классификации, например: но назначению, по габаритам, по производительности, по стоимости, по элементной базе и т. д.
С развитием технологии производства ЭВМ классифицировать их стало все более затруднительно, ибо стирались грани между такими важными характеристиками, как производительность, емкость внутренней и внешней памяти, габариты, вес, энергопотребление и др. Например, персональный компьютер, для размещения которого достаточно стола, имеет практически такие же возможности и технические характеристики, что и достаточно совершенная в недавнем прошлом ЭВМ Единой системы (ЕС), занимающая машинный зал в сотни квадратных метров. Поэтому разделение ЭВМ по названным признакам нельзя воспринимать как классификацию по техническим параметрам. Это, скорее, эвристический подход, где большой вес имеет предполагаемая сфера применения компьютеров.
С этой точки зрения классификацию вычислительных машин по таким показателям, как габариты и производительность, можно представить следующим образом:
сверхпроизводительные ЭВМ и системы (супер-ЭВМ);
большие ЭВМ (универсальные ЭВМ общего назначения);
средние ЭВМ;
малые или мини-ЭВМ;
микро-ЭВМ;
персональные компьютеры;
микропроцессоры.
Отметим, что понятия "большие", "средние" и "малые" для отечественных ЭВМ весьма условны и не соответствуют подобным категориям зарубежных ЭВМ.
Исторически первыми появились большие ЭВМ (универсальные ЭВМ общего назначения), элементная база которых прошла путь от электронных ламп до схем со сверхвысокой степенью интеграции. В процессе эволюционного развития больших ЭВМ можно выделить отдельные периоды, связываемые с пятью поколениями ЭВМ. Поколение ЭВМ определяется элементной базой (лампы, полупроводники, микросхемы различной степени интеграции), архитектурой и вычислительными возможностями.
Основное назначение больших ЭВМ - выполнение работ, связанных с обработкой и хранением больших объемов информации, проведением сложных расчетов и исследований в ходе решения вычислительных и информационно-логических задач. Такими машинами, как правило, оснащаются вычислительные центры, используемые совместно несколькими организациями. Большие машины составляли основу парка вычислительной техники до середины 70-х годов и успешно эксплуатируются поныне. К ним относятся большинство моделей фирмы IBM (семейства 360, 370, 390) и их отечественные аналоги ЕС ЭВМ.
В настоящее время высказываются полярные мнения о перспективах развития больших машин. Согласно одному из них, возможности больших машин полностью перекрываются, с одной стороны, супер-ЭВМ, а с другой - мини-ЭВМ и, выработав свой ресурс, этот класс прекратит свое существование. Другая сторона убеждает в необходимости развития универсальных больших и супер-ЭВМ, которые обладают способностью работать одновременно с большим количеством пользователей, создавать гигантские базы данных и обеспечивать эффективную вычислительную работу. К этому следует добавить, что большие ЭВМ обеспечивают устойчивость вычислительного процесса, безопасность информации и низкую стоимость ее обработки.
Производительность больших ЭВМ норой оказывается недостаточной для ряда приложений, например, таких как прогнозирование метеообстаиовки, ядерная энергетика, оборона и т. д. Эти обстоятельства стимулировали создание сверхбольших или суперЭВМ. Такие машины обладают колоссальным быстродействием в миллиарды операций в секунду, основанном на выполнении параллельных вычислений и использовании многоуровневой иерархической структуры ЗУ(запоминающих устройств), требуют для своего размещения специальных помещений и крайне сложны в эксплуатации. Стоимость отдельной ЭВМ такого класса достигает десятков миллионов долларов. Представители этого класса ЭВМ - компьютеры фирм Cray Research, Control Data Corporation (CDC) и отечественные супер-ЭВМ семейства Эльбрус.
Средние ЭВМ представляют некоторый интерес в историческом плане. На определенном этапе развития ЭВМ, когда их номенклатура и, соответственно, возможности были ограниченными, появление средних машин было закономерным. Вычислительные машины этого класса обладают несколько меньшими возможностями, чем большие ЭВМ, но зато им присуща и более низкая стоимость. Они предназначены для использования всюду, где приходится постоянно обрабатывать достаточно большие объемы информации с приемлемыми временными затратами. В настоящее время трудно определить четкую грань между средними ЭВМ и большими с одной стороны и малыми - с другой. К средним могут быть отнесены некоторые модели ЕС ЭВМ, например: ЕС-1036, ЕС-1130, ЕС-1120. За рубежом средние ЭВМ выпускают фирмы IBM (International Business Machinery), DEC (Digital Equipment Corporation), Hewlett Packard, СОМРАРЕХ и др.
Малые ЭВМ составляют самый многочисленный и быстроразвивающийся класс ЭВМ. Их популярность объясняется малыми размерами, низкой стоимостью (по сравнению с большими и средними ЭВМ) и универсальными возможностями.
Класс мини-ЭВМ появился в 60-е годы (12-разрядная ЭВМ PD5-5 фирмы DEC). Их появление было обусловлено развитием элементной базы и избыточностью ресурсов больших и средних ЭВМ для ряда приложений.Для мини-ЭВМ характерно представление данных с узким диапазоном значений (машинное слово - 2 байта), использование принципа магистральности в архитектуре и более простое взаимодействие человека и ЭВМ. Такие машины широко применяются для управления сложными видами оборудования, создания систем автоматизированного проектирования и гибких производственных систем. К мини-ЭВМ относятся машины серии PDP (затем VAX) фирмы DEC и их отечественные аналоги - модели семейства малых ЭВМ (СМ ЭВМ).
При переходе от схем с малой и средней степенями интеграции к интегральным микросхемам с большой и сверхбольшой степенями интеграции оказалось возможным создание на одной БИС или СБИС функционально законченного устройства обработки информации, выполняющего функции процессора. Такое устройство принято называть микропроцессором. Изобретение микропроцессора привело к появлению еще одного класса ЭВМ - микро-ЭВМ. Определяющим признаком микро-ЭВМ является наличие одного или нескольких микропроцессоров. Создание микропроцессора не только изменило центральную часть ЭВМ, но и привело к необходимости разработки малогабаритных устройств ее периферийной части. Микро-ЭВМ, благодаря малым размерам, высокой производительности, повышенной надежности и небольшой стоимости нашли широкое pacnpocтpaнение во всех сферах народного хозяйства и оборонного комплекса. С появлением микропроцессоров и микро-ЭВМ становится возможным создание так называемых интеллектуальных терминалов, выполняющих сложные процедуры предварительной обработки информации.
Успехи в развитии микропроцессоров и микро-ЭВМ привели к появлениюперсональных ЭВМ (ПЭВМ), предназначенных для индивидуального обслуживания пользователя и ориентированных на решение различных задач неспециалистами в области вычислительной техники. Все оборудование персональной ЭВМ размещается в пределах стола.
ПЭВМ, выпускаемые в сотнях тысяч и миллионах экземпляров, вносят коренные изменения в формы использования вычислительных средств, в значительной степени расширяют масштабы их применения. Они широко используются как для поддержки различных видов профессиональной деятельности (инженерной, административной, производственной, литературной, финансовой и др.), так и в быту, например для обучения и досуга.
Персональный компьютер позволяет эффективно выполнять научно-технические и финансово-экономические расчеты, организовывать базы данных, подготавливать и редактировать документы и любые другие тексты, вести делопроизводство, обрабатывать графическую информацию и т. д. Выполнение многих из указанных функций поддерживается многочисленными эффективными универсальными функциональными пакетами программ.
На основе ПЭВМ создаются автоматизированные рабочие места (АРМ) для представителей разных профессий (конструкторов, технологов, административного аппарата и др.).
44. Архитектура ЭВМ включает в себя как структуру, отражающую аппаратный состав ПК, так и программно–математическое обеспечение. Основы учения об архитектуре вычислительных машин и принципы логического устройства ЭВМ были заложены Джон фон Нейманом.
Ядро ЭВМ составляют центральный процессор и память. Процессор – функциональная часть ЭВМ, выполняющая основные операции по обработке данных и управлению работой других блоков. В свою очередь процессор включает арифметико-логическое устройство (АЛУ) и устройство управления. Сопроцессор - устройство, ускоряющее работу процессора при выполнении математических вычислений. Его наличие необязательно, но для работы ряда программ (графических или расчетных) он необходим. В последних моделях компьютеров он встроен в процессор. Память (внутренняя) — это устройство для хранения информации. Она состоит из оперативного и постоянного запоминающих устройств. В оперативное запоминающее устройство (ОЗУ), которое часто также называют оперативной памятью, с жесткого диска или дискет копируются (загружаются) программы, которые выполняются в данный момент. Постоянное запоминающее устройство (ПЗУ) постоянно хранит информацию, которая записывается туда при изготовлении компьютера. В ПЗУ хранятся:
- BIOS – базовая система ввода-вывода, контролирует и управляет подключенными к ПК устройствами. Представляет собой программу, в которую заложены основные параметры, необходимые ПК для того чтобы распознать жесткий диск. В BIOS хранятся часы и календарь. BIOS хранится на отдельной микросхеме с автономным питанием от специальной батарейки;
- тестовые программы, проверяющие при каждом включении компьютера правильность работы его блоков;
- программы для управления основными периферийными устройствами - дисководом, монитором, клавиатурой;
- информация о том, где на диске расположена операционная система.
Процессор, память и шина с разъемами для подключения периферийных устройств размещаются на единой плате, называемойматеринской или основной (англ. motherboard или mainboard). Для подключения к ней различных дополнительных устройств (дисководов, мыши, принтеров и т. д.), т.е. осуществления обмена информацией между оперативной памятью и устройством, служат специальные платы –контроллеры (адаптеры, карты). Контроллеры имеют свой процессор и свою память, т.е. представляют собой специализированный процессор, они находятся на отдельных платах, которые вставляются в унифицированные разъемы (слоты) на материнской плате. К другому разъему контроллеров (порту), выходящему наружу компьютера, подключается дополнительное устройство.
Все блоки компьютера соединяютсясистемной магистралью, или шиной, — набором проводников, передающих электрические сигналы от одной схемы компьютера к другой. Устройства, связанные с процессором через шину, а не напрямую, называют периферийными.Шина представляет собой канал передачи данных в виде проводников на печатной плате или многожильного кабеля. На рис. 1.1. шина изображена в виде двунаправленной стрелки, чтобы указать на то, что информация по ней движется как от процессора к периферийным устройствам, так и в обратную сторону.
В современных персональных компьютерах, как правило, используетсяпринцип открытой архитектуры. Он заключается в том, что устройства, непосредственно участвующие в обработке информации (процессор, оперативная память), соединяются с остальными устройствами единой магистралью - шиной. Преимущества открытой архитектуры: 1) возможность выбирать конфигурацию компьютера (конфигурация - состав устройств, подключенных к компьютеру); 2) можно расширить систему, подключив к ней новые устройства; 3) можно модернизировать систему, заменив любое из устройств.[2, 3, 8]
46 Фон Неймановская архитектура компьютера
Архитектура фон Неймана — широко известный принцип совместного хранения команд и данных в памяти компьютера. Когда говорят об архитектуре фон Неймана, подразумевают принцип хранения данных и инструкций в одной памяти.
Принцип однородности памяти
Команды и данные хранятся в одной и той же памяти и внешне в памяти неразличимы. Распознать их можно только по способу использования; то есть одно и то же значение в ячейке памяти может использоваться и как данные, и как команда, и как адрес в зависимости лишь от способа обращения к нему. Это позволяет производить над командами те же операции, что и над числами, и, соответственно, открывает ряд возможностей. Так, циклически изменяя адресную часть команды, можно обеспечить обращение к последовательным элементам массива данных. Такой прием носит название модификации команд и с позиций современного программирования не приветствуется. Более полезным является другое следствие принципа однородности, когда команды одной программы могут быть получены как результат исполнения другой программы. Эта возможность лежит в основе трансляции — перевода текста программы с языка высокого уровня на язык конкретной вычислительной машины.
Принцип адресности
Структурно основная память состоит из пронумерованных ячеек, причем процессору в произвольный момент доступна любая ячейка. Двоичные коды команд и данных разделяются на единицы информации, называемые словами, и хранятся в ячейках памяти, а для доступа к ним используются номера соответствующих ячеек — адреса.
Принцип программного управления
Все вычисления, предусмотренные алгоритмом решения задачи, должны быть представлены в виде программы, состоящей из последовательности управляющих слов — команд. Каждая команда предписывает некоторую операцию из набора операций, реализуемых вычислительной машиной. Команды программы хранятся в последовательных ячейках памяти вычислительной машины и выполняются в естественной последовательности, то есть в порядке их положения в программе. При необходимости, с помощью специальных команд, эта последовательность может быть изменена. Решение об изменении порядка выполнения команд программы принимается либо на основании анализа результатов предшествующих вычислений, либо безусловно.
Принцип двоичного кодирования
Согласно этому принципу, вся информация, как данные, так и команды, кодируются двоичными цифрами 0 и 1. Каждый тип информации представляется двоичной последовательностью и имеет свой формат. Последовательность битов в формате, имеющая определенный смысл, называется полем. В числовой информации обычно выделяют поле знака и поле значащих разрядов. В формате команды можно выделить два поля: поле кода операции и поле адресов.
47 Архитектура персонального компьютера
Архитектура ПК – это концепция, определяющая модель, структуру, выполняемые функции и взаимосвязь компонентов ПК как сложного объекта. Иначе говоря, архитектура ПК – это его логическая организация и структурная реализация. Информационно-справочная служба сети ЭВМ. Управление циркулярными сообщениями.
В основе работы ПК лежит принцип "программного управления". И, соответственно, программа - это последовательность операций, выполняемых ПК для достижения определенной цели (решения задачи).
Постоянная память ПК предназначена для хранения данных, которые никогда не потребуют изменения. Содержимое такой памяти "зашивается" для постоянного хранения в БИС при ее изготовлении. Из постоянной памяти данные можно только читать.
Основные технические характеристики ПК – это тип его центрального МП, частота задающего генератора, объем и время доступа к ОП, объем КЭШа, объем, время доступа и скорость передачи данных винчестера, тип и объем НГМД, интерфейс центрального процессора, объем видеопамяти, тип дисплея (его точка и стандарт), количество клавиш на клавиатуре, тип и количество портов, тип мышки, корпуса, блока питания.
Как изделие, современный ПК в минимальном комплекте состоит из четырех устройств, соединенных кабелями. Это системный блок, монитор, клавиатура, мышка. К нему могут подключаться дополнительные устройства - принтер, сканер и т.д.
48 Оперативная память (ОЗУ)
Оперативная память — энергозависимая часть системы компьютерной памяти, в которой во время работы компьютера хранится выполняемый машинный код (программы), а также входные, выходные и промежуточные данные, обрабатываемые процессором.
Обмен данными между процессором и оперативной памятью производится:
1. непосредственно;
2. через сверхбыструю память 0-го уровня — регистры в АЛУ, либо при наличии аппаратного кэша процессора — через кэш.
Содержащиеся в современной полупроводниковой оперативной памяти данные доступны и сохраняются только тогда, когда на модули памяти подаётся напряжение. Выключение питания оперативной памяти, даже кратковременное, приводит к искажению либо полному разрушению хранимой информации.
Энергосберегающие режимы работы материнской платы компьютера позволяют переводить его в режим сна, что значительно сокращает уровень потребления компьютером электроэнергии. В режиме гибернации питание ОЗУ отключается. В этом случае для сохранения содержимого ОЗУ операционная система (ОС) перед отключением питания записывают содержимого ОЗУ на устройство постоянного хранения данных (как правило, жёсткий диск). Например, в ОС Windows XP содержимое памяти сохраняется в файл hiberfil.sys, в ОС семейства Unix — на специальный swap-раздел жёсткого диска.
В общем случае, ОЗУ содержит программы и данные ОС и запущенные прикладные программы пользователя и данные этих программ, поэтому от объёма оперативной памяти зависит количество задач, которые одновременно может выполнять компьютер под управлением ОС.
Оперативное запоминающее устройство, ОЗУ — техническое устройство, реализующее функции оперативной памяти.
ОЗУ может изготавливаться как отдельный внешний модуль или располагаться на одном кристалле с процессором, например, в однокристальных ЭВМ или однокристальных микроконтроллерах.
ОЗУ большинства современных компьютеров представляет собой модули динамической памяти, содержащие полупроводниковые ИС ЗУ, организованные по принципу устройств с произвольным доступом. Память динамического типа дешевле, чем статического, и её плотность выше, что позволяет на той же площади кремниевого кристалла разместить больше ячеек памяти, но при этом её быстродействие ниже. Статическая память, наоборот, более быстрая память, но она и дороже. В связи с этим основную оперативную память строят на модулях динамической памяти, а память статического типа используется для построения кэш-памяти внутри микропроцессора.
49 Центральный процессор
Центральный процессор — электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (код программ), главная часть аппаратного обеспечения компьютера или программируемого логического контроллера. Иногда называют микропроцессором или просто процессором.
Изначально термин центральное процессорное устройство описывал специализированный класс логических машин, предназначенных для выполнения сложных компьютерных программ. Вследствие довольно точного соответствия этого назначения функциям существовавших в то время компьютерных процессоров, он естественным образом был перенесён на сами компьютеры. Начало применения термина и его аббревиатуры по отношению к компьютерным системам было положено в 1960-е годы. Устройство, архитектура и реализация процессоров с тех пор неоднократно менялись, однако их основные исполняемые функции остались теми же, что и прежде.
Главными характеристиками ЦПУ являются: тактовая частота, производительность, энергопотребление, нормы литографического процесса, используемого при производстве (для микропроцессоров) иархитектура.
Ранние ЦП создавались в виде уникальных составных частей для уникальных, и даже единственных в своём роде, компьютерных систем. Позднее от дорогостоящего способа разработки процессоров, предназначенных для выполнения одной единственной или нескольких узкоспециализированных программ, производители компьютеров перешли к серийному изготовлению типовых классов многоцелевых процессорных устройств. Тенденция к стандартизации компьютерных комплектующих зародилась в эпоху бурного развития полупроводниковых элементов, мейнфреймов иминикомпьютеров, а с появлением интегральных схем она стала ещё более популярной. Создание микросхем позволило ещё больше увеличить сложность ЦП с одновременным уменьшением их физических размеров. Стандартизация и миниатюризация процессоров привели к глубокому проникновению основанных на них цифровых устройств в повседневную жизнь человека. Современные процессоры можно найти не только в таких высокотехнологичных устройствах, как компьютеры, но и в автомобилях, калькуляторах, мобильных телефонах и даже в детских игрушках. Чаще всего они представлены микроконтроллерами, где, помимо вычислительного устройства, на кристалле расположены дополнительные компоненты (память программ и данных, интерфейсы, порты ввода-вывода, таймеры и др.). Современные вычислительные возможности микроконтроллера сравнимы с процессорами персональных ЭВМ десятилетней давности, а чаще даже значительно превосходят их показатели.
50 Типы материнских плат
Второе название материнской платы – системная. Это большая печатная плата, объединяющая все остальные устройства компьютера, которые к ней подключаются. Различают типы материнских плат в зависимости от:
- Стандарта
- Физических параметров (форм-факторов)
- Видов процессорного разъема
- Типа чипсета
В отношении стандарта все платы можно разделить на стандартные и нестандартные (уникальные).В случае необходимости стандартную плату легко можно заменить на другую. При поломке нестандартной платы, скорее всего, придется покупать новый компьютер.
По физическим параметрам выделяют два больших класса печатных плат:
- ATX, который используется для домашних, офисных компьютеров и ноутбуков.
- SSI, используемый в промышленных целях, например, для серверов.
Следующее разделение материнских плат на типы идет в зависимости от вида процессорного разъема. То есть «мамка» соответствует тому семейству ЦПУ, под которое она производилась. Стандарт сокета, как еще называют процессорный разъем, выпускается той же фирмой, что и процессор. Некоторые системные платы способны поддерживать до восьми процессоров одновременно.
Чипсетом называют набор системной логики. На характеристику материнской платы влияет тип чипсета. Потому что чипсет, представляющий собой не что иное, как набор контроллеров, обеспечивает взаимодействие с важными устройствами компьютера: RAM, SATA, PCIe, EIDE. Обычно устанавливают две микросхемы чипсета под названиями: южный и северный мосты. От функциональных особенностей чипсета зависит возможность исполнения материнской платой специфических задач.
Можно также выделить типы материнских плат по их дополнительным отличиям. Например, по возможности поддерживать различные порты для подключения плат расширения, процессоров, жестких дисков и так далее. Также разные модели «материнок» могут содержать разные опции, например, для разгона памяти, процессора или чипсета.
51)
Дата добавления: 2015-06-10; просмотров: 11831;