XDU-OS-Course Design
Devido ao impacto do Covid-19, a classe do sistema operacional deve ser conduzida em casa. De acordo com a Convenção, deve ser realizado na sala de computadores, porque a sala de computadores foi temperada pelos alunos e deve ser relativamente estável, e a sala de informática geralmente é mais consistente com o software fornecido pelo professor.
No entanto, alguém completou esta configuração do curso em casa, usando o VMware15 e o Ubuntu18.04 que ele já havia instalado, o que era seriamente incompatível com a versão em vídeo do curso. Ele pisou em inúmeras armadilhas e a reinstalou mais de dez vezes. Agora eu uso minha experiência dolorosa para preencher o buraco para todos.
No momento do erro de operação, comece outro dia . Antes de fazer o experimento $ k $, coloque o experimento $ i $ ( $ para todos eu, eu lEQSLANT K $ ) Leia todos os guias.
Pré-exageramento e precauções!
Existem alguns pequenos experimentos antes do experimento formal. Aqui estão algumas precauções. Se você não encontrar, isso não significa que você não o encontrará nos experimentos subsequentes:
- Memória 2-4g (se o computador for ligado, o kernel é recomendado para ter tela preta, o kernel está inicializando a tela preta), 4-6 núcleos, pelo menos 35g para disco rígido (os especialistas não podem ter 35g), modo de ponte de rede;
- O VMware usa as versões 14 e 15, e as versões Ubuntu 18+ podem avançar constantemente. O arquivo acima fornece um espelho do Ubuntu e o VMware pode baixá -lo por si só;
- A instalação do VMware Tools provavelmente não funcionará, clique no artigo anterior para lidar com isso;
- As ferramentas VMware de arrasto podem estar presas . Por favor, reinicie o processo de morte. Repita n vezes e você sempre terá sucesso uma vez. Lembre -se de escrever a captura de tela no relatório.
- Como transferir arquivos quando as ferramentas do VMware estão frequentemente presas? Tio Wen vai lá;
- O VMware está lento em "Inside the Wall" e, por favor, salve -se.
Um lugar além da lei A velocidade de download está tocando e a máquina pode entrar Um lugar além da lei Consulte o artigo anterior; - Recuperação da máquina virtual por engano: Barra de menus -> Arquivo -> Digitalizar a máquina virtual (digitalizar no caminho de instalação da sua máquina virtual original);
- Se o disco rígido não for grande o suficiente, consulte a máquina virtual VMware expandir o espaço em disco do sistema Ubuntu.
Por que não usar a versão da escola ?
- Seu ambiente de computador! = O ambiente do computador da escola;
- As versões de software e kernel fornecidas pela escola são extremamente antigas e não há garantia de problemas;
- Se você usar versões parcialmente escolares, as versões parcialmente não escolares geralmente o tornarão furioso e difícil de suprimir suas emoções.
Lab1 Compilação do kernel
Pontas:
Não compile o kernel fornecido pela escola. Faça o download do mais recente do site oficial ou use -o fornecido por mim na pasta "Compilação do Kernel Lab1" (caso contrário, haverá inconsistências na versão GCC, erros de compilação etc.). É altamente recomendável escolher a versão 4 (não haverá muitos erros em comparação com a versão inferior, e as vantagens em comparação com a versão 5 são refletidas no segundo experimento);
Recomenda -se assistir ao vídeo da escola primeiro, entender as etapas e, em seguida, consulte o kernel do tutorial 4 do CSDN e o kernel do tutorial 5 do CSDN 5 para concluir a compilação do kernel;
Para compilar 5 versões no Ubuntu no meio ambiente 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
- Ferramenta de melhoria de eficiência : Compilação com vários threads (desde que você tenha vários núcleos ao configurar), faça isso ao fazer (se 4 núcleos forem escritos -j4, se x núcleos forem escritos -jy, onde y≤x):
- Por que você não vê a opção ao iniciar o computador: siga a operação ". Lab1 Kernel" Operação, encontre "/etc/padrão", digite o grub e conte a 7ª linha de cima para baixo grub_timeout_style = oculto com # anotação.
- Por que compilar diferentes kernels?
- É difícil concluir o trabalho completo da escola. Diferentes versões do kernel têm pontos de bônus e a nova versão do kernel é simples.
Chamada do sistema LAB2
Pontas:
- É altamente recomendável usar o kernel da 4ª versão para compilação, porque as modificações do código de chamada do sistema da versão superior são diferentes, enquanto existem poucos tutoriais para a 5ª versão;
- Depois de assistir ao vídeo da escola, assista à chamada do sistema no Ubuntu 18.04.
Módulo LAB3 Kernel
Existem duas partes deste experimento. O primeiro é o seguinte o que o professor disse, e o principal é o segundo.
O maior benefício deste experimento é que não há necessidade de compilar o kernel;
Consulte os dois métodos de adição de chamadas do sistema em Linux/Ubuntu18.04 (Método de compilação do kernel | Adição do módulo) e [usando o método do módulo do kernel para adicionar chamadas simples do sistema;
NOTA: Primeiro, siga os avisos do blog para encontrar o número da chamada do sistema disponível, observe o endereço da tabela de chamada do sistema através do comando dado pelo blog (se houver vários endereços de tabela, observe o nome mais normal) e certifique -se diretamente do código do blog com base no código do blog em execução primeiro.
Lab4 Driver de dispositivo
- É importante entender o que o professor disse antes de começar;
- Erro desbloqueado_ioctl (erro de aviso é erro), int-> longo, consulte as funções IOCTL e desbloqueio_ioctl para discutir;
- Se a tabela de parâmetros da função estiver vazia, lembre -se de escrever vazios, às vezes também relatará um erro;
- Eu forneci apenas código -fonte relevante para referência . Envolve informações como nome e número do aluno, e os nomes das variáveis são bastante especiais, então eu tenho que escrevê -lo com o professor;
- Lab4 é o código de teste e também é apenas para referência .