Вопросы по теме 'xv6'

Shell, кажется, распознает команды, но не выполняет их
Я пытаюсь реализовать базовое выполнение команд в программе оболочки для unix-подобной ОС xv6. Часть кода оболочки, которую я редактирую, — это функция runcmd, в которой я использую команду execvp для выполнения команд, используемых в терминале....
1689 просмотров
schedule 30.01.2023

xv6 KERNBASE ограничение памяти процесса
В книге xv6 есть вопрос, который меня давно беспокоит, и мне было интересно, не хочет ли кто-нибудь прояснить этот вопрос. KERNBASE ограничивает объем памяти, который может использовать один процесс, что может раздражать на машине с полными 4...
3096 просмотров
schedule 11.08.2023

Попытка понять системные вызовы UNIX на XV6
Я пытаюсь написать простой системный вызов на XV6 (документация доступна здесь и Github здесь ), чтобы понять, как они реализованы. Я использовал эти шаги В syscall.c объявлен extern int sys_hello(void) и добавлен [SYS_hello] sys_hello...
585 просмотров
schedule 18.08.2023

Как использовать GDB для отладки QEMU с SMP (симметричными несколькими процессорами)?
Я учусь в выпускном классе операционных систем, и мы эмулируем наше ядро ​​с помощью QEMU и отлаживаем его с помощью gdb. Отладка была достаточно простой... до сих пор. Как я могу подключить gdb к другим процессорам, которые у меня работают в QEMU?...
1782 просмотров
schedule 08.06.2024

Откуда xv6 знает, где находится последний элемент p->pgdir?
В xv6 каждый процесс имеет структуру с именем proc , в которой хранится состояние процесса. у него есть поле с именем pgdir , которое указывает на каталог страниц. Мой вопрос заключается в следующем: он должен хранить индекс последнего элемента в...
243 просмотров
schedule 28.05.2023

Как установить xv6 на виртуальный бокс или vmware?
Я пытаюсь запустить операционную систему xv6 на VirtualBox или VMWare на хосте Linux. В официальных инструкциях сказано, как запустить ОС только на qemu. Однако официальная страница ( https://pdos.csail.mit.edu/6.828/2014/xv6.html ) упоминалось, что...
1404 просмотров
xv6
schedule 04.03.2022

Отладка xv6 на Mac с помощью CLion
Я просмотрел Интернет и искал решение для отладки xv6 на Mac с помощью CLion и не нашел его. как вы знаете, сложно (или, может быть, невозможно, мне все равно не удалось) заставить gdb работать на macOS. Итак, как я могу это сделать? Как отлаживать...
643 просмотров
schedule 19.03.2023

Как добавить системный вызов, чтобы узнать количество процессов в xv6
Я добавил эту функцию в файл proc.c int getNumProc(void) { struct proc *p; int count = 0; acquire(&ptable.lock); for(p = ptable.proc; p < &ptable.proc[NPROC]; p++) { if(p->state != UNUSED) count++; }...
2429 просмотров
schedule 04.03.2022

Создайте новый системный вызов в xv6, который возвращает данные об открытых файлах для всех запущенных процессов.
Я начал узнавать о xv6. И я пытаюсь добавить новый системный вызов, который будет печатать список открытых файлов для всех запущенных процессов. Он должен печатать pid каждого процесса, номер его файлового дескриптора (0,1,2- для каждого pid),...
477 просмотров
schedule 06.09.2023

Как все физическое адресное пространство отображается в виртуальном адресном пространстве?
Я читал, что в XV6 в каждом виртуальном адресном пространстве процесса отображается все физическое адресное пространство. Как это вообще возможно?
54 просмотров

Доза gdb не работает с xv6: замораживание после qemu-nox-gdb
Я использую VMware Workstation 15 Pro в Windows 10. Гостевая ОС - Linux 18.04.5 LTS. В гостевом Linux я загрузил xv6 с помощью команды: git clone git://github.com/mit-pdos/xv6-public.git . После сборки xv6 с использованием make я запускаю make...
45 просмотров
schedule 02.05.2024