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

OSCHINA-MIRROR/misiyu-ucore_lab

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

Введение (2015)

ucore OS — это операционная система, которая используется в качестве учебного пособия для курса операционных систем бакалавриата факультета компьютерных наук Университета Цинхуа.

ucore OS берёт своё начало из разработок xv6&jos, выполненных группой MIT CSAIL PDOS, операционной системы OS161, разработанной в Гарварде, и ядра Linux-2.4.

Код xv6&jos в ucore OS принадлежит Франсу Каашуку, Роберту Моррису и Русу Коксу и лицензирован по лицензии MIT. Код OS/161 в ucore OS принадлежит Дэвиду А. Холланду. Остальной код принадлежит Чен Ю, Ван Найжену и Сян Юнцзе и использует лицензию GPL. Документы, связанные с ucore OS, принадлежат Чен Ю и Сян Юнцзе и используют лицензию Creative Commons Attribution/Share-Alike (CC-BY-SA).

Общий процесс эксперимента

  1. Просмотрите принципы ОС и видео labX на TsinghuaX.
  2. Прочитайте руководство по эксперименту на gitbook.
  3. Завершите эксперимент в среде эксперимента и отправьте его на git server (студенты Цинхуа должны отправлять на внутренний git сервер, другие студенты могут отправлять на другие git сервера).
  4. Если у вас возникли проблемы во время эксперимента, поищите ответы на онлайн-курсе вопросов и ответов.
  5. Если вы не нашли ответа, вы можете задать вопрос на платформе онлайн-курса вопросов и ответов и общения (QQ группа 181873534 в основном используется для общего обмена информацией о курсе ОС).
  6. Вы также можете выполнить упражнения, связанные с экспериментом, на TsinghuaX или на странице упражнений по операционным системам.

Содержание эксперимента

  • Руководство по эксперименту: Руководство по эксперименту gitbook

  • Темы экспериментов:

    • Эксперимент 0: настройка среды, знакомство с основными командами и инструментами Linux.
    • Эксперимент 1: запуск операционной системы.
    • Эксперимент 2: управление физической памятью.
    • Эксперимент 3: управление виртуальной памятью.
    • Эксперимент 4: потоки ядра.
    • Эксперимент 5: процессы пользователя.
    • Эксперимент 6: планирование процессора.
    • Эксперимент 7: синхронизация и взаимное исключение.
    • Эксперимент 8: файловая система.
  • Среда эксперимента: ucore OS в основном разрабатывается в среде Linux. Если вы используете другую среду, рекомендуется использовать следующие методы:

    • Windows с использованием MingW для экспериментов:

      • Настройка среды ucore для экспериментов в Windows: этот метод не требует установки Linux, спасибо за предоставленное руководство по настройке от «Спустись и заблокируй».
    • Windows с использованием VirtualBox или VMWare для экспериментов:

      1. Установите программное обеспечение VirtualBox или VMWare.
      • VirtualBox: https://www.virtualbox.org/.
      • Также можно установить программное обеспечение VMWare.
      1. Используйте предварительно установленный диск с программным обеспечением для виртуальной машины.
      1. Распакуйте файл сжатия с помощью программного обеспечения haozip for windows. После распаковки вы получите следующие файлы (около 4 ГБ):

        • \mooc-os\mooc-os.vbox
        • \mooc-os\mooc-os.vbox-prev
        • \mooc-os\mooc-os.vdi
      2. Если вы уже установили VirtualBox, дважды щелкните файл «mooc-os.vbox» в диспетчере ресурсов Windows, чтобы запустить Ubuntu 14.04 x86-64 на виртуальной машине VirtualBox и начать изучать эксперименты ucore.

        • Имя пользователя: moocos
        • Пароль: <пробел>
    • Вручную установите Ubuntu 14.04 и программное обеспечение для экспериментов на VirtualBox (предполагается, что это система Ubuntu14.04 x86-64):

      1. Загрузите образ диска Ubuntu 14.04 img и установите систему в VirtualBox.
      • Рекомендуется установить размер виртуального жесткого диска более 8 ГБ и размер виртуальной памяти более 512 МБ.
      • Если ваша машина работает под управлением 32-разрядной версии Windows, загрузите 32-разрядный образ диска img Ubuntu 14.04.
      1. Установите необходимое программное обеспечение в системе Ubuntu:
        • В командной строке (например, gnome-terminal) выполните следующие команды для установки необходимого программного обеспечения («$» — это приглашение оболочки, вводить его не нужно):
          • $ sudo apt-get update
          • $ sudo apt-get upgrade
          • $ sudo apt-get install build-essential git qemu-system-x86 vim-gnome gdb cgdb eclipse-cdt make diffutils exuberant-ctags tmux openssh-server cscope meld
    • Минимальные необходимые пакеты: build-essential, git, qemu-system-x86, gdb, make, diffutils.

Процесс экспериментальных упражнений

Войдите в Ubuntu, запущенную в VirtualBox, и нажмите значок gnome-terminal, чтобы открыть программное обеспечение gnome-terminal. Затем выполните следующие команды:

  1. В текущей среде уже есть исходный код ucore lab, вы можете получить последнюю версию исходного кода ucore lab:

    • cd moocos/ucore_lab # перейти в каталог ucore_lab
    • git pull # получить последний исходный код ucore lab
    • cd
  2. Изучите исходный код.

    • cd labX # X представляет собой 1–8
  3. Прочитайте, измените исходный код, вы можете использовать программное обеспечение eclipse-cdt, understand, gedit или vim.

    • eclipse OR
    • understand
  4. После завершения модификации скомпилируйте код эксперимента.

    • make
  5. Если компиляция прошла успешно, вы можете запустить тест.

    • make qemu
  6. Если вам нужно отладить, вы можете выбрать один из следующих методов: a. На основе символьного режима cgdb (возьмем lab1_ans в качестве примера): * cd labcodes_answer/lab1_ans * make debug

     Вы увидите два окна: одно — qemu, другое — cgdb. Вы увидите, что он остановился в функции bootmain загрузчика. Затем вы можете продолжить отладку в cgdb с помощью команд gdb.
     * (gdb)file bin/kernel # загрузить информацию о символах ядра ucore
     * (gdb)break kern_init # установить точку останова в функции kern_init (адрес 0x100000)
     * (gdb)continue # продолжить выполнение
    
     На этом этапе вы увидите остановку в функции kern_init, после чего вы сможете продолжить отладку.

    b. Отладка на основе представления отладки eclipse-CDT, если установлен плагин zylin debug, то после начальной настройки вы также можете легко выполнять отладку.

  7. Выполните следующую команду, чтобы увидеть свой балл.

    • make grade

Дополнительная информация

  • Главные преподаватели курса операционной системы бакалавриата факультета компьютерных наук Университета Цинхуа:

    • Сян Юнцзе
    • Чен Ю
  • Разработчики и сопровождающие:

    • Чен Ю yuchen AT tsinghua.edu.cn
    • Мао Цзюньцзе eternal.n08 AT gmail.com
  • Преподаватели-ассистенты:

    • Мао Цзюньцзе
    • Хэ Цзяцюань
    • Цао Жуйдун
    • У Сянцзинь
    • Синь Юньсин
    • Лю Конг
    • Чан Куи
  • Поддержка учебной платформы:

    • Чжан Юй
    • Го Сюй
  • WIKI:

  • TsinghuaX:

  • Онлайн-общение:

    • QQ группа 181873534 используется в основном для обмена информацией об общем курсе ОС. Курс по операционным системам

Общая информация о курсе

-Курс по операционным системам

Студенты, которые хотят изучить основные концепции и принципы операционных систем

. Материалы курса по ОС . Открытый курс по ОС (часть по принципам)

Студенты, которым интересны детали проектирования и реализации ОС

. Экспериментальные материалы по ОС . Код для экспериментов по ОС . Открытый курс по ОС (экспериментальная часть)

Студенты, желающие самостоятельно практиковаться в создании ОС

. "Простая реализация операционной системы и основные принципы — на основе ucore" (постоянно обновляется, изменения значительные) . "Простая реализация операционной системы и основные принципы — на основе ucore", код . ucore plus — ucore OS для разных аппаратных платформ

Участники проекта UCORERS (разработчики)

Мао Цзюньцзе, Чэнь Юйхэн, Лю Конг, Ян Ян, Би Цзюнь, Жэнь Шэнвэй, Чжу Вэньлэй, Цао Чжэн, Шэнь Тун, Чэнь Сюй, Лань Чэн, Фан Юйцзянь, Хан Вэньтао, Чжан Кайчэн, S Гоу Сяолинь, Сюэ Тяньфань, Ху Ган, Лю Чао, Су Ю, Юань Синь, ...

ВНИМАНИЕ

Если вы обнаружили проблему или у вас есть хорошие предложения или комментарии, пожалуйста, отправьте электронное письмо на адрес yuchen AT tsinghua.edu.cn; если вы завершили эти 8 экспериментов и заинтересованы в дальнейшем изучении, исследовании и разработке операционных систем, пожалуйста, также отправьте электронное письмо на адрес yuchen AT tsinghua.edu.cn. Мы приглашаем вас присоединиться к нашей группе по интересам в области операционных систем и вместе двигаться вперёд!

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

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

Введение

UCore OS — это учебный экспериментальный материал по операционным системам для курса бакалавриата факультета компьютерных наук Университета Цинхуа. Развернуть Свернуть
GPL-2.0
Отмена

Обновления

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

Участники

все

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

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