Лабораторные: потоки управления, синхронизация, сетевое взаимодействие
экзамен
Понятие ОС
Операционная система (ОС) – это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом.
ОС можно рассматривать как
– виртуальную машину, абстрагирующую программиста от низкоуровневых деталей работы конкретных устройств, значительно облегчая программирование;
– менеджер ресурсов, обеспечивающий и контролирующий доступ программ к ресурсам ЭВМ;
– систему защиты данных пользователя и программ от несанкционированного вмешательства в работу друг друга.
Системные вызовы
Некоторые инструкции процессора (ЦП) предназначены только для работы ОС и не могут использоваться прикладными программами.
Такие инструкции выполняются в режиме ядра, переход в который может осуществить только ОС.
Доступ к ним из прикладных программ осуществляется с помощью системных вызовов, являющихся программными прерываниями; на языках высокого уровня они реализуются через вызовы функций стандартной библиотеки языка.
Библиотеки языка С 1. CRTL — C Run-Time Library — стандартная библиотека языка С
доступна в ОС Windows и Unix;
часть функций отличается в различных ОС, многие доступны только в ОС Unix
2. WinAPI — Windows Application Program
Interface — библиотека прикладного программного интерфейса Windows (windows.h)
Структура ОС
Ядро: – система управления процессором, памятью и другими важнейшими системными ресурсами; – библиотека системных вызовов.
Утилиты: – системные службы, работающие в автоматическом режиме; – программы пользователя, входящие в состав ОС (интерпретатор командной строки, команды работы с файлами и т.д.)
История ОС
45-55 годы — отсутствие ОС
55-60 годы — пакетные ОС, автоматизирующие последовательный запуск задач
60-80 — появление мультизадачных ОС
с 80 — персональные ЭВМ, ОС ориентированные на пользователя
История ОС UNIX
1963-71 — разработка ОС Multics совместными усилиями MIT, General Electric and AT&T (Thompson, Richie), компьютер GE-635
1969 — AT&T выходит из Multics и отказывает Томпсону и Ричи в финансировании разработки новой системы
Томпсон и Ричи разрабатывают новую систему в свободное время на старом, неиспользуемом копьютере PDP-7
1970 — формируется первый выход Unics/Unix. AT&T и разработчики договариваются: система переносится на PDP11/20, дополняется возможностями редактирования текстов и используется в патентном отделе AT&T
1973 — разработан язык С и система переписана на нем на 90%, что делает её очень портабельной
1975 — Unix version 6 — введена концепция pipe и конвейеров, система разбита на модульные части; эта система стала основой для многих последующих версий
1982 — AT&T лицензирует Unix для коммерческой продажи; в университете Беркли начинается параллельная разработка свободной BSD (Berkley Software Distribution)
1985 — Richard Stallman организовывает FSF и проект GNU, свободной ОС; проект успешно разрабатывает утилиты но разработка ядра тормозится
1991 —Linus Torvalds выпускает ядро Linux 0.01- развитие системы учебной MINIX (Tanenbaum) для IBM 386.
1994 — выход Linux 1.0
1994 — объединение коммерческих версий-потомков Unix System V R4, главные производители Sun, IBM и HP
1994 — решение легальных проблем и выход свободно 4.4 BSD-Lite, не содержащей исходного кода AT&T и доступной на компьютерах Intel
1996-2000 — на основе ядра Mach, унаследованого от BSD ОС NEXTSTEP, создается MAC OS X
2005 — компания Sun, один из ведущих разработчиков ветки AT&T, выпускает OpenSolaris — открытую версию своей системы
История ОС Windows
1985 — Windows 1.0 — графическая оболочка для MS-DOS
1987 — Windows 2.0 перекрывающиеся окна
1990 — Windows 3.0, 1993 — 3.1, 1993 3.11- первые широко распространенные релизы
1993 — Windows NT 3.1 — полноценная ОС для серверов
Windows 95/98/Me — интегрированная с DOS поставка, смесь 32 и 16-разрядного кода
Windows 2000/XP (2001)/Server 2003 — полноценная пользовательская ОС, развитие NT