
- •Введение
- •Жизненный цикл it-проекта
- •Концепция проекта
- •Определение проекта
- •Выполнение проекта
- •Завершение проекта
- •Стандарты жизненного цикла
- •Выбор методологии
- •Жесткие и гибкие методологии Модель водопада
- •Итеративная разработка
- •Спиральная модель
- •Архитектура Вычислительные системы
- •Операционные системы
- •Выбор языка и среды программирования
- •Краткий обзор распространенныхпромышленных языков программирования и программных платформ
- •Разработка программного обеспечения Парадигмы программирования
- •Структурное программирование
- •Процедурное программирование
- •Функциональное программирование
- •Событийно-ориентированное программирование
- •Объектно-ориентированное программирование
- •Аспектно-ориентированное программирование
- •Визуально-ориентированное программирование
- •Метапрограммирование
- •Качество кода. Критерии качества кода
- •Форматирование и оформление
- •Комментарии
- •Читаемость
- •Обработка исключений
- •Документирование
- •Рефакторинг
- •Архитектура программного обеспечения
- •Отличие архитектуры по от детального проектирования по
- •Примеры архитектурных стилей и моделей
- •Паттерны проектирования
- •Адаптер (adapter, wrapper)
- •Абстрактная фабрика (abstractfactory, kit)
- •Стратегия (strategy, policy)
- •Менеджмент Проекта
- •Проектный менеджмент
- •Команда менеджмента проекта Команды в проекте
- •Соотношение между различными командами в проекте
- •Цели кмп в проекте
- •Создание и развитие кмп Сущность и характеристики кмп
- •Управление трудовыми ресурсами проекта и менеджмент человеческих ресурсов проекта
- •Интегрированная культура кмп
- •Оценка деятельности кмп Что такое эффективная кмп?
- •Команда Менеджмента Проекта – критический фактор успеха проекта
- •Структура проекта Определение проекта
- •Основные признаки проекта
- •Направленность на достижение целей
- •Координированное выполнение взаимосвязанных действий
- •Ограниченная протяженность во времени
- •Уникальность
- •Структура проекта
- •Разработка программного обеспечения Виртуальная реальность
- •Виртуальная реальность в играх.
- •Виртуальная реальность и 3d.
- •История виртуальной реальности.
- •Что такое виртуальная реальность?
- •Миры с различными потенциально-возможными сценариями хода событий
- •Студии виртуальной реальности на телевидении
- •Имитационное моделирование
- •Искусственный интеллект
- •Предпосылки развития науки искусственного интеллекта
- •Подходы и направления
- •Тест Тьюринга
- •Символьный подход
- •Логический подход
- •Накопление и использование знаний
- •Суть процесса искусственного мышления
- •Применение
- •Перспективы
- •Искусственный интеллект в играх
- •Распределённые и облачные вычисления Распределённые вычисления
- •История
- •Участие в проектах распределенных вычислений Общая схема участия
- •Привлечение и мотивация участников
- •Критика проектов распределенных вычислений
- •Организации, участвующие в проектах распределенных вычислений
- •Список проектов распределённых вычислений
- •Биология и медицина
- •Математика и криптография
- •Естественные науки
- •По для организации распределённых вычислений
- •Облачные вычисления
- •Терминология
- •Критика
- •Примеры
- •Потребность
- •Внешние и внутренние облака
- •Стоимость
- •Надёжность
- •Проблемы облачных технологий
- •Нейронные сети
- •Возможные способы применения и реализации
- •Категории аппаратного обеспечения инс
- •Цифровое исполнение
- •Аналоговое исполнение
- •Гибридное исполнение
- •Области применения нейронных сетей
- •Аутсорсинг
- •Мировой рынок экспортного программирования
- •Прогноз развития мирового и российского рынка
- •Белорусскиекомпании
- •Типы аутсорсинга
- •Развитие cad технологий
- •Исправление ошибок
- •Системы старшего класса
- •Большие сборки
- •Зачем нужны сборки
- •Стратегии упрощения
- •Моделирование
- •Параметризация
- •Гибридное моделирование
- •Практические результаты
- •Проектная база: технология моделирования
- •Переход к гибридному моделированию
- •Электронная сборка
- •Модель акторов
- •История
- •Фундаментальные концепции
- •Формальные системы
- •Применения
- •Семантика передачи сообщений
- •Локальность
- •Безопасность
- •Актуальность в настоящий момент
- •Социальный компьютинг
- •Сферы применения
- •С чего начать
- •Тестирование программного обеспечения Уровни тестирования
- •Модульное тестирование
- •Интеграционное тестирование
- •Системы непрерывной интеграции
- •Системное тестирование программного обеспечения
- •Функциональное тестирование
- •Регрессионное тестирование
- •Виды тестов регрессии
- •Нагрузочное тестирование
- •Тестирование «белого ящика» и «чёрного ящика»
- •Серый ящик. Комбинация предыдущих.
- •Права автора Личные неимущественные права:
- •Личные имущественные права:
- •Способы защиты авторского права
- •Защита при помощи компьютерных компакт-дисков
- •Методы взлома/обхода технических мер защиты
- •Нарушение авторских прав
- •Типы лицензий
- •Проприетарные лицензии
- •Свободные и открытые лицензии
- •Пиратское по
- •Взгляд в будущее
- •Взлом информации и защита от взлома Классы атак Аутентификация (Authentication)
- •Авторизация (Authorization)
- •Атакинаклиентов (Client-side Attacks)
- •Выполнение кода (Command Execution)
- •Разглашение информации (Information Disclosure)
- •Логические атаки (Logical Attacks)
- •Компьютерные вирусы
- •Классификация вирусов
- •Антивирусные программы
- •Методы обнаружения вирусов
- •Метод соответствия определению вирусов в словаре
- •Метод обнаружения странного поведения программ
- •Метод обнаружения при помощи эмуляции
- •Метод «Белого списка»
- •Эвристический анализ
- •Классические hips
- •Экспертные hips
- •Жизненный цикл вируса.
- •Стратегии развития крупнейших it-компаний
- •Перспективы развития Microsoft
- •Секреты успеха
- •Крупнейшие производители современных операционных систем и их продукты
- •Основные заблуждения по поводу Macintosh
- •Технические подробности операционной системы
- •Причины успеха и будущее компании
- •История создания Linux
- •Свободное программное обеспечение
- •Графические интерфейсы Linux
- •Дистрибутивы Linux
- •Безопасность Linux
- •Краткая история FreeBsd и unix
- •Рождение системы bsd
- •Bsd на платформах Intel х86
- •Рождение FreeBsd
- •Преимущества FreeBsd
- •Различия между FreeBsd и Windows
- •Мобильные ос
История создания Linux
История создания Linux проста. Она началась в 1991 году. Финский аспирант Линус Торвальдс, приобретя пакет операционной системы MINIX, разочаровался в поставляемой с ней программе эмуляции терминала. Он решил переписать ее, не привязывая ни к какой операционной системе. После некоторых модификаций начало появляться подобие ОС, а затем, когда исходный код был выложен на сервере, проект стал развиваться благодаря усилиям и, главное, энтузиазму программистов, после чего он стал полноценной операционной системой. Проект взял многое от существовавшей уже тогда операционной системы UNIX. Даже название проекта было «собрано» из имени разработчика и буквы X в конце слова как свидетельства схожести с UNIX. Название Linux проект получил не сразу.
Изначально он назывался Freax как гибриданглийских слов free (бесплатный, свободный) и freak (чудной) с окончанием X, однако, когда Линус Торвальдс выкладывал код на сервере, проект получил свое окончательное имя.
Нужно упомянуть историю операционной системы, на принципах которой была создана Linux, — UNIX. Работу над ней начал в 1969 году работник компании AT&T Bell Labs Кен Томпсон, намеревавшийся написать усеченный вариант операционной системы MULTICS, работа над которой некоторое время назад велась в этой компании. В результате получилась операционная система, написанная полностью на ассемблере и получившая шутливое название UNICS (UNiplexed Information and Computing Service — примитивная информационная и вычислительная служба). Затем для удобства система была переименована в UNIX, так как конец слова читается одинаково в обоих случаях. Впоследствии к проекту присоединился Деннис Ритчи, а затем и весь его отдел. В процессе своего развития UNIX был переписан для более нового типа компьютеров и перенесен с языка ассемблер на язык высокого уровня C, который был создан Деннисом Ритчи для упрощения переноса UNIX на другой тип компьютера. Операционные системы того времени не были удобными, поэтому UNIX быстро приняли везде — от университетов до крупных компаний. Вместе с операционной системой распространялся исходный код, и пользователи могли изменять или добавлять новые возможности, то есть сделать UNIX максимально пригодной для себя. На фоне такого бума создавалось множество подверсий UNIX, которые отличались от оригинала. Одной из самых удачных стала разработка университета Беркли — Berkeley UNIX, первая версия которой называлась 1BSD (First Berkeley Software Distribution — первое распространение ПО Беркли). Программисты существенно дополнили систему новыми возможностями и программами, сделав большой вклад в развитие этой операционной системы. После этого многие разработчики UNIX стали основывать свои версии не на продукте компании AT&T, а на версии Berkeley UNIX, и Berkeley UNIX стал конкурентом оригиналу. На протяжении долгого времени UNIX разрабатывался каждым программистом для своих нужд, поэтому программы, написанные для одной версии UNIX, могли не работать на другой, и о коммерческом успехе этой системы говорить не приходилось. По этой причине был издан документ, который содержал основные стандарты, которым должны были следовать разработчики. Это повысило совместимость версий UNIX, но не оказало влияния на версии BSD. Наиболее известными версиями UNIX стали BSD, MINIX (разрабатывается известным голландским профессором Эндрю Таненбаумом), SCO UNIX, System V (оригинальная версия компании AT&T), Solaris (разработка корпорации Sun), XENIX (некогда продававшаяся версия UNIX корпорации Microsoft) и, конечно же, Linux. По прошествии многих лет после создания UNIX вследствие долгого развития и усовершенствования как самим Линусом Торвальдсом, так и многочисленными разработчиками добровольцами Linux стала полноценным некоммерческим клоном UNIX. Попутно с развитием самой системы она была перенесена на множество других платформ благодаря тому, что основная масса кода была написана на аппаратно-независимом языке C (в этом случае переписывается только та часть кода программы, которая ответственна за «общение» программного обеспечения с аппаратным обеспечением компьютера).
Выход первой официальной версии Linux состоялся в 1994 году. Она содержала все необходимые функции, включая работу с сетями. Эта версия была совместима с UNIX, для нее переписывались многие программы. К разработке подключилось еще больше программистов. Linux уверенно завоевывала авторитет. В 1995 году был зарегистрирован товарный знак Linux, а в 1996 году вышла версия Linux 2.0. До сих пор контроль над развитием ОС сохраняет за собой Линус Торвальдс.
Отдельно следует отметить принципы распространения Linux. Изначально и до сих пор Linux распространяется как свободное программное обеспечение по лицензии GPL (General Public License — стандартная общественная лицензия). Каждый человек может получить доступ к исходному коду операционной системы, дополнить, изменить что либо или использовать код в своих проектах. Все это возможно с условием, что модифицированный исходный код будет так же доступен любому человеку, как и оригинал, и распространяться по лицензии GPL. Сейчас Linux работает на разных типах компьютеров и устройств — карманных компьютерах, мобильных телефонах, игровых приставках, персональных компьютерах, серверах, суперкомпьютерах и даже музыкальных инструментах — благодаря своей гибкости и возможности переноса на другие платформы.