litceysel.ru
добавить свой файл
1
Первая лекция.


Аналоговые – непрерывная функции.

Дигитальные – сигнал разбивается на отрезке, меряет силу сигнала.

Шина адреса, шина данных, контрольная шина.

Электронный – транзисторы, нужно электричество.

Механический (компьютер 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) – все траты: мыслимая цена, компоненты, улучшить АО, интернет, специалист, управление (скрытые) системы не совсем правильное, время затраченное на неработающая систему.