Создание POSIX-совместимой операционной системы для встраиваемых устройств
Изучение принципов построения современных операционных систем. Создание операционной системы, демонстрирующей основные принципы POSIX, и позволяющей запускать пользовательское программное обеспечение, имеющей совместимость на уровне исходного кода.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 21.02.2016 |
Размер файла | 834,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Пояснительная записка к курсовому проекту
Создание POSIX-совместимой операционной системы для встраиваемых устройств
Содержание
- Введение
1. Теоретические сведения
- 2. Обзор существующих аналогов
- 3. Постановка задачи
- 4. Проектирование
- 4.1 Объекты ядра
- 4.2 Службы ядра
- 4.3 Процесс загрузки
- 4.4 Взаимодействие ядра и программного обеспечения
- 5. Интерфейс пользователя
- Заключение
- Список использованных материалов
- Приложения
Введение
В логической структуре типичной вычислительной системы операционная система занимает положение между устройствами с их микроархитектурой, машинным языком и, возможно, собственными (встроенными) микропрограммами - с одной стороны - и прикладными программами с другой. Разработчикам программного обеспечения операционных систем позволяет абстрагироваться от деталей реализации и функционирования устройств, предоставляя минимально необходимый набор функций. В большинстве вычислительных систем операционная система является основной, наиболее важной (а иногда и единственной) частью системного программного обеспечения. С 1990-х годов наиболее распространёнными операционными системами являются системы семейства Microsoft Windows и системы класса UNIX (особенно Linux и Mac OS) [5].
Операционная система, сокр. ОС (англ. operating system, OS) - комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны - предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений. Это определение применимо к большинству современных операционных систем общего назначения [5].
Основные функции:
1. Выполнение по запросу программ (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти и др.).
2. Загрузка программ в оперативную память и их выполнение.
3. Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).
4. Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).
5. Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др.), организованным в той или иной файловой системе.
6. Обеспечение пользовательского интерфейса.
7. Параллельное или псевдопараллельное выполнение задач (многозадачность).
8. Разграничение доступа различных процессов к ресурсам.
9. Организация надёжных вычислений (невозможности одного вычислительного процесса намеренно или по ошибке повлиять на вычисления в другом процессе), основана на разграничении доступа к ресурсам.
1. Теоретические сведения
Предшественником операционных систем следует считать служебные программы (загрузчики и мониторы), а также библиотеки часто используемых подпрограмм, начавшие разрабатываться с появлением универсальных компьютеров 1-го поколения (конец 1940-х годов). Служебные программы минимизировали физические манипуляции оператора с оборудованием, а библиотеки позволяли избежать многократного программирования одних и тех же действий (осуществления операций ввода-вывода, вычисления математических функций и т.п.).
В 1950-1960-х годах сформировались и были реализованы основные идеи, определяющие функциональность ОС: пакетный режим, разделение времени и многозадачность, разделение полномочий, реальный масштаб времени, файловые структуры и файловые системы
Необходимость оптимального использования дорогостоящих вычислительных ресурсов привела к появлению концепции "пакетного режима" исполнения программ. Пакетный режим предполагает наличие очереди программ на исполнение, причём система может обеспечивать загрузку программы с внешних носителей данных в оперативную память, не дожидаясь завершения исполнения предыдущей программы, что позволяет избежать простоя процессора.
Уже пакетный режим в своём развитом варианте требует разделения процессорного времени между выполнением нескольких программ.
Необходимость в разделении времени (многозадачности, мультипрограммировании) проявилась ещё сильнее при распространении в качестве устройств ввода-вывода телетайпов (а позднее, терминалов с электронно-лучевыми дисплеями) (1960-е годы). Поскольку скорость клавиатурного ввода (и даже чтения с экрана) данных оператором много ниже, чем скорость обработки этих данных компьютером, использование компьютера в "монопольном" режиме (с одним оператором) могло привести к простою дорогостоящих вычислительных ресурсов.
Разделение времени позволило создать "многопользовательские" системы, в которых один (как правило) центральный процессор и блок оперативной памяти соединялся с многочисленными терминалами. При этом часть задач (таких как ввод или редактирование данных оператором) могла исполняться в режиме диалога, а другие задачи (такие как массивные вычисления) - в пакетном режиме.
Распространение многопользовательских систем потребовало решения задачи разделения полномочий, позволяющей избежать возможности изменения исполняемой программы или данных одной программы в памяти компьютера другой программой (намеренно или по ошибке), а также изменения самой системы прикладной программой.
Реализация разделения полномочий в операционных системах была поддержана разработчиками процессоров, предложивших архитектуры с двумя режимами работы процессора - "реальным" (в котором исполняемой программе доступно всё адресное пространство компьютера) и "защищённым" (в котором доступность адресного пространства ограничена диапазоном, выделенном при запуске программы на исполнение).
Классификация
По количеству одновременных пользователей:
Однопользовательские - один пользователь во все время работы ОС
Многопользовательские - переключение между пользователями
По выполнению задач
Однозадачные - следующую задачу можно выполнить, лишь полностью остатовив предыдущую
Многозадачные - задачи выполняются попеременно или одновременно, каждой задаче выделяется квант времени процессора, и каждый процессор выполняет отдельную задачу.
По структуре ядра:
1. С монолитным ядром
2. С модульным ядром
3. С экзоядром
4. Гибридные
ОСРВ (операционные системы реального времени) применяются там, где требуется синхронизация между внешними физическими процессами и программами в ОС. ОСРВ может гарантировать завершение определенных внутренних операций за конкретное время.
Распределенные ОС:
РОС управляют несколькими компьютерами одновременно (обычно связанными сетью) так, что они выглядят как одна единая система.
Встраиваемые ОС:
Предназначены для использования во встраиваемых системах, таких как бортовые компьютеры автомобилей, бытовая техника, мобильные устройства. Оперируют очень ограниченными ресурсами и имеют компактный дизайн.
POSIX (Portable Operating System Interface for Unix - Переносимый интерфейс операционных систем Unix) - набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой. Стандарт создан для обеспечения совместимости различных UNIX-подобных операционных систем и переносимости прикладных программ на уровне исходного кода, но может быть использован и для не-Unix систем. Серия стандартов POSIX была разработана комитетом 1003 IEEE. Международная организация по стандартизации (ISO) совместно c Международной электротехнической комиссией (IEC) приняли данный стандарт (POSIX) под названием ISO/IEC 9945.
Стандарт состоит из четырёх основных разделов:
Основные определения (Base definitions) - список основных определений и соглашений, используемых в спецификациях, и список заголовочных файлов языка Си, которые должны быть предоставлены соответствующей стандарту системой.
Оболочка и утилиты (Shell and utilities) - описание утилит и командной оболочки sh, стандарты регулярных выражений.
Системные интерфейсы (System interfaces) - список системных вызовов языка Си.
Обоснование (Rationale) - объяснение принципов, используемых в стандарте [2].
2. Обзор существующих аналогов
Linux
Рисунок 1 - интерфейс ОС Linux
Плюсы:
- Бесплатная
- Огромный выбор приложений
- Богатые возможности системного программирования
- Хорошо спроектированная структура
Минусы:
- Относительно большой размер базовой установленной системы
QNX
Рисунок 2 - интерфейс ОС QNX
Плюсы:
- ОС реального времени
- Микроядро
- Высокая скорость работы
Минусы:
- Платная для коммерческого использования
Windows CE
Рисунок 3 - интерфейс ОС Windows CE
Плюсы:
- Поддержка реального времени
- Низкое потребление памяти (работает на 32 кб RAM)
- Доступ к Win32 API при программировании
Минусы:
- Платная
3. Постановка задачи
Требуется разработать 64-битную операционную систему (OC) с поддержкой подмножества стандарта POSIX.1-2004 (IEEE Std 1003.1).
ОС должна выполняться на PC с архитектурой х86-64, дисковыми накопителями PATA и VESA-совместимыми графическими адаптерами с поддержкой VESA BIOS Extensions (VBE) - на виртуальных машины Bochs и VirtualBox.
Со стороны разработчика ПО
1. Возможность разработки и сборки ПО для разрабатываемой ОС при помощи GNU GCC, и GNU Binutils; должна быть предоставлена стандартная библиотека С, реализующая требуемое подмножество системных функций POSIX.1.
2. Возможность запуска скомпилированного ПО в формате ELF64 на разрабатываемой ОС.
Со стороны пользователя
ОС должна предоставлять пользовательский интерфейс в виде POSIX XCU совместимой командной оболочки текстового режима.
Функции ядра ОС
XBD 4.1 - Concurrent Execution - ОС должна поддерживать одновременное выполнение нескольких процессов, запускаемых пользователем либо системой
XBD 4.5 - File Hierarchy - ОС должна реализовывать иерархическую файловую систему (ФС) с возможностью соединения нескольких ФС путем точек монтирования
XBD 4.6 - Filenames
XBD 4.11 - Pathname Resolution
XBD 4.12 - Process ID Reuse
XBD 4.13 - Scheduling Policy - метод планирования задач - вытесняющая многозадачность с блокировками и ожиданием процессов
XBD 8.1 - Environment Variable Definition
XBD 10.1 - Directory Structure and Files - ОС должна предоставлять запущенным программам доступ к файловой системе, включая специальные устройства POSIX (block devices) и терминалы (character devices; режим доступа к терминалу - неканонический).
XBD 10.2 - Output Devices and Terminal Types - при выводе на экран ОС должна эмулировать поведение терминала VT-102, включая различные атрибуты символов и управление курсором
XBD 11. - General Terminal Interface - XSH 2.3 - Error Numbers
XSH 2.4 - Signal Concepts
XSH 2.5 - Standard I/O Streams
Поддержка оборудования
Ядро ОС должно быть совместимо со спецификацией Multiboot 0.6 и поддерживать загрузку при помощи загрузчика GRUB 2.
Поддержка чтения и записи файловой системы FAT32, расположенной на первом разделе накопителя, подключенного через канал ATA Primary Master.
Поддержка ввода символов с клавиатуры
Поддержка вывода текстовой информации на монитор через VESA-совместимый графический адаптер с поддержкой расширенных графических режимов (стандарт VBE 2.0).
Комплект поставки
ОС должна включать в себя оболочку командной строки и набор утилит, аналогичных GNU Coreutils, совместимых со стандартном IEEE 1003.1 XCU.
4. Проектирование
4.1 Объекты ядра
Поток - минимальная вычислительная единица. В каждый момент времени активен один поток, остальные - хранят свое последнее состояние и ожидают в очереди планировщика. Каждый поток обладает отдельным стеком, адресным пространством и ссылкой на текущий объект ожидания.
Объект ожидания - объект, описывающий причину "засыпания" потока и логику его "просыпания". Поддерживается вечное ожидание, ожидание таймаута, ожидание данных в потоке, ожидание окончания порожденного подпроцесса. операционный программный posix код
Процесс - объединяет в себе несколько потоков, набор открытых файлов, обработчиков сигналов, переменные окружения и прочую информацию.
Адресное пространство - соответствие между страницами виртуальной памяти и фреймами физической памяти. Одна и та же область физической памяти может быть "смонтирована" в разные адресные пространства по разным адресам.
Фрейм - минимальная единица физической памяти, которая может быть присоединена к адресному пространству.
Файл - представление потока данных в ядре. Существуют различные типы: файл на диске, memory stream, директория, pipe, PTY.
VFS (virtual file system, виртуальная файловая система) - ФС, объединяющая несколько реальных ФС путем монтирования.
4.2 Службы ядра
Аллокатор кучи ядра - управляет распределением памяти в куче (heap) ядра, выделяя и освобождая память по запросу других сервисов. Используется классический аллокатор Doug Lea's malloc.
Аллокатор фреймов - управляет распределением фреймов физической памяти. Используется bitmap-аллокатор.
Менеджер процессов - планирует выполнение задач, а также управляет жизненным циклом процессов.
Загрузчик ELF - выполняет разбор ELF64-файлов и загрузку кода и данных из них в память процесса.
Менеджер прерываний - управляет IDT, обработкой прерываний и IRQ, а также сохраняет состояние процессора при входе в обработчик и восстанавливает его после выхода.
Менеджер системных вызовов - выполняет диспетчеризацию системных вызовов, поступающих от приложений.
4.3 Процесс загрузки
Ядро ОС загружается загрузчиком GRUB с диска и размещается в первых 16 Мб памяти, начиная с адреса 0х100000 (1 Мб). 32-битный загрузочный код ядра сохраняет векторы прерываний реального режима, настраивает страничную адресацию первых 8 Мб и переводит процессор в 64-битный режим.
После этого начинается исполнение 64-битного С-кода.
Настраивается полноценная страничная адресация (ядро в первых 16 Мб и куча ядра в верхней половине виртуальной памяти). Инициализируется эмулятор терминала. Заполняется IDT, устанавливаются обработчики исключений, таймера PIT, клавиатуры. Включается планировщик задач, создаются поток простоя (idle thread) и поток, ответственный за перерисовку терминала.
Создается VFS, к ней подключаются корневая и прочие файловые системы (devfs, procfs). С диска загружается исполняемый файл /bin/init и запускается на выполнение в отдельном процессе.
Позже, при остановке системы, init будет выполнять остановку прочих процессов и запрос на отключение питания.
4.4 Взаимодействие ядра и программного обеспечения
Взаимодействие ядра и пользовательского программного обеспечения происходит посредством набор системных вызовов, которые реализованы, используя инструкции быстрых системных вызовов AMD64 SYSCALL и SYSRET. Шлюзовый код входа в системные вызовы, который несет ответственность за восстановление состояния процессора после системного вызова, расположен непосредственно в ядре (первые 16 Мб памяти).
Номера и сигнатуры, а также соглашения о вызове соответствуют таковым в 64-битных ядрах Linux, за счет чего достигается бинарная совместимость с этой системой.
Список реализованных системных вызовов:
0x00 sys_read - чтение файла
0x01 sys_write - запись в файл
0x02 sys_open - открытие файла
0x03 sys_close - закрытие файла
0x04 sys_stat - получение информации о файле
0x05 sys_fstat - получение информации о файловом дескрипторе
0x07 sys_poll - ожидание данных в файле
0x08 sys_lseek - перемещение текущей позиции в файле
0x09 sys_mmap - создание общей области памяти (memory map)
0x0b sys_munmap - освобождение memory map
0x0c sys_brk - запрос дополнительной памяти
0x0d sys_rt_sigaction - установка/чтение обработчика сигнала POSIX
0x0e sys_sigprocmask - установка маски сигналов POSIX
0x10 sys_ioctl - управление устройствами
0x14 sys_writev - множественная запись в файл
0x15 sys_access - проверка доступа к файлу
0x16 sys_pipe - создание pipe
0x20 sys_dup - дубликация файлового дескриптора
0x23 sys_nanosleep - ожидание
0x27 sys_getpid - получение PID текущего процесса
0x39 sys_fork - дубликация процесса
0x3b sys_execve - замена текущего процесса новым
0x3c sys_exit - выход
0x3d sys_wait4 - ожидание завершения дочернего процесса
0x3e sys_kill - отправка сигнала процессу
0x3f sys_uname - получение информации о системе
0x48 sys_fcntl - управление файловым дескриптором
0x49 sys_flock - блокировка файла
0x4a sys_fsync - сбор буфера файла
0x4f sys_getcwd - получение текущего каталога
0x50 sys_chdir - смена текущего каталога
0x52 sys_rename - переименование файла
0x57 sys_unlink - удаление файла
0x59 sys_readlink - чтение символьной ссылки
0x60 sys_gettimeofday - получение даты и времени
0x63 sys_sysinfo - получение информации о системе
0xa2 sys_sync - сброс всех файловых буферов
0xa9 sys_reboot - перезагрузка и отключение системы
0xc9 sys_time - получение времени
0xd9 sys_getdents64 - чтение каталога
5. Интерфейс пользователя
Пользователь взаимодействует с системой путем ввода текстовых команд через оболочку пользователя (shell). Используется открытая оболочка Busybox HUSH (см. рисунок 4).
Рисунок 4 - пример сессии
Оболочка поддерживает базовые возможности написания скриптов (см. рисунок 5).
Рисунок 5 - работа интерпретатора скриптов
Благодаря поддержке ACPI, питание может быть автоматически отключено при завершении работы. Init проконтролирует правильное завершение всех процессов (см. рисунок 6).
Рисунок 6 - завершение работы
Заключение
В процессе выполнения курсового проекта были изучены и проанализированы принципы построения современных операционных систем. Изучены особенности работы с 64-битным режимом процессоров Intel, взаимодействия пользовательского ПО с ядром ОС, портирования существующего ПО на новую операционную систему.
В итоге было создана операционная система, демонстрирующая основные принципы POSIX, и позволяющая запускать пользовательское ПО, а также имеющая совместимость на уровне исходного кода с любым ПО, придерживающимся спецификаций POSIX.
Список использованных материалов
1. Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3A; System Programming Guide
2. Tanenbaum A., Modern Operating Systems. 3rd ed. / Tanenbaum A. - Prentice Hall, 2014 - 1104 p.
3. Tanenbaum A., Woodhull A., Modern Operating Systems. 3rd ed. / Tanenbaum A., Woodhull A. - Prentice Hall, 2010 - 1080 p
4. OSDev [Электронный ресурс]. - Электронные данные. - Режим доступа: http://wiki.osdev.org
5. Wikipedia [Электронный ресурс]. - Электронные данные. - Режим доступа: http://ru.wikipedia.org/Операционная_система
Приложения
Приложение А
Диаграммы
Диаграмма классов файловой системы
Рисунок 7 - диаграмма классов файловой системы
Диаграмма последовательности ввода с клавиатуры
Рисунок 8 - диаграмма последовательности ввода с клавиатуры
Use-Case диаграмма
Рисунок 9 - диаграмма Use-Case приложения
В данном use-case процесс (Actor) пытается прочитать данные из файла.
Actors: Process
Поток событий: Основной поток
Начало: Use-case начинается, когда процесс начинает считывание файла. Процесс открывает файл системным вызовом sys_open(), читает его при помощи sys_read() и закрывает вызовом sys_close().
Проверка: ядро проверяет переданные через системные вызовы файловые дескрипторы и пути.
Альтернативный поток 1: Отказать в открытии. Задан неправильный путь к файлу либо файл не существует. Вернуть значение ENOFILE.
Альтернативный поток 2: Отказать в чтении. Файловый дескриптор доступен только для записи. Вернуть значение EINVAL.
Альтернативный поток 3: Отказать в закрытии. Передан неверный файловый дескриптор. Вернуть значение EBADFD.
Приложение Б
Расширенное техническое задание
Конечный продукт: 64-битная операционная система (OC) с поддержкой подмножества стандарта POSIX.1-2004 (IEEE Std 1003.1).
Предполагаемые среды выполнения: PC с архитектурой х86-64, дисковыми накопителями PATA и VESA-совместимыми графическими адаптерами с поддержкой VESA BIOS Extensions (VBE) - виртуальные машины Bochs и VirtualBox.
Необходимая функциональность
Со стороны разработчика ПО
1. Возможность разработки и сборки ПО для разрабатываемой ОС при помощи GNU GCC, и GNU Binutils; должна быть предоставлена стандартная библиотека С, реализующая требуемое подмножество системных функций POSIX.1.
2. Возможность запуска скомпилированного ПО в формате ELF64 на разрабатываемой ОС.
Функции ядра ОС
1. Реализация базовых принципов из разделов стандарта IEEE 1003.1:
- XBD 4.1 - Concurrent Execution
- ОС должна поддерживать одновременное выполнение нескольких процессов, запускаемых пользователем либо системой
- XBD 4.5 - File Hierarchy
- ОС должна реализовывать иерархическую файловую систему (ФС) с возможностью соединения нескольких ФС путем точек монтирования
- XBD 4.6 - Filenames
- XBD 4.11 - Pathname Resolution
- XBD 4.12 - Process ID Reuse
- XBD 4.13 - Scheduling Policy
- метод планирования задач - вытесняющая многозадачность с блокировками и ожиданием процессов
- XBD 8.1 - Environment Variable Definition
- XBD 10.1 - Directory Structure and Files
- ОС должна предоставлять запущенным программам доступ к файловой системе, включая специальные устройства POSIX (block devices) и терминалы (character devices; режим доступа к терминалу - неканонический).
- XBD 10.2 - Output Devices and Terminal Types
- при выводе на экран ОС должна эмулировать поведение терминала VT-102, включая различные атрибуты символов и управление курсором
- XBD 11. - General Terminal Interface
- XSH 2.3 - Error Numbers
- XSH 2.4 - Signal Concepts
- XSH 2.5 - Standard I/O Streams
Комплект поставки
- ОС должна включать в себя оболочку командной строки и набор утилит, аналогичных GNU Coreutils, совместимых со стандартном IEEE 1003.1 XCU.
Приложение В
Использованные сокращения
- ОС - операционная система
- ФС - файловая система
- POSIX - Portable Operating System Interface
- IEEE - Institute of Electrical and Electronics Engineers
- PC - personal computer
- BIOS - basic input/output system
- VESA - Video Electronics Standards Association
- VBE - VESA BIOS Extensions
- PATA - Parallel AT Attachment
- ELF64 - Executable & Linkable Format, 64-bit
- FAT32 - File Allocation Table, 32-bit
- GCC - GNU C Compiler
- XBD - POSIX Base Definitions Volume
- XSH - POSIX System Interfaces Volume
- XCU - POSIX Shell and Utilities Volume
Размещено на Allbest.ru
...Подобные документы
Основные моменты истории операционных систем, связывающих аппаратное обеспечение и прикладные программы. Характеристика операционной системы Microsoft Windows Seven, анализ операционной системы Linux. Преимущества и недостатки каждой операционной системы.
курсовая работа [63,0 K], добавлен 07.05.2011Разграничение прав пользователя в операционной системе. Предварительная настройка операционной системы с последующей установкой драйверов для периферийных устройств и системных комплектующих. Классификация операционных систем и периферийных устройств.
реферат [2,1 M], добавлен 26.10.2022Использование номеров индексных дескрипторов для обозначения файлов в программах для системных администраторов в операционной системе UNIX. Описание индексного дескриптора в POSIX. Адрес индексного дескриптора в записи директории, относящейся к файлу.
контрольная работа [31,7 K], добавлен 18.06.2014Понятие операционной системы. История ее создания и развития. Разновидности современных операционных систем. Основные функции ОС общего и специального назначения. Вычислительные и операционные системы, их функции. Генерация операционной системы.
курсовая работа [46,8 K], добавлен 18.06.2009Основные понятия операционных систем. Современное оборудование компьютера. Преимущества и недостатки операционной системы Linux. Функциональные возможности операционной системы Knoppix. Сравнительная характеристика операционных систем Linux и Knoppix.
реферат [1,5 M], добавлен 17.12.2014Важность операционной системы для мобильных устройств. Популярность операционных систем. Доля LINUX на рынке операционных систем. История OS Symbian, BlackBerry OS, Palm OS. Отличия смартфона от обычного мобильного телефона. Учет ограничений по памяти.
презентация [477,3 K], добавлен 01.12.2015Анализ серверных операционных систем на базе ядра Linux. Подходы к построению маршрутизации и оценка полученных результатов. Установка операционной системы CentOS 6.6 и закономерности ее настройки. Принципы и основные этапы тестирования созданного шлюза.
курсовая работа [2,9 M], добавлен 19.11.2015Основные понятия об операционных системах. Виды современных операционных систем. История развития операционных систем семейства Windows. Характеристики операционных систем семейства Windows. Новые функциональные возможности операционной системы Windows 7.
курсовая работа [60,1 K], добавлен 18.02.2012Использование операционных систем Microsoft Windows. Разработка операционной системы Windows 1.0. Возможности и характеристика последующих версий. Выпуск пользовательских операционных систем компании, доработки и нововведения, версии Windows XP и Vista.
реферат [23,3 K], добавлен 10.01.2012Изучение особенностей операционной системы, набора программ, контролирующих работу прикладных программ и системных приложений. Описания архитектуры и программного обеспечения современных операционных систем. Достоинства языка программирования Ассемблер.
презентация [1,3 M], добавлен 22.04.2014Создание средств представления процессов и механизмов управления на уровне диспетчеризации, разработка алгоритма и написание программы, имитирующую работу простейшей операционной системы. Формирование дескриптора, ввод информации, интерфейс программы.
лабораторная работа [1,1 M], добавлен 09.07.2010История разработки многозадачной операционной системы POSIX-стандарта - FreeBSD; описание ее виртуальной памяти, файловой системы, уровня защиты. Описание основных средств синхронизации процессов - сигналов и семафоров. Способы блокировки файлов.
презентация [584,2 K], добавлен 02.06.2011Изучение общих понятий операционной системы Android, разработанной для коммуникаторов, планшетных компьютеров, основанной на ядре Linux. Разработка программного обеспечения Android. Преимущества и недостатки мобильной операционной системы Windows Mobile.
реферат [60,6 K], добавлен 16.04.2012Концепция операционных систем: главное назначение, основные функции и типы. Характеристика и оценка возможностей Microsoft Windows и Linux. Подбор операционной системы для рабочих персональных компьютеров и для сервера на предприятии ООО "Газ-сервес".
дипломная работа [272,3 K], добавлен 16.06.2012Понятие операционной системы и ее расположения в общей структуре компьютера. Классификация операционных систем, их основные функции. Понятие вычислительного процесса и ресурса. Электронная таблица Excel. Назначение и возможности электронной таблицы.
шпаргалка [294,2 K], добавлен 14.06.2010Программное обеспечение компьютера: понятие и содержание, классификация и типы. Назначение и особенности структуры операционной системы, ее формы. Файлы и файловая система. Принципы действия вирусов и антивирусных программ. Системы программирования.
курсовая работа [199,1 K], добавлен 15.02.2012Изучение модели операционной системы. Понятие и общая характеристика тупиков, алгоритм их обработки и предотвращения. Рассмотрение примеры графа распределения ресурсов с тупиком и с циклом без него. Правила восстановления ресурсов на выходе из системы.
презентация [1,3 M], добавлен 24.01.2014Характеристика работы операционной системы Android, используемой для мобильных телефонов. Создание Android проекта в среда разработки Eclipse. Общая структура и функции файла манифест. Компоненты Android приложения. Способы осуществления разметки.
курсовая работа [1,0 M], добавлен 15.11.2012Операционная система: назначение и классификация. Общая характеристика и основные механизмы операционной системы Windows. Средства подготовки текстовых документов в Windows. Понятие самораспаковывающегося и многотомного архивов, файловой системы.
реферат [20,0 K], добавлен 05.10.2011Системное и прикладное программное обеспечение. Выполнение программ, хранение данных и взаимодействие пользователя с компьютером. Возможности операционных систем. Системы технического обслуживания. Системы обработки электронных таблиц и текста.
презентация [15,9 K], добавлен 06.01.2014