maxbarsukov-itmo/6 свв/лабораторные/lab1/README.md
2025-04-25 16:37:06 +03:00

5.1 KiB
Raw Blame History

Лабораторная работа №1

Вариант 1

is-it-wrong-to-try-to-pick-up-girls-in-a-dungeon
.pdf .docx
report report

Задание

«Принципы организации ввода/вывода без операционной системы»

Задание ЛР Презентация
docs/lab1_task.pdf docs/lab1_slides.pdf

Цель работы: Познакомится с принципами организации ввода/выводе без операционной системы на примере компьютерной системы на базе процессора с архитектурой RISC-V и интерфейсом OpenSBI с использованием эмулятора QEMU.

  1. Реализовать функцию putchar вывода данных в консоль.
  2. Реализовать функцию getchar для получения данных из консоли.
  3. На базе реализованных функций putchar и getchar написать программу, позволяющую вызывать определенным вариантом функции OpenSBI посредством взаимодействия пользователя через меню.
  4. Запустить программу и выполнить вызов пунктов меню, получив результаты их работы.
  5. Оформить отчет по работе в электронном формате.

Требования к отчету

  1. На титульном листе должны быть приведены следующие данные:
    • Название дисциплины
    • Номер и название лабораторной работы
    • ФИО исполнителя и группа
  2. Во введении указываются цели и задачи работы
  3. В основной части приводится описание функций putchar, getchar, а также описывается интерфейс вызова функций OpenSBI, заданных вариантом задания
  4. Приводится скриншот вывода в консоль данных при вызове каждого пункта меню.

Варианты

Tip

Каждый пункт меню из задания описан в документации riscv-sbi.pdf и ищется по тексту задания.

№ варианта Пункты меню
1 1. Get SBI specification version
2. Get number of counters
3. Get details of a counter (должно быть возможно задавать номер счетчика)
4. System Shutdown
2 1. Get SBI implementation version
2. Hart get status (должно быть возможно задавать номер ядра)
3. Hart stop
4. System Shutdown

Полезные ссылки

Tip

Ctrl+A, помимо переключения на монитор QEMU (клавиша C), имеет ещё несколько функций. Например, нажатие X приведёт к выходу из QEMU.

Ссылка Описание
docs/riscv-abi.pdf RISC-V ABIs Specification
docs/riscv-sbi.pdf RISC-V Supervisor Binary Interface Specification
docs/riscv-spec.pdf The RISC-V Instruction Set Manual. Volume I: Unprivileged ISA
operating-system-in-1000-lines.vercel.app Operating System in 1,000 Lines
habr.com/ru/articles/874154 Операционная система в 1 000 строках кода (перевод)
qemu.org/docs/master/system/riscv/virt.html Документация по QEMU RISCV32 по системе virt
qemu.org/docs/master/system/mux-chardev.html QEMU Keys in the character backend multiplexer
github.com/riscv-non-isa/riscv-sbi-doc Спецификация OpenSBI
github.com/Imtjl/io-systems/opensbi-console-menu Выполнение 2-го варианта ЛР1

Лицензия

Проект доступен с открытым исходным кодом на условиях Лицензии GNU GPL 3.
Авторские права 2025 Max Barsukov

Поставьте звезду , если вы нашли этот проект полезным.