XDU-OS-Course-Design
Из-за воздействия COVID-19, класс операционной системы должен проводиться дома. Согласно соглашению, его следует выполнять в компьютерной комнате, потому что компьютерная комната была смягчена студентами и должна быть относительно стабильной, а компьютерная комната, как правило, в большей степени соответствует программному обеспечению, предоставляемому учителем.
Тем не менее, кто -то завершил этот настройка курса дома, используя VMware15 и Ubuntu18.04, которые он уже установил, что было серьезно несовместимо с версией видео. Он наступил на бесчисленные ошибки и переустановил их более десяти раз. Теперь я использую свой болезненный опыт, чтобы заполнить дыру для всех.
В момент ошибки работы начните еще один день . Перед экспериментом $ k $, пожалуйста, поместите эксперимент $ i $ ( $ forall i, i leqlant k $ ) Прочитайте все гиды.
Предварительный эксперимент и меры предосторожности!
Есть несколько небольших экспериментов перед формальным экспериментом. Вот некоторые меры предосторожности. Если вы не сталкиваетесь с этим, это не означает, что вы не столкнетесь с этим в последующих экспериментах:
- Память 2-4G (если компьютер часто включается, рекомендуется ядро для черного экрана, ядро загружает черный экран), 4-6 ядер, не менее 35 г для жесткого диска (эксперты не могут иметь 35 г), режим сетевого моста;
- VMware использует версии 14 и 15, а версии Ubuntu 18+ могут постоянно двигаться вперед. Приведенный выше файл содержит зеркало Ubuntu , и VMware может загрузить его само по себе;
- Установка VMware Tools, вероятно, не будет работать, пожалуйста, нажмите на предыдущую статью, чтобы справиться с ней;
- Инструменты VMware Инструменты перетаскивания могут застрять . Пожалуйста, перезапустите процесс убийства. Повторяйте n раз, и вы всегда получите успех один раз. Не забудьте написать скриншот в отчет.
- Как передавать файлы, когда инструменты VMware часто застряли? Дядя Вэнь пойдет туда;
- VMware медленно находится в «внутри стены» и, пожалуйста, сохраните себя.
Место за пределами закона Скорость загрузки трогает, и машина может ввести Место за пределами закона Обратитесь к предыдущей статье; - Восстановление виртуальной машины по ошибке: строка меню -> Файл -> Сканировать виртуальную машину (сканирование в пути установки вашей оригинальной виртуальной машины);
- Если жесткий диск недостаточно большой, см. Виртуальную машину VMware расширяет пространство диска системы Ubuntu.
Почему бы не использовать школьную версию ?
- Ваша компьютерная среда! = Компьютерная среда школы;
- Версии программного обеспечения и ядра, предоставленные школой, чрезвычайно старые, и нет никаких гарантий каких -либо проблем;
- Если вы используете частично школьные версии, частично не школьные версии обычно заставляют вас в ярости и трудно подавлять ваши эмоции.
Компиляция ядра LAB1
Советы:
Не компилируйте ядро, предоставленное школой. Загрузите последний из официального веб -сайта или используйте его, предоставленную мной в папке «Компиляция ядра LAB1» (в противном случае в версии GCC будут несоответствия, ошибки компиляции и т. Д.). Настоятельно рекомендуется выбрать 4 версию (не будет слишком много ошибок по сравнению с более низкой версией, и преимущества по сравнению с 5 версией отражены во втором эксперименте);
Рекомендуется сначала посмотреть школьное видео, понять шаги, а затем обратиться к ядру версии CSDN Tutorial 4 и ядро версии CSDN Tutorial 5, чтобы завершить компиляцию ядра;
Чтобы собрать 5 версий под Ubuntu в окружающей среде 18.04:
sudo apt-get install gcc make libncurses5-dev openssl libssl-dev
sudo apt-get install build-essential
sudo apt-get install pkg-config
sudo apt-get install libc6-dev
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install libelf-dev
- Инструмент по повышению эффективности : многопоточный компиляция (при условии, что у вас есть несколько ядер при настройке), пожалуйста, сделайте это при создании (если записаны 4 ядра -J4, если x ядра написаны -Jy, где y≤x):
- Почему вы не видите опцию, когда вы запускаете компьютер: следуйте операции «. Lab1 ядра», найдите «/и т. Д./По умолчанию», введите Grub и подсчитайте 7 -ю строку сверху вниз GRUB_TIMEOUT_STYLE = скрыта с # аннотацией.
- Почему компилируют разные ядра?
- Трудно завершить полную работу школы. Различные версии ядра имеют бонусные баллы, а новая версия ядра проста.
LAB2 Системный вызов
Советы:
- Настоятельно рекомендуется использовать ядро 4 -й версии для компиляции, потому что модификации кода системного вызова более высокой версии различны, в то время как существует несколько учебных пособий для 5 -й версии;
- После просмотра школьного видео, посмотрите системный вызов, добавленный на Ubuntu 18.04.
LAB3 модуль ядра
Есть две части этого эксперимента. Первый заключается в том, что сказал учитель, а главный - второй.
Самым большим преимуществом этого эксперимента является то, что нет необходимости компилировать ядро;
Обратитесь к двум методам добавления системных вызовов в рамках Linux/Ubuntu18.04 (метод компиляции ядра | Добавление модуля) и [с использованием метода модуля ядра для добавления простых системных вызовов;
ПРИМЕЧАНИЕ. Сначала следите за подсказками блога, чтобы найти доступный номер системного вызова, посмотрите на адрес таблицы системных вызовов через команду, данную в блоге (если есть несколько адресов таблицы, посмотрите на наиболее нормальное имя) и обязательно измените код блога на основе кода блога, работающего первым.
Драйвер устройства LAB4
- Важно понять, что сказал учитель перед началом;
- Ошибка unlocked_ioctl (ошибка предупреждения-это ошибка), Int-> Long, см. Функции ioctl и unlock_ioctl для обсуждения;
- Если таблица параметров функции пуста, не забудьте написать void, иногда она также сообщает об ошибке;
- Я предоставил соответствующий исходный код только для справки . Он включает в себя информацию, такую как имя и номер студента, и имена переменных являются совершенно особенными, поэтому я должен написать ее с учителем;
- LAB4 - это тестовый код, а также для справки .