1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/zpxuzhen-hit-oslab-linux

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

hit-oslab-linux

Описание

Изучение курса "Операционные системы" профессора ХЭУ Ли Чжиюня
Видео-курс на Bilibili: https://www.bilibili.com/video/BV1d4411v7u7 Требования к курсу: после завершения курса вы сможете написать простую операционную систему и понимать, что происходит внутри операционной системы.

Требования к окружению

  • Проект может работать на 64-битных системах Ubuntu 16.04 и Ubuntu 18.04, Ubuntu 20.04 не тестировался.
  • Для 32-битных систем Ubuntu (i386) или 64-битных систем Ubuntu версии <= 14.04, обратитесь к: https://github.com/DeathKing/hit-oslab
  • Также можно использовать "Ланьцзяо", где есть готовая к использованию среда, ссылка: https://www.lanqiao.cn/courses/115

Инструкции по установке

Используйте ветку -b start, чтобы получить проект без последующих экспериментальных директорий.

git clone https://gitee.com/zpxuzhen/hit-oslab-linux.git -b start
cd hit-oslab-linux
./start/setup.sh -s
# При первом запуске нужно добавить параметр -s для установки окружения, в последующих запусках этот параметр можно опустить.

После установки в проекте появится директория oslab, где будут находиться среда выполнения и исходный код linux-0.11. Если установка прошла успешно, будет запущено и скомпилировано linux-0.11.

Инструкции по использованию

Сначала перейдите в директорию oslab, затем выполните следующие команды:

Команда для компиляции linux-0.11: cd linux-0.11 && make
Команда для запуска linux-0.11: ./run
Команда для восстановления директории linux-0.11: ./run init
```Шаги для отладки:
 [1] Откройте одно окно и выполните
 	./dbg-c
 [2] Откройте другое окно и выполните [не рекомендуется, лучше перейти к шагу 3]
 	./rungdb
 [3] Также можно использовать Visual Studio Code, тогда команда ./rungdb не понадобится.
 Откройте директорию oslab в Visual Studio Code, установите плагин C/C++.
 Я уже добавил файл конфигурации отладки .vscode/launch.json в директорию oslab.
 Для начала отладки нажмите F5.

Содержание лабораторных работ

Лабораторная работа 1: Загрузка операционной системы Лабораторная работа 2: Системные вызовы Лабораторная работа 3: Отслеживание и статистика процессов Лабораторная работа 4: Переключение процессов с использованием стека ядра Лабораторная работа 5: Реализация и применение семафоров Лабораторная работа 6: Адресное отображение и совместное использование Лабораторная работа 7: Управление терминальными устройствами Лабораторная работа 8: Реализация файловой системы proc Краткое описание лабораторных работ Лабораторные работы 1-2 охватывают границы операционной системы (загрузка + вызовы интерфейсов). С третьей лабораторной работы начинается изучение внутренней структуры операционной системы, которая включает в себя "многопоточность" и "файловую систему".И множественный процессный вид является самым базовым ядром операционной системы, а файловый вид предназначен для управления всеми внешними устройствами, кроме процессора и памяти. 【1】Множественный процессный вид (управление процессором, управление памятью) 【2】Файловый вид (управление вводом-выводом, управление дисками) В более продвинутых операционных системах также включаются: управление сетью, управление питанием, управление многоядерными процессорами. Дополнительные эксперименты: В проекте "Основы операционных систем, их реализация и практика" представлены крупные практические проекты: Крупный практический проект 1 — дизайн и реализация ядерных потоков Крупный практический проект 2 — дизайн и реализация виртуальной памяти и обменных разделов Крупный практический проект 3 — реализация драйвера мыши и простого графического интерфейса Крупный практический проект 4 — дизайн и реализация драйвера сетевой карты и сетевых протоколов #### Ссылки: https://www.lanqiao.cn/courses/115 https://hoverwinter.gitbooks.io/hit-oslab-manual/content/index.html "Полное объяснение Linux-ядра" версия ядра 0.11 автор: Zhao Jiong OldLinux: http://www.oldlinux.org/ Официальная версия Linux: https://mirrors.edge.kernel.org/pub/linux/kernel/

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Изучение курса "Операционные системы" от профессора ХЭУ Ли Чжуньджина Видео для изучения на Bilibili: https://www.bilibili.com/video/BV1d4411v7u7 Требования к курсу: после завершения курса студент должен быть способен самостоятельно написать простую операционную систему и понимать, что происходит внутри операционной системы. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/zpxuzhen-hit-oslab-linux.git
git@api.gitlife.ru:oschina-mirror/zpxuzhen-hit-oslab-linux.git
oschina-mirror
zpxuzhen-hit-oslab-linux
zpxuzhen-hit-oslab-linux
master