Конспект

advertisement
Первая лекция.
Аналоговые – непрерывная функции.
Дигитальные – сигнал разбивается на отрезке, меряет силу сигнала.
Шина адреса, шина данных, контрольная шина.
Электронный – транзисторы, нужно электричество.
Механический (компьютер Zuse).
Общего назначения.
ASCII
История
Вавилон – 60-ричная система 1900 до н.э
Ноль 300 до н.э
Индукция – от частного к общему, факты, потом общий вывод. Позволяет эволюционировать.
Дедукция – От общего к частному, использования знаний, средство доказательств.
Силлогизм – две посылки и одно заключение. Любое оружие опасно для человека. Винчестер
(винтовка) – оружие. Винчестер опасен для человека.
Паскаль – машина могла складывать и вычитать. 50 штук.
Лейбниц – машина могла складывать, вычитать, умножать и делить. Логическая система основанная
на двоичных числах.
Перфокарта – запоминает информацию.
Чарльз Бэббидж – в 1822 первый программируемый компьютер.
Ada Lovelace – первый программист.
Морзе 1837 – телеграф.
1857 – перфолента.
Джордж Буль 1850.
Герман Холлерит 1896 создал оборудование для работы с перфокартам, что было полезно при
переписи населения. Основал фирму IBM.
1900 – вакуумный диод, 1906 – триод
1921 – слово робот. Чапек.
Кантор – теория множеств.
Формальная система: синтаксис, семантика, система правил.
Семантика – смысловое значение, корректная запись.
Синтаксис – как построить запись(if, then,else).
Система правил – библиотека.
Машина Тюринга – 1935-1937 – модель абстрактного компьютера. Есть проблемы алгоритмически не
решаемы. Основы теории алгоритма.
Стибиц – 1940 дигитальный компьютер (на реле).
Claude Shannon – отцом теории информатики, булева алгебра для построения компьютеров.
Кодирование информации, передача информации. Теория поиска информации.
Первый электронный дигиталный компьютер Atanasoff 1940.
Дигитальный механический програмируеммый компюьтер Zuse 1941-1944. Присоединился к
компании Siemens.
Howard Aiken – дигитальный компьютер MARK I от IBM.
Джон фон Нейман – 1945, принцип компьютера: память (данные и инструкции, однородность),
центральное устройство для вычисления (арифметические и логические действия), контрольное
устройство (выполнять инструкции из памяти).
Грейс Хоппер – 1945, первый баг.
ENIAC – 1946
1947 – создание транзисторов, Уильям Шокли и два других инженера создали в Bell Telephone
Laboratories. Заменили вакуумные трубки, более стабилен.
EDSAC – 1949, программы сохранялись внутри компьютера.
1950 – накопитель информации, жёсткий диск, заменил перфокарты.
UNIVAC I – 1951, первый коммерческий компьютер.
Heinz Nixdorf основывает Nixdorf Computer Corp. , в 1900 присоединилась к Siemens.
1954 – IBM 650, коммерческий компьютер, нужен один человек.
1955 – основал Shockley Semiconductor, просуществовала 2 года.
1956 – IBM выпустила первый жёсткий диск, 5 MB, RAMAC 305.
Первый компьютер на транзисторах.
1957 – язык программирования FORTRAN.
1957 – восемь инженеров уходят из Shockley Semiconductor и основывают Fairchild Semiconductors
(Gordon Moore, Robert Noyce).
1958 – Texas Instruments и Clair Kilby создал интегральную схему (монолитный кусок силикона и на
него напаяны элементы).
1958 – SAGE – первая сеть компьютеров.
1960 – AT&T – первый коммерческий модем, через аналоговые телефонные линии. Модем
преобразует цифровой сигнал в аналоговой.
1960 – язык программирования COBOL. Grace Hopper.
LISP для логических программ. John McCarthy.
1962 - виртуальная память – неиспользуемая память выгружается на жёсткий диск.
1962 – Sketchpad – возможность рисовать геометрические фигуры на компьютере.
1963 – на мышь получил патент Douglas Engelbart.
ASCII позволил компьютерам обмениваться данными.
1964 – Ian Sharp основывает компанию Sharp Associates.
System/360 от IBM.
1964 – BASIC.
1964 – OLTP для резервации билетов.
1965 – Закон Мура: “Сложность интегральных схем будет удваиваться каждый год.”
1965 – DEC построила первый коммерческий миникомпьютер PDP-8.
1967 – floppy disk.
1967 – LOGO компьютерный язык для детей.
1968 – IBM продаёт программы отдельно от компьютеров.
1968 основал Intel (Gordon Moore, Robert Noyce).
1968 – RISC уменьшено конечное число инструкции (например убрано мультимедия), CISC –
большое количество инструкций.
1968 – Douglas Engelbart продемонстрировал первый компьютер с мышью, клавиатурой и
осциллографом, программы для удалённой работы с коллегами.
1969 – Jerry Sanders и 7 инженеров покинули Fairchild Semiconductors и основали AMD.
Ted Hoff из Intel придумал компьютер общего назначения. 4004 microprocessor.
Bill Gates и Paul Allen основывают компанию Lakeside Programming Group и ищут баги в PDP-10.
RS-232 стандарт соединения электронных устройств между собой.
AT&T – создала UNIX.
Intel выпустила 1 KB RAM chip.
Xerox выпустила лазерный принтер.
Матричный – формирует знак из точек. Струйный впрыскивает краску.
Лазерный – порошок на бумагу и нагревает.
1970 – первый компьютер общего назначения.
Intel создал 4004.
1969 – первый микропроцессор.
1970 – Ted Codd написал статью о базе данных. System R выпустила SQL принцип для работы с базой
данных. ISO стандарт.
1971 – ARPANET, компьютеры объединены в сеть, возможность передать информацию, даже если
один компьютер выходит из строя.
1971 – Steve Wozniak создал первый свой компьютер Cream Soda.
Kenback-1 программируемый компьютер.
1971 - Niklaus Wirth изобретает язык Pascal.
1972 – 8008.
Atari выпустила игру Pong.
Xerox выпустила первый портативный Dynabook.
Steve Wozniak изобрёл “blue box” для бесплатных звонков.
Bill Gates и Paul Allen основывают компанию Traf-O-Data, которая занималась регулированием
дорожного движения используя 8008.
AT&T Dennis Ritchie - язык программирования C (1974).
Email для ARPANET.
1973 – Xerox выпустила Alto, графический интерфейс.
Traf-O-Data закрывается.
Gary Kildall пишет операционную систему CP/M для персональных компьютеров на его языку PL/M
на 8008.
Steve Wozniak присоединяется к Hewlett-Packard.
Винчестер – IBM 3340 70 MB.
1973 – Bob Metcalfe изобретает Ethernet (локальная сеть).
1974 – 8080.
1974 – WYSIWYG (видно на экране, что хотите распечатать).
1974 – Altair 8800 широко-распространнёный компьютер.
Motorola выпускает 6800 процессор.
1975 – Paul Allen демонстрирует интепретатор для языка BASIC на Altair.
Основывают Microsoft.
Project Mercury – портативный компьютер IBM 5100.
Bill Gates жалуется на пиратство.
McDonald первый работник Microsoft.
1976 – Apple (Steve Wozniak, Steve Jobs).
Apple I.
1976 Texas Instruments TMS9900 16-bit.
Zilog Z80.
Intel 8085.
1976 – AMD и Intel подписывают соглашение о обмене лицензиями и патентами.
1977 – Commodore PET
Apple II
TRS-80
1978 – 8086 16-bit архитектура до сегодняшнего времени.
1979 – Visicalc (Daniel Bricklin, Robert Frankston) для Apple II. Похож на Excel.
1979 – 8088 как и 8086, но шина 8-битная.
Bob Metcalfe основывает 3Com.
dBase II – база данных
Motorolla 68000 16-bit.
1980 – Project Chess - IBM решила создать компьютер который можно улучшать (аппаратное
обеспечение).
QDOS - выпущен Seattle Computer Products.
Apple III
Microsoft Xenix OS (Unix).
8087 math coprocessor.
Sony – 3,5 floppy.
iAPX-432 32-bit Intel.
1981 – MS-DOS.
Osborne I – лаптоп.
Apollo Computer.
Silicon Graphics - James Clark.
1981 – IBM 5150 PC.
IBM: CGA графическая карта– 640x200, 16 colors.
Microsoft разрабатывают Interface Manager.
1982 – основана Sun Microsystems.
Один сервер и много терминалов. Использовала (TCP/IP).
Изобрели NFS.
Мультфильм Tron.
Основали Compaq.
80286 16-bus.
Microsoft выпускает программы для Macintosh.
Microsft выпускает FORTRAN.
Mitch Kapor основывает Lotus Development Corporation.
MPC – первый IBM PC clone компьютер выпущен Columbia Data Products.
1983 – Lisa первый персональный компьютер с графическим интерфейсом.
Compaq выпустил PC clone. Стоило US$1 сделать такой же ROM BIOS.
Microsoft выпустила Word и Windows.
MIDI
1983 – Oracle: SQL
Borland International основана Philippe Kahn. Выпустила Turbo Pascal.
IBM разрабатывала OS TopView.
Совместно с MS начали разрабатывать OS/2.
AT&T работает над C++ (Bjorne Stroustrup).
Philips и Sony выпускают CD-ROM.
1984 – Apple Macintosh.
Для UNIX X Window System.
Open source – принадлежит всем, можно изменить и продать, исходники доступны.
В 1984 году Ричард Стальманн (Richard Stallmann) запустил проект GNU, чтобы в его рамках создать
некоммерческую, бесплатную во всех смыслах этого слова систему. То есть любой продукт,
обладающий лицензией GNU, можно свободно копировать, распространять, а также вносить любые
изменения. В рамках этого проекта была создана и по сей день развивается ОС Linux.
1985 – Steve Jobs основывает NeXT Incorporated.
80386 32-bit.
SUN работает над SPARC процессором.
1986 – Norton Commander.
Compaq захватывает рынок над IBM своим Deskpro 386.
Pixar основана Steve Jobs.
1988 – Compaq разрабатывает стандарт ISA (расширить структуру).
Pixar (основал Steve Jobs) первый мультфильм Tin Toy.
Первый вирус.
Стандарт SCSI.
1989
Maxis – SimCity.
Microsoft – SQL Server.
Creative Labs – Sound Blaster.
AOL (доступ в Internet).
1900
WWW – Tim Berners-Lee (W3 Consortium)
HTTP — протокол передачи данных в первую очередь в виде текстовых сообщений. Основой HTTP
является технология «клиент-сервер», то есть предполагается существование клиентов, которые
инициируют соединение и посылают запрос, и поставщиков (серверов), которые ожидают соединения
для получения запроса, производят необходимые действия и возвращают обратно сообщение с
результатом.
1900 – IBM и MS заканчивают работу над OS/2.
MS выпускает Windows 3.0.
1991 – Linus Torvalds начал разрабатывать Linux.
1992 – Bill Gates самый богатый человек в мире. Выпущена Windows 3.1.
GSM связь в Финляндии.
ID Software (Wolfenstein 3D, Doom, Quake).
1993 – Sun выпускает SuperSPARC процессоры.
Pentium процессор.
Plug and Play – изменять аппаратное обеспечение, драйвера будут ставится сами с помощью OS.
Apple – Newton MessagePad 100 (PDA).
NCSA Mosaic v1.0 – первый Browser.
Mosaic Communication выпустили Netscape Navigator (Clark, Andreessen).
1994 – первая версия Linux.
Zip drive – 100 MB.
1995 – Apache веб-сервер.
Windows 95, IE, Office 95.
1995 – DVD.
IBM покупает Lotus Development.
Sun выпускает UltraSPARC 64-bit.
Sun выпускает язык Java.
Sony выпускает PlayStation.
1996 – в интернете появляется интернет-банки.
Opera
1997 – Deep Blue обыгрывает Каспарова в шахматы.
1998 – Mozilla Browser
Intel Pentium II Xeon
iMac
АО
Внешний цикл – череда инструкций.+ Внутренний цикл. = Тактовая частота
Количество шагов за единицу времени.
Регистры X и Y (данные над которым надо сделать операцию) AC (аккумулятор, хранение результата)
FLAG (регистр особых ситуаций (например при 5 битах на 4 битном компьютере)).
ADDR (адресный регистр, ячейки памяти)
PC (номер шага на каком находится подсчёт)
IR (определённая команда которая выполняется на этом шаге)
COUNT (отсчитывает внутренние шаги, сперва загрузить A и B и т.д.
)
Assembler – 16-bit
Более высокие языки программирования: Lisp, Ada, Java.
Машинные: Fortran, C.
Интерпретирование – процесс с высокого в некий промежуточный код, а в машинный код в момент
выполнения.
Компилирование – процесс при котором из высокого языка программирования переводится в
машинный код.
JIT – докомпилируется при первом запуске.
Логические (для искусственного интеллекта): Prolog, Prolog 2.
Функциональные (): Haskell, Lisp.
Объектно-ориетированные (): C++, Java.
ОС
Общий стандарт для пользователя.
Без ОС звук можно вывести только работая напрямую с звуковой картой, ОС делает это сама.
1. Умеет считать и запустить программу.
2. Умеет установить и переключать программы.
3. Умеет читать файлы, записывать.
4. Умеет общаться с другими компонентами (клавиатура и т.д.).
Процессор, память, устройства.
ОС – расширенная виртуальная машина, которая предоставляет стандартный компьютер, который
может использовать другие программы.
ОС – менеджер ресурсов (память).
Распределяет.
Запускается в привилегированном режиме.
Платформа для других программ для запуска, неважно какое аппаратное обеспечение.
Программы общаются с ОС, а она с аппаратным обеспечением.
Организация очереди и переключение между задачами.
Управление памятью (сегменты – участки памяти).
Процесс swapping – перенос памяти задачи на HDD.
Символьные имена (a=1) – виртуальные адреса (001) – физические адреса (11011001).
Кэширование – оптимизация времени доступа к памяти: регистры, RAM, HDD. Чем ближе к процессу
(регистры) тем быстрее, но зато цена (размер) дороже.
Многопользовательская (UNIX) – данные одного пользователя защищены от других.
ПО
Паради́гма программи́рования — это совокупность подходов, методов, стратегий, идей и понятий,
определяющая стиль написания программ.
База данных, графический интерфейс, инфо-системы.
Алгоритмические: C, Basic, Java, assembler.
Описательные: HTML, XML, SQL – не компилируется в машинный код.
1945-1970 – большие компьютеры, машинные коды, большие фирмы.
1970-1995 – персональные компьютеры, языки высокого уровня, маленькие фирмы.
1995-20.. – сеть, библиотеки, связь компонентов, открытие компоненты.
Локальная сеть – Ethernet
Интернет – TCP/IP
Интернет
Ethernet: MAC адрес – уникальное имя сетевой карты.
Хаб – центральный сервер.
Internet: IP адрес – уникальное имя, зависит от месторасположения.
OSI: Интерфейс – возможность соответствующим уровня общаться между собой
Протокол – одному и тому же уровню но на разных компьютерах.
IP —сетевой протокол, основа стека протоколов TCP/IP, гарантирует маршрутизацию.
TCP – разбивает поток информации на сегменты, гарантирует, что информация дошла (таймер),
контрольная сумма, .
UDP – 517 (для передачи DNS) для системных сообщений, самодостаточный, не гарантирует дошла
ли информация, использует контрольную сумму, не отсылает обратно информация, что пакет дошёл.
Порт Сервер пассивный, клиент запрашивает.
DNS сервер – конвертирует имена домена в IP.
ARP – передаёт от одного компьютера к другому по MAC адресу.
NetBIOS – протокол для передачи информации, для локальной сети (используются имена
компьютеров).
CSS – разные стили.
XML – язык для разметки текста и превратить произвольный набор букв в термины и обрабатывать
их. Используются теги. Для хранения информации.
DOM – возможность видеть вашу страницу в виде дерева элементов.
Internet – открытая информация.
Intranet – локальная сеть, закрытая.
Extranet – объединение локальных сетей базируется на Internet, доступ ограничен, зашифрованная
информация.
Рекурсия
Рекурсия –
Итерация –
Алгоритм
Определённым, на один и тоже набор входов – один набор выходов (1+2 всегда 3). Одна операция –
один результат. Должен быть конечным.
Каждый шаг должен быть хорошо обоснован.
Желаемые свойства: корректность, заканчиваться за определённое время, быстро выполнять задачу.
Скорость и память.
Машина Тюринга: лента с символами, считывающая головка, есть алгоритм, решаемые и не
решаемые задачи.
Kurt Godel – математика не может быть и полной и цельной одновременно.
Искусственный интеллект
Самодостаточная, сама принимает решения и осуществлять их.
Попытка понять лучше, что такое человек.
Попытка облегчить жизнь простому человеку.
Тест Тюринга.
Eliza – на определённые слова выдавала ассоциации.
Hard AI – воспринимать факты и делать выводы (самообучающаяся), умение использовать знания.
Экспертная система – низко-интеллектуальная, на базе фактов даёт советы. Например, диагноз по
симптомам.
Интелликтуальные агенты – программа, по поиску информации из сети, распознавание картинки,
речи (контекст, перевод).
IT-проект
Управление – скоординировать действия всех работников, финансовая часть, цель проекта.
Увеличить количество выпускаемого товара, уменьшить расходы.
Управление ИТ – заём в банке.
Отличие: использование АО, ПО, ИТ - делают ПО.
Проблемы не ИТ: отсутствие клиентской базы, сложно отслеживать деньги, общение с поставщиками
очень долго, компьютеры то работают то нет, штраф за нелегальное ПО, надо помочь с компьютером.
Возможности не ИТ: построение инфо-системы, продажа продуктов в интернете, создание сети с
партнёрами, поддержка пользователя по интернету.
Либо заказать инфо-систему (высокое качество), либо самим сделать в своём ИТ отделе (дешевле,
безопасно).
Проблемы ИТ:
Возможности ИТ: автоматизированная работа, организация инфо-системы.
Оперативное управление: на низком уровне, нету денег в данный момент, конкретная задача на
данном этапе, чтобы никто не ждал никого.
Управленец хорошо должен разбираться в устройстве, чтобы знать какие новые технологии
использовать.
Умение оценивать время очень важно (от этого зависит цена).
Излишняя самоуверенность. ПО должно соответствовать тому, что хочет заказчик. Умение общаться
плохое.
Этапы проекта: предварительный анализ (обладаете ли ресурсами), детальный анализ (архитектура,
интерфейс), план, реализация, тестирование, документация, локализация, обучение персонала,
возможная поддержка в будущем.
В программе увеличивать скорость работы там где это действительно нужно.
Факторы: проанализировать, взяться только тогда, когда можете сделать. Тесная связь с теми кому вы
делаете (должны сделать то, что просят). Продумать методику работы (надо всё учесть).
Веб-проект – продукт всё время улучшается.
Solution Framework – состоит из моделей.
Модель команды – команда экспертов, их роли: менеджер продукта (общается с клиентом,
представляет его интересы), менеджер программирования (представляет интересы команды,
ответственен за создание плана, бюджета), разработчики, тестеры, учат пользователей, логисты.
Общение, размер команды (15 человек макс).
Модель процессов – виденье (анализ продукта, общее понимание с клиентом, scope – что технически
возможно), планирование (время, как, кто, язык), разработка (метод пирамиды, разбиваем куски на
подзадачи), стабилизация (тестирование).
План (функциональность, время, ресурсы) – треугольник компромисса
Project Charter – для чего продукт, функциональность, факторы успешности (что обязательно в
программе), риски (все возможные проблемы), роли и ответственности, как и где будет работать
программы, описание системы, какие события в системе, использование системы, язык, технические
характеристики, временной план.
Модель приложений – user services (интерфейс), business (как можно двигаться через интерфейс), data
(база данных).
Модель solultion design – модель приложения: концептуальная (начальная концепция приложения),
логическая (вытекает из первой, добавляет технические данные), физическая (вытекает из первой,
дополнение к логическому, сколько серверов).
Модель архитектуры – бизнес (как двигается информация), приложения, информация (какие
документы), технология (какие технологии).
Total cost of ownership (TCO) – все траты: мыслимая цена, компоненты, улучшить АО, интернет,
специалист, управление (скрытые) системы не совсем правильное, время затраченное на
неработающая систему.
Download