Получите клавиатуру Kinesis Essential. Клавиши раскладываются лучше для быстрого набора текста.
Уровень виртуальной файловой системы абсолютно необходим для любого класса операционной системы Linux.
Я ходил на аналогичный курс в колледже. Самым разочаровывающим, но в то же время полезным проектом было написание небольшой файловой системы для операционной системы Linux. На то, чтобы это заработало, уходит ~ 2-3 недели на группу из 4 человек и действительно учит вас основам ядра.
Для лабораторий одна вещь, которая может быть крутой, - это показать им реальный код и обсудить его, задать вопросы о том, что, по их мнению, делается таким образом, а не иначе, и т. Д.
Если бы я снова был в университете, я, безусловно, был бы признателен за более глубокие уроки о примитивах синхронизации, параллелизме и так далее ... это сложные вопросы, к которым труднее подойти без надлежащего руководства. Помню, я был на выступлении Пола «Расти» Рассела о спин-блокировках и других примитивах синхронизации, который был абсолютно крутым, может быть, вы могли бы найти его на YouTube и позаимствовать некоторые идеи.
Недавно я прошел курс по операционным системам и обнаружил, что проекты сложны, но необходимы для понимания концепций в классе. Проекты также были забавными, поскольку в них участвовали мы , фактически работавшие с исходным кодом Linux (версия 2.6.12 или около того).
Вот список некоторых довольно хороших проектов / концепций, которые, на мой взгляд, должны быть включены в любой класс операционных систем:
fork ()
, exec ()
и т. д.) fork ()
и exec ()
Ну, я только что закончил свой курс ОС в этом семестре, поэтому подумал, что присоединюсь.
Я был немного расстроен тем, что мы фактически не поигрались с самой ОС мы просто занимались системным программированием. Я бы порекомендовал провести лабораторные работы над чем-то, что есть в самой ОС, и это похоже на то, что вы хотите сделать.
Одна лабораторная работа, которая мне понравилась и показалась мне полезной, заключалась в написании наших собственных процедур malloc / free . Это было сложно, но в то же время довольно занимательно.
Может быть, я также расскажу о загрузке программ в память и / или настройке диспетчера памяти (например, подкачки страниц).
Мой список :
В в конце просто заставьте их пройти через современные операционные системы tanenbaum , а также провести тематические исследования некоторых других ядер, таких как установка микроядра Mach / Hurd и, возможно, некоторые распределенные и экзоядные вещи.
Дайте широкий взгляд на прошлое Linux. Я также интересуюсь
Для тех, кто очень увлечен , история операционных систем и их причины.
Я мог бы продолжить ...В конце концов, просто получите их изучить современные операционные системы Таненбаума , а также провести тематические исследования некоторых других ядер, таких как установка микроядра Mach / Hurd и, возможно, некоторых распределенных и экзоядерных вещей.
Также я хочу дать более широкий взгляд на Linux, я размышляю
Для тех, кто супергики , история операционных систем и почему они такие, какие есть.
Я мог бы продолжить ...В конце концов, просто получите их изучить современные операционные системы Таненбаума , а также провести тематические исследования некоторых других ядер, таких как установка микроядра Mach / Hurd и, возможно, некоторых распределенных и экзоядерных вещей.
Также я хочу дать более широкий взгляд на Linux, я размышляю
Для тех, кто супергики , история операционных систем и почему они такие, какие есть.
s современные операционные системы , а также проведу тематические исследования некоторых других ядер, таких как установка микроядра Mach / Hurd и, возможно, некоторых распределенных и экзоядерных вещей.Я также хочу дать более широкий взгляд на прошлое Linux, я думаю
Для тех, кто super geeky , история операционных систем и почему они такие, какие есть.
s современные операционные системы , а также проведу тематические исследования некоторых других ядер, таких как установка микроядра Mach / Hurd и, возможно, некоторых распределенных и экзоядерных вещей.Я также хочу дать более широкий взгляд на прошлое Linux, я думаю
Для тех, кто super geeky , история операционных систем и почему они такие, какие есть.
Весной я только что взял класс, который идеально подходит под ваше описание (Дизайн ОС с использованием Linux). На самом деле я был очень расстроен этим, потому что мне казалось, что учитель слишком узко сосредоточился на проектах, а не дал более широкое понимание. Например, наш последний проект вращался вокруг фьютексов. Мой партнер и я едва узнали, что они из себя представляли, заставили это работать (вроде как), а затем сдали. Я ушел, не имея общих знаний о чем-либо на самом деле из этого проекта. Я бы хотел, чтобы в одном из проектов было написание простого драйвера устройства или чего-то в этом роде.
Другими словами, я думаю, что было бы хорошо представить хороший широкий обзор с максимально подробным описанием, которое вы можете себе позволить, но в конечном итоге широкий. Я чувствовал, что мой учитель придирки к этим крошечным областям и заставил нас сосредоточиться на них, хотя, в конце концов, я НЕ ушел с таким прекрасным общим пониманием внутренней работы Linux.
Еще одна вещь, которую я хотел бы отметить, - это то, почему я не сохранил знания из класса. неорганизованность. В каждую неделю темы появлялись из ниоткуда, а дорожной карты не было. Придайте материалу логическую последовательность. Психическая организация - ключ к сохранению знаний.
Еще одна хорошая тема (или, возможно, упражнение для студентов) - виртуализация. Особенно "lguest" Расти Рассела, который разработан как простое введение в то, что требуется для виртуализации операционной системы. Документы тоже хорошо читаются.
Сетевая подсистема также весьма интересна. Вы можете проследить за пакетом, когда он идет от системного вызова сокета к проводу и наоборот.
Забавные назначения могут быть такими:
Ввод-вывод с отображением памяти и разделение 1g / 3g против 2g / 2g между адресным пространством ядра и адресуемым пространством пользователя в 32-битных операционных системах.
Ограничения 32-битной архитектуры на размер жесткого диска и что это означает для проектирования файловых систем.
Фактически, просто все плюсы и минусы перехода на 64-битную версию, что это означает и почему, а также история и почему еще не описаны.