
Os sistemas operacionais modernos do mundo real são muito complexos para serem ensinados a graduação e outros sistemas operacionais instrucionais não são completos e utilizáveis e não funcionam em hardware real. Ao fornecer aos alunos um sistema operacional não tão complexo para brincar, eles poderão apreciar e entender mais profundamente os conceitos subjacentes a um sistema operacional.
Assim, este projeto visa desenvolver um sistema operacional instrucional simples, porém operacional, para ensinar cursos de graduação em sistemas operacionais. ICS-OS é um garfo de Dex-Os de Joseph Dayo.
Última imagem de disquete: ICS-os-floppy.img
Teste a imagem de disquete no Qemu.
$qemu-system-i386 -fda ics-os-floppy.img
O Ubuntu 16.04 64 bits é o último ambiente de construção de trabalho testado. O VirtualBox pode ser usado para executar esta versão do Ubuntu. No entanto, o Docker é o ambiente de construção recomendado, pois novas versões do Ubuntu não funcionam mais.
O ICS-OS é um sistema operacional de 32 bits e requer um ambiente de construção de 32 bits. Você precisa instalar o Docker e o Docker-Compose para criar o kernel ICS-OS e os aplicativos de usuário.
Execute o seguinte comando para entrar no ambiente de construção:
$docker-compose run ics-os-build
Ou se você estiver usando o plug-in do Docker-Compose:
$docker compose run ics-os-build
Você será retirado para uma concha onde poderá executar a compilação. A pasta ICS-OS é mapeada dentro do recipiente. Assim, você pode executar as edições fora do contêiner (em outro terminal) e as alterações serão refletidas dentro do ambiente de construção.
#cd /home/ics-os
#make clean
#make
#exit
Faça a imagem de disquete e inicialize.
$sudo make floppy
$make boot-floppy
Como alternativa, você pode inicializar a imagem de disquete diretamente usando o qemu.
$qemu-system-i386 -fda ics-os-floppy.img
Consulte o Laboratório 01 para uma discussão mais completa sobre como configurar o ambiente de construção.
Este projeto é usado no Instituto de Ciência da Computação, Universidade das Filipinas Los Banos para o CMSC 125. É mantido pelo grupo de pesquisa de sistemas.
Comece lendo o guia do desenvolvedor do kernel.
Não se esqueça de verificar o wiki.
Você pode fazer perguntas enviando um problema.
Se você achar o recurso dele útil em sua pesquisa ou ensino, cite nosso artigo.
Jac Hermocilla. ICS-OS: Uma abordagem de programação do kernel para ensinar conceitos de sistema operacional. Philippine Information Technology Journal, 2 (2): 25--30, 2009.
Você também pode usar a seguinte entrada do Bibtex.
@article{hermocilla-ics-os-pitj2009,
author = {Hermocilla, J. A. C.},
title = {ICS-OS: A Kernel Programming Approach to Teaching Operating System Concepts},
journal = {Philippine Information Technology Journal},
volume = {2},
number = {2},
year = {2009},
issn = {2012-0761},
pages = {25--30},
publisher = {Philippine Society of Information Technology Educators and Computing Society of the Philippines },
address = {Philippines},
pdf = {https://jachermocilla.org/publications/hermocilla-pitj2009-ics-os.pdf}
}