• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
ОС 1
 

ОС 1

on

  • 991 views

 

Statistics

Views

Total Views
991
Views on SlideShare
943
Embed Views
48

Actions

Likes
0
Downloads
9
Comments
0

3 Embeds 48

http://blog.apalkoff.ru 46
http://xss.yandex.net 1
http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Of the enormous variety of CITRIS projects going on at Berkeley, I will present one set that is tied together by this picture: the design, construction and use of MEMS devices, the sensor networks containing them, and making the information from these networks available to widely distributed users as scalable, reliable and secure services. The name we give to such an integrated system is a Societal Scale Information System, a name meant to evoke its scale – enormous - and purpose – benefiting people and the economy. I will leave the details of all the specific applications that Ruzena mentioned, be it to energy efficiency or education or disaster response the social sciences, and indeed most details, to later talks and posters. Some topics were covered in depth the last time we met, so I will only give you highlights of progress since then, and provide pointers for further information. My main goal is to show you the breadth of work, and give you a vision of how it all ties together.
  • Distance 186 light secs to 21 light minutes one-way Nearly two earth years

ОС 1 ОС 1 Presentation Transcript

  • Операционные системы и системное программирование Лекция 1 Что такое операционная система
  • Сегодняшние цели
    • Что такое операционная система ?
      • и чем она не является ?
    • Примеры дизайна операционных систем
    • Зачем изучать операционные системы ?
    • Диалог приветствуется, задавайте вопросы !
  • Технологические тренды : закон Мура 2X транзисторов / на чип каждые 1 , 5 года Называется “ Закон Мура ” Moore’s Law Микропроцессоры стали меньше, плотнее и более произво-дительными Гордон Мур ( сооснователь Intel) предсказал в 1965 , что плотность транзисторов на кристалле будет удваиваться каждые 18 месяцев.
  • Влияние ИТ на общество
    • Мир – большая параллельная система
      • Микропроцессоры всюду
      • Огромная инфраструктура позади них
    Масштабируемые , Надежные , Защищенные сервисы микроэлектромеханические системы для Сенсорных систем Соединение с интернетом Базы данных Коллекции информации Удаленные хранилища Онлайн игры Коммерция … Clusters Massive Cluster Gigabit Ethernet
  • Отношение “ человек - на - компьютер ” течением времени
    • Сегодня : CPU на человека !
      • приближается к 100 -ям ?
  • Новые трудности : Замедление в законе производительности Джоя
    • VAX : 25%/year 1978 to 1986
    • RISC + x86: 52%/year 1986 to 2002
    • RISC + x86: ??%/year 2002 to present
    From Hennessy and Patterson, Computer Architecture: A Quantitative Approach , 4th edition, Sept. 15, 2006  изменение в дизайне чипов : многоядерность или многопроцессорность 3X
  • Многоядерные( ManyCore ) чипы : Будущее настало
    • Ко скольки ядрам отностся “ManyCore”
      • 64? 128? Трудно точно сказать
    • Как их использовать ?
      • 2 процессора для аудио / видео
      • 1 для редактирования текста , 1 для браузера
      • 76 для поиска вирусов ???
    • Параллельное программирование должно быть использовано на всех уровнях.
    • Intel 80- ядерный чип ( Фев 2007)
      • 80 простых ядер
      • Два арифметических устройства( float ) на ядро
      • сеть на кристалле "network-on-a-chip“
      • 100 миллионов транзисторов
      • размер элемента 65 нм
    • Частота Напр. Мощн. Проп. способн. Производит.
    • 3 , 16 ГГц 0 , 95 В 62 Вт 1 , 62 Terabits/s 1 , 01 Teraflops
    • 5 , 1 ГГц 1 , 2 В 175 Вт 2 , 61 Terabits/s 1 , 63 Teraflops
    • 5 , 7 ГГц 1 , 35 В 265 Вт 2 , 92 Terabits/s 1 , 81 Teraflops
  • Другие трудности : энергетическая плотность
    • Экстраполяция закона Мура
      • энергоплотность достигает огромных значений !
    • Обратная сторона : время жизни батарейки
      • Закон Мура может привести к большей производительности при эквивалентном (или меньшем) энергопотреблении
  • Организация компьютерных систем
      • Один или несколько ЦП , контроллеры устройств соединены через шину, предоставляющую доступ к общей памяти
      • Конкуренция ЦП и устройств за циклы памяти
  • Функциональность достигается сильным усложнением! Pentium IV Чипсет Proc Caches Busses Memory I/O Devices: Controllers adapters Disks Displays Keyboards Networks
  • Вопросы компьютерной архитектуры Набор инструкций Pipelining, Hazard Resolution, суперскаляр , Reordering, предсказание , Speculation, векторные операции , динамическая компиляция Адресация , Защита , Обработка ошибок L1 Кэш L2 Кэш DRAM Диски , WORM, Лента Связность , Ширина пропускания , Латентность Новые технологии Интерливинг , Протоколы шин RAID СБИС Ввод / Вывод и хранение Иерархия памяти Конвейеры и параллелизм уровня инструкций Сетевые коммуникации Другие процессоры
  • Увеличение сложности программного обеспечения
  • Пример : некоторые требования к марсоходу (“Pathfinder”)
    • Ограничения сложности :
      • 20Mhz процессор , 128MB of DRAM, VxWorks ОС
      • камеры , научный инструмент , батарейки , солнечные батарей и оборудование передвижения
      • Множество независимых процессов работают одновременно
    • Невозможно легко нажать “ сброс ”!
      • Должен перезагружаться при необходимости
      • Всегда должен быть в состоянии приема команд с Земли
    • Независимость отдельных программ
      • Предположим, что MUT (Martian Universal Translator Module) глючный
      • Софт позиционирования антенны более надежен !
    • Обработка ошибок
      • Автоматический рестарт, данные ошибки на Землю.
      • Периодические сохранения состояния
    • Точные, критические по времени функции :
      • Предотвращение столкновений.
      • Отслеживание траектории Земли.
  • Как “ победить ” сложность ?
    • Каждая часть компьютера может быть различной
      • ЦП
        • Pentium, PowerPC, ColdFire, ARM, MIPS
      • объемы памяти, диска …
      • типы устройств
        • мышь , клавиатура , сенсоры , камеры…
      • сетевое окружение
        • кабель , DSL, беспровод , Firewalls,…
    • Вопросы :
      • Должен ли программист написать программу, которая решает множество независимых задач?
      • Должна ли программа быть “ заточенной ” для конкретного оборудования ?
      • Вызовут ли ошибки в одной программе зависание всей системы ?
      • Должна ли каждая программа иметь доступ ко всему оборудованию ?
  • Средство ОС : абстракция виртуальной машины
    • Задача проектирования софта :
      • создание “ переходников ” железо / софт  что программистам надо / необходимо
      • оптимизация удобства использования, защищенности , надежности и т.д.
    • Для любой части ОС ( файловая система , виртуальная память , сеть ):
      • Какой физический интерфейс ? ( реальность )
      • Какой программный интерфейс ? ( улучшенная абстракция )
    Приложение ОС Оборудование интерфейс физ. машины интерфейс вирт. машины
  • Интерфейсы проводят важные границы
    • Почему интерфейсы выглядят так как выглядят ?
      • история , функциональность , глупость , баги , менеджмент
    • Должны ли ответственности пересекать границы ?
      • архитектура RISC, архитектура графического конвейера
    набор инструкций софт железо
  • Виртуальные машины
    • Программная эмуляция абстрактной машины
      • “ сделать ” оборудование таким, каким хочется
      • программы с одного оборудования и ОС работают на другом оборудовании / другой ОС
    • Упрощения в программировании
      • Каждый процесс считает, что владеет всеми ресурсами
      • Различные устройства имеют одинаковые интерфейсы
      • Интерфейсы устройств более эффективны, чем “ сырое ” железо
        • Дисплей битовых карт  оконная система
        • Ethernet -карта  TCP/IP
    • Изоляция ошибок
      • Процессы независимы
      • Баги не роняют всю машину
  • Виртуальные машины : Уровни ОС
    • Удобны при разработке ОС
      • Когда ОС падает , это ограничивается одной ВМ
      • Поддержка тестирования на других ОС
  • Что делает операционная система ?
    • “ ОС напоминает правительство ”
      • Вопрос : делает ли правительство что-либо полезное само по себе ?
    • Координатор и ГИБДДшник :
      • управляет всеми ресурсами
      • разрешает конфликты конкуренции за ресурсы
      • предотвращает ошибки и неправильное испльзование компьютера
    • Посредник :
      • Предоставляет необходимые всем возможности
      • Стандартные библиотеки , Оконные системы
      • Разработка приложений легче, быстрее, меньше ошибок
    • Некоторые части нуждаются в обеих задачах :
      • Файловая система нужна всем ( Посредник )
      • Файловая система должна быть защищена ( ГИБДДшник )
  • Что такое ОС ,… в действительности ?
    • Наиболее правдоподобно :
      • Управление памятью
      • Управление вводом / выводом
      • Планирование нагрузки ЦП
      • Коммуникации ? (Email относится к ОС ?)
      • Многозадачность ?
    • Что еще ?
      • Файловая система ?
      • Поддержка мультимедиа ?
      • Пользовательский интерфейс ?
      • Интернет браузер ? 
  • Определение ОС
    • Нет универсального определения
    • “ Все, что вы находите в коробке, когда покупаете ОС ” – хорошая аппроксимация
      • но сильно различающаяся
    • “ Единственная программа, работающая всегда при включенном компьютере ” – это ядро .
      • плюс все остальное, будь-то системная программа ( поставка вместе с ОС ) или приложение
  • Что если не использовать ОС ?
    • Исходные код  Компилятор  Объектный код  Железо
    • Как запустить объектный код на железе ?
    • Как напечатать ответ ?
    • Пример программирования в бинарных кодах и чтение ответа со светодиодов !
    Altair 8080
  • Простые ОС : Что если только одно приложение ?
    • Примеры :
      • Очень древние компьютеры
      • Ранние ПК
      • Встроенные контроллеры ( лифты , машины и др. )
    • ОС превращается в библиотеку стандартных сервисов
      • Стандартные драйверы устройств
      • Обработчики прерываний
      • Математические библиотеки
  • Структура уровней MS-DOS
  • Дополнительные мысли о простых ОС
    • Что насчет сотовых, приставок ( Xbox ) , и др. ?
      • Достаточно ли такой организации ?
    • Может ли ОС быть закодированной в ROM/Flash ROM?
    • Должна ли ОС быть софтом ?
      • Может ли ОС быть реализована в железе ?
      • Чип с предустановленным поведением
      • Это тоже ОС ?
  • Более сложные ОС : Несколько приложений
    • Полная координация и защита
      • Управление взаимодействием пользователей
      • Множество программ работают параллельно
      • Мультиплексирование и защита ресурсов оборудования
        • ЦП , память , устройства ввода / вывода , принтеры , и т.д.
    • Посредник
      • предоставляет Стандартные библиотеки , возможности
    • Имеет ли такая сложность смысл, если необходимо поддерживать работу единственного приложения?
  • Пример : Защита процессов друг от друга
    • Задача : запустить несколько приложений таким способом, чтобы защитить их друг от друга
    • Цель :
      • Оградить пользователя от краха системы
      • Оградить пользовательские программы от влияния других программ
      • [ Оградить части ОС от влияния на другие части ОС ?]
    • Механизмы (не все) :
      • Преобразование адреса
      • Dual Mode Operation
    • Простая политика :
      • Программам не разрешено читать / изменять память других программ и ОС
  • Преобразование адресов ( Address Translation )
    • Адресное пространство :
      • Группа адресов памяти для чего-либо используемая
      • Все процессы (программы) и ядро имеют потенциально различные адресные пространства .
    • Преобразование адресов :
      • Преобразование виртуальных адресов ( используемых ЦП ) в физические адреса (памяти)
      • Отображение ( mapping ) часто осуществляется “ в железе ” с помощью Memory Management Unit (MMU)
    ЦП MMU Виртуальные адреса Физические адреса
  • Пример преобразования адресов Prog 1 Виртуальное пространство адресов 1 Prog 2 Виртуальное пространство адресов 2 Карта Преобразований 1 Карта Преобразований 2 Физическое пространство адресов Код Данные Куча Стек Код Данные Куча Стек Данные 2 Стек 1 Куча 1 ОС куча & стеки Код 1 Стек 2 Данные 1 Куча 2 Код 2 ОС код ОС данные
  • Детали преобразования адресов
    • Теперь рассмотрим преобразование адресов по таблице ( называемое Page Table):
    • Преобразование помогает в защите :
      • Контролирование преобразования, контролирование доступа
      • Должны ли пользователи иметь возможность менять Page Table???
    Виртуальный адрес Page Table индекс в таблице страниц V Access Rights PA V page no . offset 10 таблица в физической памяти P page no. offset 10 Физический адрес
  • Dual Mode Operation
    • Hardware provides at least two modes:
      • “ Kernel” mode (or “supervisor” or “protected”)
      • “ User” mode: Normal programs executed
    • Some instructions/ops prohibited in user mode:
      • Example: cannot modify page tables in user mode
        • Attempt to modify  Exception generated
    • Transitions from user mode to kernel mode:
      • System Calls, Interrupts, Other exceptions
  • Структура UNIX Пользовательский режим Режим ядра Железо Applications Standard Libs
  • Новые структуры для многоядерных чипов ? Tessellation: The Exploded OS
    • Обычные компоненты разбиваются на части
      • Драйверы устройств
      • ( Защита / устойчивость )
      • Сетевые сервисы
      • ( Производительность )
        • TCP/IP стек
        • Firewall
        • проверка на вирусы
      • Устойчивое хранилище
      • Мониторинг
        • производительность
        • внедрение
      • Идентификация / Окружение
        • биометрия , GPS
    • Приложениям отдаются крупные части
      • Произвольное использование ресурсов
    Device Drivers Video & Window Drivers Firewall Virus Intrusion Monitor And Adapt Persistent Storage & File System HCI/ Voice Rec Large Compute-Bound Application Real-Time Application Identity
  • Принципы ОС
    • OC как фокусник :
      • уничтожает ограничения оборудования
      • создает иллюзию, что имеется бесконечно много процессоров и бесконечное количество памяти
    • OC как правительство :
      • Охраняет пользователей друг от друга
      • Эффективно распределяет ресурсы
    • OC как сложная система :
      • Поддерживает соотношение между простотой, функциональностью и производительностью
    • OC как учитель истории
      • Использование предыдущего опыта
      • Адаптация к усовершенствованному оборудованию
  • Зачем изучать ОС ?
    • Изучить как строить сложные системы :
      • Как вы можете управлять сложностью ваших будущих проектов ?
    • Технические навыки :
      • Почему интернет иногда тормозит ? Можете поправить ?
      • Как работает большая распределенная система ? ( торренты, например )
    • Выбор и приобретение ПК :
      • Почему разные ПК с одинаковой частотой ЦП работают по-разному
      • Что выбрать Windows XP, 2000, Linux, Mac OS …?
      • Почему у Microsoft такое дурацкое имя ?
    • Бизнес навыки :
      • Что использовать на работе тонкие клиенты или ПК ?
    • Безопасность , вирусы и черви
      • Каких угроз стоит бояться ?
  • Заключение
    • ОС предоставляют абстракцию виртуальной машины для работы с различным оборудованием
    • ОС управляют ресурсами и защищают пользователей друг от друга
    • ОС упрощают разработку приложений, предоставляя стандартные сервисы
    • ОС могут предоставлять возможности предотвращения, обработки и протоколирования ошибок
    • Курс ОС комбинирует различные вопросы
      • Языки , структуры данных , железо и алгоритмы