Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Diseño e implementación
de un sistema operativo
para fines didácticos
1. Introducción
Necesidad de contar con un S.O. de diseño propio,
2. Estado de la sencillo en los detalles y con capacidad suficiente,
cuestión para ser usado como modelo y herramienta de apoyo
3. Gestión del para la enseñanza de los fundamentos de los sistemas
proyecto operativos.
4. Requisitos
7. Conclusiones
Para aquellos más sencillos, la realización de prácticas
requiere un amplio conocimiento del sistema y de
las herramientas empleadas en su diseño y construc-
ción.
1. Introducción
2. Estado de la
cuestión Un diseño simple, de tamaño reducido, pero capaz.
3. Gestión del
proyecto Correr tanto sobre máquina física como virtual.
4. Requisitos
Poder ser desarrollado en un entorno sencillo, con
5 Desarrollo facilidades de compilación, ejecución y depuración
integradas.
6. Resultados
1. Introducción MikeOS:
2. Estado de la
cuestión o Interfaz de menús y diálogo modo texto.
3. Gestión del
proyecto o Arranque desde disquete, CD-ROM y USB.
o Escrito en ASM.
1. Introducción GeekOS:
2. Estado de la
cuestión
o Objetivo básico: Ser herramienta de aprendizaje en el
diseño y construcción de un núcleo de S.O.
3. Gestión del
proyecto o Incluye proyectos para la enseñanza.
1. Introducción
MenuetOS: Su objetivo, eliminar capas entre las partes del
2. Estado de la
cuestión
sistema. Escrito en ensamblador 32/64 bits. Diseño propio.
Multiprocesador, multihilo, protección anillo 3…
3. Gestión del
proyecto
GnuFiwix: Objetivo educacional. Basado en UNIX con núcleo
4. Requisitos compatible LINUX. POSIX. Modo protegido 32 bits. Multitarea,
Memoria virtual con paginación, señales, pipes. Ficheros ext2,
5 Desarrollo abstracción VFS, etc.
6. Resultados
Minirighi: Objetivo educacional. Escrito en ‘C’ y ‘asm’ desde 0
7. Conclusiones Multihilo, 32 bits, POSIX, núcleo ligero y de fácil lectura.
Fácilmente adaptable a nuevas tecnologías.
MINIX:
1. Introducción
2. Estado de la
cuestión
Definición de
3. Gestión del
requerimientos
proyecto
1. Introducción
Actividades concurrentes
2. Estado de la
cuestión
Versión Inicial
3. Gestión del
Especificación
proyecto
4. Requisitos
Descripción
Desarrollo Versiones
5. Desarrollo del Sistema
Intermedias
6. Resultados
7. Conclusiones
Validación
Versión Final
1. Introducción
2. Estado de la
cuestión
3. Gestión del
proyecto
4. Requisitos
5. Desarrollo
6. Resultados
7. Conclusiones
1. Introducción
2. Estado de la
cuestión
3. Gestión del
proyecto
4. Requisitos
5. Desarrollo
6. Resultados
7. Conclusiones
Multitarea expulsora.
1. Introducción Comunicación indirecta mediante buzones.
2. Estado de la Primitivas de sincronización mediante Semáforos
cuestión
Gestión memoria dinámica (con posibilidad intercambio a disco)
3. Gestión del
proyecto Múltiples terminales virtuales mediante ventanas tipo texto.
7. Conclusiones
Correr bajo MS-DOS, pero sin sus servicios.
Código en ficheros fuente separados según funcionalidad.
Aceptar compilación, ejecución y depuración en un entorno in-
integrado tipo Turbo-C.
2. Estado de la
cuestión Llamadas al Sistema (RTI SW)
Consola
3. Gestión del S.O. Servidor S.O.
proyecto Ficheros
4. Requisitos Rutinas servicio
generales Rut. Servicio ficheros
5. Desarrollo
Servicios
6. Resultados
Rutinas de utilidad auxiliares BIOS
7. Conclusiones
Rutinas Tratamiento Interrupción (RTI HW) RTI BIOS
3. Gestión del
activarPreparado
proyecto
5. Desarrollo
Interrupción
6. Resultados
7. Conclusiones
Bloqueado
Tabla de procesos
Primero
Preparados
1. Introducción Ultimo Otros campos descriptor proceso Sig.
… … … ….
2. Estado de la Primero
Servidor
Ultimo … … … ….
cuestión
… … … ….
3. Gestión del Primero
Dormidos … … … …. NULL
Ultimo
proyecto
… … … …. NULL
Primero
4. Requisitos Term.Win 1
Ultimo … … … …. NULL
5. Desarrollo … … … …. NULL
Primero
Term.Win 2
Ultimo NULL
6. Resultados
Primero
7. Conclusiones Buzón 1
Ultimo … … … …. NULL
… … … …. NULL
Primero
Semáforo 1
Ultimo
Preparados Ejecutando
1. Introducción Padre
Hijo
Fork
2. Estado de la
cuestión Fin Rodaja
4. Requisitos Tecla
Cola TermWin LeerTecla
5. Desarrollo
Fin lapso
Dormidos Sleep
6. Resultados
Prc-B
Ejecutando instrucciones
1. Introducción
0H priHue memDisponible A0000 H
2. Estado de la
cuestión
3. Gestión del F p W F F p W p
proyecto A r i A A r i r
S T c n T T
T
c n
T
c
4. Requisitos
O 2
e
A r 0 1
e
B r C
5. Desarrollo m m
NULL
6. Resultados
7. Conclusiones
huecos
3. Gestión del
proyecto C
4. Requisitos
B
5. Desarrollo
6. Resultados A
7. Conclusiones
Segmento de ventana
comando_
Fondo pantalla
Proyecto Fin de Carrera 21
Desarrollo
0, 0 Pantalla
1. Introducción
eSI (x, y)
2. Estado de la
cuestión
s1 si s2
3. Gestión del
s1 si
proyecto
si s2
4. Requisitos
si
5. Desarrollo s1
c:\>
6. Resultados
x, y
s1
7. Conclusiones eID (x, y)
longitud
3. Gestión del
proyecto Inclusión de diversos comandos internos para mostrar y probar
5. Desarrollo
Desarrollo de unos programas de usuario “ejemplo o modelo”,
6. Resultados
para otros y también para realizar pruebas sobre el sistema.
7. Conclusiones
Realización de unas “prácticas” a realizar por el estudiante, ba-
sadas en este sistema y que muestran algunos de los conceptos
más interesantes sobre los fundamentos de los SSOO.
COMANDOS INTERNOS :
1. Introducción EXIT, CLS, DIR, MEM, LSV, TFA, PS, KILL, DUMP, MW, CW,
2. Estado de la CD, DEL, RD, MD, TOUCH, COMPAC, DESMON, TYPE, TST,
cuestión
AYUDA y CHKDSK.
3. Gestión del
proyecto PROGRAMAS DE USUARIO:
4. Requisitos Calibra, errante, erraslp, hola, menuexc, menusem, menumsj,
5. Desarrollo tsfork, sh, sh-frk y test.
6. Resultados
PRÁCTICAS:
7. Conclusiones
Tratamiento de interrupciones (Ctrl-C), manejo de excepciones
(overflow y div. 0), llamada sleep, semáforos, buzones,
compactación memoria, y arranque del sistema (boot).
1. Introducción
2. Estado de la
cuestión
3. Gestión del
proyecto
4. Requisitos
5. Desarrollo
6. Resultados
7. Conclusiones
1. Introducción
2. Estado de la
cuestión
3. Gestión del
proyecto
4. Requisitos
5. Desarrollo
6. Resultados
7. Conclusiones
Computing results.
SLOC Directory SLOC-by-Language (Sorted)
3108 top_dir cpp=3108
1. Introducción 632 USRS_PRG cpp=632
333 LL_S_SO cpp=333
2. Estado de la 0 MI_C0 (none)
cuestión
Totals grouped by language (dominant language first):
cpp: 4073 (100.00%)
3. Gestión del
proyecto Total Physical Source Lines of Code (SLOC) = 4,073
3. Gestión del 6819 674 1695 1417 336 402 3712 48 4450 CODE Physical
proyecto
6819 674 1695 1417 336 353 3866 48 4555 CODE Logical
4. Requisitos
1. Introducción 3 horas de media sobre una base de 8 horas diarias durante 2,5 años.
2. Estado de la Coste empresarial salario anual analista/programador……. = 50.400 €
cuestión
Coste trabajo desarrollo………………… 2’5 x 3/8 x 50.400 = 47.250 €
3. Gestión del
El beneficio se ha desestimado por ser un proyecto de código abierto.
proyecto
4. Requisitos
¡¡ MUCHAS GRACIAS !!