Скачать презентацию Архитектура вычислительных систем Лекция 4 История ОС Unix Скачать презентацию Архитектура вычислительных систем Лекция 4 История ОС Unix

Arcitecture_of_Computers_Lecture04.ppt

  • Количество слайдов: 27

Архитектура вычислительных систем. Лекция 4. История ОС Unix • Москва, октябрь 2011 Ловецкий К. Архитектура вычислительных систем. Лекция 4. История ОС Unix • Москва, октябрь 2011 Ловецкий К. П. 1

Multics (Multiplexed Information and Computing Service) • В конце 1960 -x годов консорциум в Multics (Multiplexed Information and Computing Service) • В конце 1960 -x годов консорциум в составе концерна General Electrics, Массачусетского Технологического Института (MIT) и исследовательской компании Bell Laboratories (на тот момент − подразделения AT&T) разрабатывали операционную систему MULTICS. • Multics была одной из первых операционных систем с разделением времени исполнения программ (time-sharing operating system). • Список операционных систем 2

Multics (Multiplexed Information and Computing Service) • Система Multics оказала очень большое влияние на Multics (Multiplexed Information and Computing Service) • Система Multics оказала очень большое влияние на компьютерную индустрию благодаря многим новаторским и ценным идеям, заложенным в неё. Хотя система и подвергалась многочисленным насмешкам со стороны критиков, она показала что заложенные в неё концепции имеют право на долгосрочную жизнь в мире операционных систем. • Multics имела множество характерных особенностей, обеспечивших её безотказность и высокую производительность. Дополнительно к поддержке модульности программного обеспечения, система также была ориентирована на модульную поддержку используемых в её работе электронных устройств, что позволило наращивать вычислительные возможности системы простой заменой её модулей: – центрального процессора, – памяти, – дискового пространства, и т. д. 3

Multics (Multiplexed Information and Computing Service) • Отдельные для каждого пользователя списки доступа к Multics (Multiplexed Information and Computing Service) • Отдельные для каждого пользователя списки доступа к файлам обеспечили весьма гибкий механизм коллективного использования информации в системе, гарантирующей обеспечение полной конфиденциальности хранимой и используемой пользователями информации. • Система Multics обладала также стандартными механизмами, позволяющими инженерам анализировать вычислительные мощности системы, и набором механизмов, обеспечивающих оптимизацию работы самой операционной системы. 4

Инновационные идеи в системе Multics • Multics была одной из первых операционных систем, реализовавшей Инновационные идеи в системе Multics • Multics была одной из первых операционных систем, реализовавшей плоскую модель хранения данных, четко разделяющей концепции файлов (называемых в системе Multics сегментами) и памяти вычислительных процессов. Память вычислительных процессов состояла из сегментов, каждый из которых обладал своим адресным пространством. • Для чтения или записи в сегменты вычислительный процесс использовал инструкции центрального процессора системы, а операционная система брала на себя всю заботу по сохранению измененных 5 данных на жестком диске компьютера.

Инновационные идеи в системе Multics • Таким образом в Multics была спроектирована и реализована Инновационные идеи в системе Multics • Таким образом в Multics была спроектирована и реализована полностью централизованная файловая система, в которой файлы, физически располагающиеся на разных физических устройствах внешней памяти, логически объединяются в один централизованный архив или древовидную иерархическую структуру, промежуточными узлами которой являются именованные директории (или каталоги), а в листьях содержатся файлы. • В Multics была также спроектирована и реализована большая сегментно-страничная виртуальная память, позволившая использовать отображение файлов в 6 сегменты виртуальной памяти.

Инновационные идеи в системе Multics • В системе Multics была впервые реализована и еще Инновационные идеи в системе Multics • В системе Multics была впервые реализована и еще одна инновационная идея, а именно — динамическое связывание (dynamic linking) исполняемой программы с библиотеками кода. Благодаря динамическому связыванию, исполняемый процесс мог запрашивать у системы подключение дополнительных сегментов к собственному адресному пространству, а именно сегментов, содержащих полезный код для исполняемой программы. Таким образом программы смогли автоматически использовать внешние библиотеки кода, хранимые в отдельных сегментах, создавая при этом динамические связи с функциями, хранимыми в этих библиотеках. 7

Инновационные идеи в системе Multics • Multics была одной из первой систем, в которой Инновационные идеи в системе Multics • Multics была одной из первой систем, в которой большое внимание уделялось безопасности взаимодействия между программами и пользователями. Более того, Multics, возможно, была самой первой операционной системой, задуманной изначально и реализованной как безопасная, несмотря на то, что ранние версии системы Multics все-таки неоднократно взламывались хакерами. • Multics также явилась одной из первых операционных систем, написанных на языке высокого уровня PL/I (самой первой такой системой была MCP для компьютеров Burroughs B 5000, которая использовала диалект Алгола). 8

История создания системы Unics (Unix) • Компания Bell Labs вышла из проекта в 1969 История создания системы Unics (Unix) • Компания Bell Labs вышла из проекта в 1969 -м году. Несколько человек, разрабатывающих систему Multics в этой компании перешли к созданию системы UNIX. Позднее созданная система UNIX показала внешнее сходство с системой Multics, в том числе, и в названиях используемых команд. Философия дизайна UNIX была совершенно другой. Целью являлось создание системы как можно меньших размеров, и настолько простой, насколько это будет возможно. • Название «UNIX» ( «Unics» , автор - Брайан Керниган) было образовано от «Multics» . Буква U в названии UNIX означала «Uniplexed» ( «односложная» ) в противоположность слову «Multiplexed» ( «комплексная» ), лежащему в основе названия системы Multics, подчеркивая попытку создателей UNIX-а отойти от сложностей системы Multics для выработки более простого и работоспособного подхода. 9

История создания системы Unics (Unix) • В число сотрудников Bell Labs, участвовавших в проекте История создания системы Unics (Unix) • В число сотрудников Bell Labs, участвовавших в проекте MULTICS, входил Кен Томпсон. По одной из легенд, в те времена его интересовала новая на тот момент область программирования − компьютерные игры. В силу дороговизны вычислительной техники того времени у Кена Томпсона были определенные сложности с получением компьютерного времени для игры в написанную им Star Travel, поэтому он заинтересовался имевшейся в Bell Labs и маловостребованной на тот момент машиной PDP-7. Наличествовавшее для этой машины системное программное обеспечение Томпсона не устроило, и, пользуясь опытом, полученным в проекте MULTICS, он написал для PDP-7 свою операционную систему. Первоначально система Томпсона была двухзадачной, то есть позволяла запуск двух независимых процессов − по числу подключенных терминалов 10

PDP-7 There a few remaining PDP-7 systems still in operable condition, along with one PDP-7 There a few remaining PDP-7 systems still in operable condition, along with one under restoration in Oslo, Norway. 11

PDP-7 • The DEC PDP-7 is a minicomputer produced by Digital Equipment Corporation. Introduced PDP-7 • The DEC PDP-7 is a minicomputer produced by Digital Equipment Corporation. Introduced in 1965, it was the first to use their Flip-Chip technology. With a cost of only $72, 000 USD, it was cheap but powerful by the standards of the time. The PDP-7 was the third of Digital's 18 -bit machines, with essentially the same instruction set architecture as the PDP-4 and the PDP-9. • • PDP-7 definition computer A minicomputer sold by DEC in 1964. It had a memory cycle time of 1. 75 microseconds and add time of 4 microseconds. I/O included a keyboard, printer, paper-tape and dual transport DEC tape drives (type 555). DEC provided an "advanced" Fortran II compiler, a Symbolic Assembler, Editor, DDT Debugging System, Maintenance routines and a library of arithmetic, utility and programming aids developed on the program-compatible PDP-4. The PDP-7 was considered reliable enough (when properly programmed) to be used for control of nuclear reactors and such. Around 1970 Ken Thompson built the operating system that became Unix on a scavenged PDP-7 so he could play a descendant of the SPACEWAR game. (1995 -03 -10) 12

Тетрис • Те трис — культовая игра, изобретённая Алексеем Пажитновым в 1985 году. Идею Тетрис • Те трис — культовая игра, изобретённая Алексеем Пажитновым в 1985 году. Идею «Тетриса» ему подсказала купленная им игра в пентамино. 7 «кирпичиков-тетрамино» тетриса: I, J, L, O, S, T, Z 13

История создания системы Unics (Unix) • Кену Томпсону в его разработке присоединился Деннис Ритчи. История создания системы Unics (Unix) • Кену Томпсону в его разработке присоединился Деннис Ритчи. Вдвоем они перенесли систему на более совершенный миникомпьютер PDP-11. Тогда же возникла идея переписать систему на языке высокого уровня. • Томпсон попытался использовать для этого усеченный диалект языка BCPL, который он назвал «B» . Однако язык оказался для этого слишком примитивен, в нем не было даже структурных данных. Ритчи предложил расширить язык. Так появилась первая версия языка «C» . 14

Об авторе Тетриса • Тетрис был впервые написан Алексеем Пажитновым в июне 1985 года Об авторе Тетриса • Тетрис был впервые написан Алексеем Пажитновым в июне 1985 года на компьютере Электроника-60. Работая в ВЦ Академии наук СССР, Пажитнов занимался проблемами искусственного интеллекта и распознавания речи, а для обкатки идей применял головоломки, в том числе и классическое пентамино. Пажитнов пытался автоматизировать укладку пентамино в заданные фигурки. Однако вычислительных мощностей тогдашнего оборудования для вращения пентамино не хватало, приходилось отлаживать на тетрамино, что и определило название игры — «Тетрис» (от др. -греч. τετράς — четыре). В тех опытах и родилась основная идея «Тетриса» — чтобы фигурки падали, а заполненные ряды исчезали. • Для IBM PC игра была переписана 16 -летним 15 школьником Вадимом Герасимовым.

Алексей Пажитнов • Алексе й Леони дович Па житнов (род. в 1956) — советский Алексей Пажитнов • Алексе й Леони дович Па житнов (род. в 1956) — советский и американский программист, изобретатель игры «Тетрис» . • Окончил московскую математическую школу № 91 и МАИ. Барселона, 2008 год http: //en. wikipedia. org/wiki/Alexey_Pajitnov 16

История создания системы Unics (Unix) В 1973 году систему удалось переписать на C. Для История создания системы Unics (Unix) В 1973 году систему удалось переписать на C. Для того времени это был более чем сомнительный шаг: господствовала точка зрения, что высокоуровневое программирование с уровнем операционных систем принципиально несовместимо. Время показало, однако, что именно этот шаг определил на много лет тенденции развития индустрии. Язык программирования C и операционная система Unix сохраняют популярность спустя более чем 30 лет после описываемых событий в основном благодаря тому, что Unix оказался одной из первых ОС, написанной на языке высокого уровня, а C оказался этим языком. 17

История создания системы Unics (Unix) На этом историческом этапе важную роль сыграло особое положение История создания системы Unics (Unix) На этом историческом этапе важную роль сыграло особое положение компании AT&T: антимонопольные ограничения не позволяли ей участвовать в компьютерном бизнесе (как и вообще в любом бизнесе за пределами телефонии). В связи с этим копии Unix с исходными текстами предоставлялись всем желающим на некоммерческой основе. Следующим серьезным шагом стал перенос Unix на новую архитектуру. Идея этого была выдвинута Деннисом Ритчи и Стефаном Джонсоном. В рамках этого проекта Джонсон разработал переносимый компилятор языка C, ставший, кстати, едва ли не первым переносимым компилятором в истории. Перенос был завершен в 1977 году 18

История создания системы Unics (Unix) Важнейший вклад в развитие Unix внесли исследователи из университета История создания системы Unics (Unix) Важнейший вклад в развитие Unix внесли исследователи из университета Беркли. Одна из наиболее популярных веток Unix, BSD, представленная, например, системами, как Free. BSD, Net. BSD, Open. BSD и BSDi, была создана именно там (собственно, акроним BSD означает Berkley Software Distribution). Исследования, связанные с Unix, начались здесь в 1974 году; определенную роль сыграли лекции Кена Томпсона, прочитанные в Беркли в 1975 -1976 гг. Первая версия BSD была создана в 1977 году Биллом Джоем. В 1984 году с AT&T были сняты антимонопольные ограничения. Менеджмент AT&T начал коммерциализацию Unix. Свободное распространение исходных текстов Unix было прекращено. Последующие годы ознаменовались противостояниями и судебными тяжбами между разработчиками Unix, в частности − между все той же AT&T и компанией BSDi, пытавшейся продолжать разработки на 19 основе BSD.

История создания системы Unics (Unix) • Другая интересная линия событий прослеживается с 1984 года, История создания системы Unics (Unix) • Другая интересная линия событий прослеживается с 1984 года, когда Ричард Столлман основал Фонд свободного программного обеспечения и издал соответствующий идеологический манифест. Нарождающееся общественное движение для начала поставило себе целью создать свободную операционную систему. По некоторым сведениям, именно Столлман в 1987 году убедил исследователей из Беркли в необходимости очистки BSD от кода, находящегося в собственности AT&T. • Сторонники Столлмана успели создать существенное количество свободных программных инструментов, но без полностью свободного ядра ОС цель оставалась все же далека. Положение изменилось лишь в начале 1990 -х. В 1991 году финский студент Линус Торвальдс начал работу над ядром Unix-подобной операционной системы для платформы i 386, причем в этой работе код из других 20 операционных систем не использовался вообще

Фотография Ричарда Столлмана, взятая с обложки книги Сэма Вильямса «Free as in Freedom» , Фотография Ричарда Столлмана, взятая с обложки книги Сэма Вильямса «Free as in Freedom» , опубликованной в марте 2002 • Ричард Мэттью Столлман (англ. Richard Matthew Stallman, очень часто rms, по инициалам; родился 16 марта 1953, Манхэттен, Нью. Йорк) — основатель движения свободного ПО, проекта GNU, Фонда свободных программ и Лиги за свободу программирования. Автор концепции «копилефта» , призванной защищать идеалы движения; эту концепцию он с помощью юристов позже воплотил в лицензии GNU General Public License (GNU GPL) для ПО. 21

История создания системы Unics (Unix) • Новая операционная система получила название Linux по имени История создания системы Unics (Unix) • Новая операционная система получила название Linux по имени своего создателя. Примечательно, что такое название дал системе один из сторонних участников проекта. Сам Торвальдс планировал назвать систему «Freax» . • Самый первый публично доступный код (версия 0. 01) появился в 1991 году, первая официальная версия (1. 0) − в 1994, вторая − в 1996. • Следует отметить (и это также отмечает сам Линус Торвальдс), что немаловажную роль в стремительном взлете Linux сыграла судебная война между AT&T и университетом Беркли, мешавшая распространению BSD на i 386. Linux получил изрядную фору на старте, в итоге оставив BSD на вторых ролях. 22

Линус Торвальдс — создатель ядра «Linux» . 23 GNU/Linux (иногда Linux) Линус Торвальдс — создатель ядра «Linux» . 23 GNU/Linux (иногда Linux)

 «Linux» . • Linux или GNU/Linux (произносится «гну слэш ли нукс» ) — «Linux» . • Linux или GNU/Linux (произносится «гну слэш ли нукс» ) — общее название UNIX-подобных операционных систем на основе свободного ядра Linux и собранных для него библиотек и системных программ, разработанных в рамках проекта GNU. Зачастую такие операционные системы называют просто «Linux» , так как первой, наиболее популярной и единственной тогда системной библиотекой, использовавшейся в системах на базе Linux, была GNU C Library (glibc). • GNU/Linux работает на PC-совместимых системах семейства Intel x 86, а также на A-64, AMD 64, Power. PC, ARM и многих других. • К операционной системе GNU/Linux также часто относят программы, дополняющие эту операционную систему, и прикладные программы, делающие её полноценной многофункциональной операционной средой. • В отличие от большинства других операционных систем, GNU/Linux не имеет единой «официальной» комплектации. Вместо этого GNU/Linux поставляется в большом количестве так называемых дистрибутивов, в которых программы GNU соединяются с ядром Linux и другими программами. Наиболее известными дистрибутивами GNU/Linux являются Slackware, Debian GNU/Linux, Red Hat, Fedora, Mandriva, Su. SE, Gentoo, Ubuntu. Из дистрибутивов российских разработчиков 24 наиболее известны ALT Linux и ASPLinux.

История развития UNIX-систем. GNU/Linux является UNIX-совместимой, однако основывается на собственном исходном коде 25 История развития UNIX-систем. GNU/Linux является UNIX-совместимой, однако основывается на собственном исходном коде 25

 «Linux» . Home screen displayed on Android 2. 3 «Linux» . Home screen displayed on Android 2. 3 "Gingerbread" 26

The END Список операционных систем 27 The END Список операционных систем 27