Помощь в написании студенческих работ
Антистрессовый сервис

Взаимодействие ядра и программного обеспечения

РефератПомощь в написанииУзнать стоимостьмоей работы

Рисунок 6 — завершение работы. X39 sys_fork — дубликация процесса. X0b sys_munmap — освобождение memory map. Xd9 sys_getdents64 — чтение каталога. Xc9 sys_time — получение времени. X4a sys_fsync — сбор буфера файла. X49 sys_flock — блокировка файла. X57 sys_unlink — удаление файла. X03 sys_close — закрытие файла. X02 sys_open — открытие файла. X01 sys_write — запись в файл. X00 sys_read — чтение… Читать ещё >

Взаимодействие ядра и программного обеспечения (реферат, курсовая, диплом, контрольная)

Взаимодействие ядра и пользовательского программного обеспечения происходит посредством набор системных вызовов, которые реализованы, используя инструкции быстрых системных вызовов 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 — завершение работы.

Показать весь текст
Заполнить форму текущей работой