PDF de programación - Entorno para la instalación y utilización de manejadores de dispositivos en Marte OS

Imágen de pdf Entorno para la instalación y utilización de manejadores de dispositivos en Marte OS

Entorno para la instalación y utilización de manejadores de dispositivos en Marte OSgráfica de visualizaciones

Publicado el 21 de Abril del 2019
494 visualizaciones desde el 21 de Abril del 2019
1,5 MB
97 paginas
Creado hace 21a (21/03/2003)
ESCUELA TÉCNICA SUPERIOR DE INGENIEROS

INDUSTRIALES Y DE TELECOMUNICACIÓN

UNIVERSIDAD DE CANTABRIA



Proyecto Fin de Carrera

ENTORNO PARA LA INSTALACIÓN Y
UTILIZACIÓN DE MANEJADORES DE

DISPOSITIVOS EN MARTE OS

Para acceder al Título de

INGENIERO DE TELECOMUNICACIÓN



Francisco Guerreira Payo

Marzo 2003

INDICE

Capítulo 1

Introducción

1. 1. - Origen del sistema operativo MaRTE OS.

(MaRTE y el estándar POSIX)

1. 2. - Características y situación actual de MaRTE OS.

1. 3. - Uso de ‘drivers’ dentro de los sistemas operativos.

1. 4. - Objetivos del proyecto.

1. 5. - Organización de la memoria del proyecto

. . . . . . . . . . . .

1

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

4

7

8

10

Capítulo 2

Diseño del sistema de archivos para
dispositivos de entrada/salida en MaRTE.

2. 1. - Idea general sobre el nuevo sistema de archivos de

dispositivos de MaRTE.

. . . . . . . . . . . .

11

2. 2. - Comparación con sistemas de archivos de dispositivos
en otros sistemas operativos: Linux, Lynx, VxWorks.

2.2.1. Características de Lynx OS
2.2.2. Características de VxWorks
2.2.3. Características de Linux

2. 3. - Diseño y características del sistema de archivos a

desarrollar en MaRTE.

2.3.1. Características básicas en el diseño del sistema

de archivos de dispositivos de MaRTE OS

2.3.2. Explicación y diseño del sistema de archivos de

dispositivos de MaRTE OS

2. 4. - Implementación del sistema de archivos de MaRTE.

2.4.1. Tipos de datos internos al sistema de archivos de

dispositivos

2.4.2. Diseño de las tablas usadas para el manejo de
información referida al sistema de archivos de
dispositivos

2.4.3. Núcleo central del sistema de archivos de

dispositivos de MaRTE
(paquete ‘Kernel.File_System’)

2.4.4. Interfaz POSIX para el paso desde el ‘kernel’

hacia la aplicación

2.4.5. Funciones genéricas (uso de la función ‘Ioctl’)
2.4.6. Variaciones sobre el código inicial de MaRTE

2. 5. - Resumen y comentarios acerca del diseño del sistema de

archivos de dispositivos.

. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .

13
14
15

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

16

17

20

23

. . . . . . . . . . . .

26

. . . . . . . . . . . .

. . . . . . . . . . . .
. . . . . . . . . . . .

. . . . . . . . . . . .

29

33
34

40

Capítulo 3

Modo de uso de ‘drivers’ de dispositivos,
a través del sistema de archivos de MaRTE.

3. 1. - Instalación de ‘drivers’ en la tabla de dispositivos.

3.1.1. El paquete ‘Devices_Table’.
3.1.2. Modo de introducir un nuevo ‘driver’ en la tabla

3. 2. - Interfaz de un ‘driver’ de prueba realizado en Ada.

3. 3. - Interfaz de un ‘driver’ de prueba realizado en C.

3. 4. - Resumen acerca del primer uso de ‘drivers’ de

dispositivos.

. . . . . . . . . . . .
. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

42
46

48

51

55

Capítulo 4

Ejemplos de ‘drivers’ de dispositivos y
aplicaciones desarrolladas para su uso.

4. 1. - Primer contacto con las funciones de entrada/salida.

4.1.1. ‘Driver’ con cola circular para almacenamiento

de datos con tamaño configurable desde la
aplicación

4.1.2. Aplicación para un primer uso de funciones de
entrada/salida, utilizando el ‘driver’ con la cola
circular de tamaño configurable

4. 2. - Puerto paralelo.

4.2.1. ‘Driver’ para el puerto paralelo.
4.2.2. Aplicaciones para el uso del puerto paralelo.

4. 3. - Puerto serie.

4.3.1. ‘Driver’ para el puerto serie.
4.3.2. Aplicaciones para el uso del puerto serie.

4. 4. - Sincronización entre tareas, con uso de funciones de

entrada/salida bloqueantes.
4.4.1. ‘Driver’ con cola circular de tamaño fijo, con

funciones bloqueantes controladas con variables
condicionales.

4.4.2. Aplicación para la sincronización entre ‘threads’.

4. 5. - Resumen de la implementación de los ‘drivers’ de

dispositivos.

Capítulo 5

Conclusiones del proyecto.

5. 1. - Comentarios y conclusiones.

5. 2. - Línea futura de trabajo.

Referencias

. . . . . . . . . . . .

56

. . . . . . . . . . . .

58

. . . . . . . . . . . .
. . . . . . . . . . . .

. . . . . . . . . . . .
. . . . . . . . . . . .

61
64

71
77

. . . . . . . . . . . .

79

. . . . . . . . . . . .

. . . . . . . . . . . .

82

85

. . . . . . . . . . . .

. . . . . . . . . . . .

86

87

Capítulo 1

Introducción

Capítulo 1

Introducción

1. 1. - Origen del sistema operativo MaRTE OS.

(MaRTE y el estándar POSIX)

El origen y desarrollo del sistema MaRTE provienen del resultado de una tesis
doctoral que se desarrolló recientemente dentro del Grupo de Computadores y Tiempo
Real, adscrito al Departamento de Electrónica y Computadores de la Universidad de
Cantabria. Esta tesis doctoral “Planificación de Tareas en Sistemas Operativos de Tiempo
Real Estricto para Aplicaciones Empotradas” [1] propone una interfaz para sistemas
empotrados bajo la cual sea posible desarrollar aplicaciones en las que se puedan definir
internamente algoritmos de planificación de tareas, utilizando para su implementación las
bases establecidas en el estándar POSIX de sistemas operativos de tiempo real.

El hecho de cumplir la integración y compatibilidad con este estándar POSIX hace
que se facilite el uso de la interfaz para programadores familiarizados con este estándar, en
gran crecimiento debido a su alto grado de aceptación entre los fabricantes de sistemas
operativos. Además, incluso se podría tratar de realizar su incorporación a futura revisiones
del estándar POSIX, partiendo desde una base inicial bien establecida.

Para situar el estándar POSIX, comentemos sus orígenes. Se desarrolló en un

principio para unificar criterios en cuanto a los diferentes sistemas operativos, y con ello
lograr la portabilidad de las aplicaciones a nivel de código fuente entre los distintos
sistemas operativos, facilitándose así la adaptación de los programadores a nuevos entornos
de trabajo. La sucesiva aprobación, primero del estándar POSIX 1003.1b [2] en el año 1993
(extensiones de tiempo real), también conocido como POSIX.4, y posteriormente del
estándar POSIX 1003.1c [3] en el año 1995 (extensión de ‘threads’), también llamado
POSIX.4a, supusieron que ya se pudiera desarrollar aplicaciones con requisitos de tiempo
real sobre sistemas operativos POSIX.

El POSIX 1003.1b (extensiones de tiempo real) aportó al estándar dos tipos de

servicios con los cuales ya se podían ejecutar en un sistema POSIX aplicaciones que fueran
capaces de cumplir requisitos temporales:

- Servicios para facilitar la programación concurrente.
- Servicios necesarios para obtener un tiempo de respuesta predecible.

El POSIX 1003.1c (extensiones de ‘threads’) supuso el comienzo del uso de

‘threads’, a los que también se les podría calificar con el término ‘procesos ligeros’, como
unidades de concurrencia del POSIX, además de los ya existentes procesos. Con ello se
mejoró la eficacia, ya que los ‘threads’ suponen un uso de espacio de direcciones
compartido, teniendo a la vez diversos flujos de control concurrentes dentro de un único
proceso.

Grupo de Computadores y Tiempo Real
Entorno para la instalación y utilización de manejadores de dispositivos en MaRTE OS

- 1 -

Capítulo 1

Introducción

Pero un sistema que implemente el estándar POSIX de manera completa es un
sistema demasiado grande para su uso en pequeños sistemas empotrados y por ello se
aprobó en el año 1997 otro estándar, POSIX.13 [4], en el cual se definieron cuatro
subconjuntos de servicios del sistema operativo (“perfiles de entornos de aplicación”) para
que distintas plataformas pudieran usar distintos perfiles. Sus diferencias se encuentran en
la presencia o no presencia de un sistema de ficheros complejo y jerárquico, y en la
utilización o no utilización de múltiples procesos.

Perfil de aplicación

Sistema de
ficheros

Múltiples
procesos

Uso de
threads

Sistema de Tiempo Real Mínimo

Controlador de Tiempo Real

Sistema de Tiempo Real

Dedicado

Sistema de Tiempo Real

Multi-Propósito

Figura 1 . Características propias de los ‘perfiles de aplicación’ POSIX.13

De todos ellos, el perfil que interesa para la intenciones de desarrollo de MaRTE OS
es el “Sistema de Tiempo Real Mínimo”, usado en aplicaciones empotradas pequeñas, que
soportan unos servicios POSIX mínimos para reducir el tamaño de las aplicaciones
desarrolladas bajo este perfil. Las características que lo diferencian del resto de los perfiles
se encuentran en el hecho de que no requiere el soporte para múltiples procesos ni tampoco
un complejo sistema de ficheros jerárquico, eliminándose así la mayor parte del tamaño y la
complejidad del POSIX completo.

En el desarrollo de la citada tesis doctoral [1], una vez situada la base que conforma

el estándar POSIX para la implementación de esta interfaz para definir los algoritmos de
planificación, se llega a la conclusión de que no se encuentra ningún sistema operativo
POSIX apropiado para poder realizar la necesaria implementación de la interfaz
mencionada, de modo que se diseña e implementa un nuevo sistema operativo de tiempo
real bautizado como MaRTE [5] (“Minimal Real-Time Operating System for Embedded
Applications”), sobre el cual se va a desarrollar toda la base de este proyecto.

Grupo de Computadores y Tiempo Real
Entorno para la instalación y utilización de manejadores de dispositivos en MaRTE OS

- 2 -

Capítulo 1

Introducción

El código de MaRTE se ha realizado bajo las condiciones de libre distribución de

GPL (“GNU's Public License”). Este uso de las condiciones GPL de libre software [6] hace
del MaRTE OS un sistema operativo de código abierto, de gran utilidad para docencia y
futuras investigaciones en sistemas de tiempo real.

Esas condiciones establecidas para el proyecto GNU suponen que el pr
  • Links de descarga
http://lwp-l.com/pdf15762

Comentarios de: Entorno para la instalación y utilización de manejadores de dispositivos en Marte OS (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad