mirror of
https://github.com/maxbarsukov/itmo.git
synced 2026-09-12 19:19:57 +05:00
5.1 KiB
5.1 KiB
Лабораторная работа №1
Вариант 1
| .docx | |
|---|---|
| report | report |
Задание
«Принципы организации ввода/вывода без операционной системы»
| Задание ЛР | Презентация |
|---|---|
| docs/lab1_task.pdf | docs/lab1_slides.pdf |
Цель работы: Познакомится с принципами организации ввода/выводе без операционной системы на примере компьютерной системы на базе процессора с архитектурой RISC-V и интерфейсом OpenSBI с использованием эмулятора QEMU.
- Реализовать функцию
putcharвывода данных в консоль. - Реализовать функцию
getcharдля получения данных из консоли. - На базе реализованных функций
putcharиgetcharнаписать программу, позволяющую вызывать определенным вариантом функции OpenSBI посредством взаимодействия пользователя через меню. - Запустить программу и выполнить вызов пунктов меню, получив результаты их работы.
- Оформить отчет по работе в электронном формате.
Требования к отчету
- На титульном листе должны быть приведены следующие данные:
- Название дисциплины
- Номер и название лабораторной работы
- ФИО исполнителя и группа
- Во введении указываются цели и задачи работы
- В основной части приводится описание функций
putchar,getchar, а также описывается интерфейс вызова функций OpenSBI, заданных вариантом задания - Приводится скриншот вывода в консоль данных при вызове каждого пункта меню.
Варианты
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
Поставьте звезду ⭐, если вы нашли этот проект полезным.