PDF de programación - Estructura de los Sistemas Operativos

Imágen de pdf Estructura de los Sistemas Operativos

Estructura de los Sistemas Operativosgráfica de visualizaciones

Publicado el 18 de Febrero del 2021
619 visualizaciones desde el 18 de Febrero del 2021
173,0 KB
28 paginas
Creado hace 8a (07/03/2016)
Sistemas Operativos

Curso 2016

Estructura de los sistemas

operativos

Agenda

 Servicios del sistema operativo (system services).
 Llamados a sistema (system calls).
 Estructura del sistema.
 Máquinas virtuales.

Sistemas Operativos | Curso 2016 | Estructura de los sistemas operativos 2/28

Servicios del SO

 El sistema brindará un entorno de ejecución de programas dónde se

dispondrá de un conjunto de servicios que serán accesible mediante una
interfase bien definida.

 Servicios básicos que debe brindar un sistema operativo:

– Ejecución de programas y administración de procesos.
– Operaciones de Entrada/Salida.
– Manipulación de sistemas de archivos.
– Comunicación entre procesos.
– Detección y manipulación de errores (excepciones).

Sistemas Operativos | Curso 2016 | Estructura de los sistemas operativos 3/28

Ejecución de programas y administración de
procesos

 El sistema debe ser capaz de cargar un programa a memoria y

ejecutarlo. Es decir, crear un proceso.

 Cada proceso cuenta con un contador de programa (PC, program
counter) que determina la próxima instrucción de código a ejecutar.
 El proceso necesita de ciertos recursos (CPU, memoria, archivos y

dispositivos de E/S) para realizar su tarea.

 El sistema operativo es responsable de las siguientes tareas:

– Mantener que partes de la memoria están siendo utilizadas y por quién.
– Decidir cuales procesos serán cargados a memoria cuando exista espacio de

memoria disponible.

– Asignar y quitar espacio de memoria según sea necesario.

Sistemas Operativos | Curso 2016 | Estructura de los sistemas operativos 4/28

Ejecución de programas y administración de
procesos

 El sistema albergará muchos procesos compitiendo por los recursos y
será el responsable de proveer de medios o servicios para que realicen
su tarea:
– Crear y destruir procesos.
– Suspensión y reanudación de procesos.
– Proveer mecanismos para la cooperación (sincronización) y comunicación

entre los procesos.

– Proveer mecanismos para prevenir la generación de dead-locks o lograr salir

de ellos (opcional).

 El proceso deberá poder en algún momento finalizar su ejecución, ya sea

de forma normal o anormal (indicando un error).

Sistemas Operativos | Curso 2016 | Estructura de los sistemas operativos 5/28

Operaciones de entrada/salida

 Un programa en ejecución necesitará de operaciones de Entrada/Salida

para acceder a un archivo o dispositivo.

 Por eficiencia y protección los usuarios no accederán directamente al

dispositivo.

 El sistema operativo deberá encapsular y ocultar las características

específicas de los diferentes dispositivos de almacenamiento y ofrecer
mecanismos de acceso comunes para todos los medios de
almacenamiento.

 Para ello proveerá de:

– Un conjunto de servicios que provean la interfase con el subsistema e

implementen técnicas de cache, buffering y spooling.

– Una interfase cliente con el sistema operativo para los manejadores de
dispositivos o device drivers que permitirá interactuar (mediante cargas
dinámicas o no) con cualquier modelo de dispositivo.

– Device drivers específicos.
– Montaje y desmontaje (Mount/Dismount) de dispositivo.

Sistemas Operativos | Curso 2016 | Estructura de los sistemas operativos 6/28

Manipulación del sistema de archivos

 Se deberá proveer acceso al sistema de archivos.
 El sistema operativo es responsable de las siguientes actividades:

– Administrar el espacio libre.
– Asignación del lugar de la información.
– Algoritmos de planificación de disco.

 Proporciona una vista uniforme de todas las formas de almacenamiento

en los diferentes dispositivos implementando el concepto de archivo
como una colección arbitraria de bytes u otras clases o organizaciones
más sofisticadas.

 Implementará los métodos de:

– Abrir, cerrar, extender y borrar archivos
– Leer, escribir archivos
– Crear y borrar directorios

Sistemas Operativos | Curso 2016 | Estructura de los sistemas operativos 7/28

Comunicación entre procesos

 Es deseable que los procesos puedan comunicarse.
 Se deberá proveer mecanismos de comunicación entre ellos ya sea que
estén en el mismo computador (a través de memoria compartida), o en
diferentes computadores (a través de transferencias de paquetes de red
entre los sistemas operativos involucrados).

 También debe permitir la sincronización de procesos que trabajan en

conjunto.

 En el caso de sistemas remotos se generaliza el concepto de dispositivo
virtual implementando un manejador (driver) que encapsula el acceso a
estos dispositivos.

Sistemas Operativos | Curso 2016 | Estructura de los sistemas operativos 8/28

Detección y manipulación de errores

 El sistema deberá tomar decisiones adecuadas ante eventuales errores

que ocurran y proveer una interfaz para manejarlos.

 Ejemplos:

– Fallo en un dispositivo de memoria.
– Fallo en la fuente de energía.
– Fallo en un programa.

Sistemas Operativos | Curso 2016 | Estructura de los sistemas operativos 9/28

Servicios del SO

 Otros servicios de propósito general que deberá brindar el sistema

operativo son:
– Asignación de recursos.
– Contabilización.
– Protección, manejo de usuarios y permisos.

 Una vez que están definidos los servicios que brindará el sistema

operativo, se puede empezar a desarrollar la estructura del sistema.

Sistemas Operativos | Curso 2016 | Estructura de los sistemas operativos 10/28

Asignación de recursos

 Cuando hay varios procesos compitiendo por los recursos es importante

tener algoritmos eficientes de asignación

 Cada recurso tiene necesidades y por lo tanto algoritmos diferentes

Sistemas Operativos | Curso 2016 | Estructura de los sistemas operativos 11/28

Contabilización

 Se quiere llevar un registro de que usuarios usan que recursos y en que

cantidad

 Permiten dimensionar y evaluar el estado del sistema

Sistemas Operativos | Curso 2016 | Estructura de los sistemas operativos 12/28

Protección, manejo de usuarios y permisos

 En un sistema multiusuario donde se ejecutan procesos en forma

concurrente se deben tomar medidas que garanticen la ausencia de
interferencia entre ellos.

 Por protección nos referimos a los mecanismos por los que se controla al

acceso de los procesos a los recursos.

 El mecanismo debe incorporar la posibilidad de definir reglas de acceso y

asegurar su verificación en toda ocasión que corresponda.

Sistemas Operativos | Curso 2016 | Estructura de los sistemas operativos 13/28

Llamados al sistema

 Los llamados al sistema (system calls) son una interfaz, provista por el

núcleo, para que los procesos de usuarios accedan a los diferentes
servicios que brinda el sistema operativo.

 Al principio los system calls estaban desarrollados en lenguaje de la

arquitectura de la máquina.

 En los sistemas modernos están programados en lenguajes de

programación de alto nivel como C o C++.

 Los servicios son invocados por los procesos en modo usuario, cuando

ejecutan lo hacen en modo monitor, y al retornar vuelven al modo
usuario.

 Típicamente a los system calls se les asocia un número que los identifica

(en Linux son aproximadamente 350).

Sistemas Operativos | Curso 2016 | Estructura de los sistemas operativos 14/28

Llamados al sistema

 La llamada a un system call incluye las siguientes tareas:

– Cargar los parámetros en el lugar adecuado (stack o registros).
– Cargar el número de system call en algún registro específico (Ej: eax en Intel).
– Invocar a la interrupción por software (trap) adecuada (system call handler).
– El hardware cambia el bit de modo a monitor e invoca al manejador de la

interrupción que controla que el número de system call pasado en el registro
sea menor que el mayor del sistema y, finalmente, invoca al system call
correspondiente.

– El valor retornado por el system call es puesto en un registro específico (Ej.:

eax en Intel).

Sistemas Operativos | Curso 2016 | Estructura de los sistemas operativos 15/28

Llamados al sistema

 Existen 3 formas de pasar los parámetros al sistema operativo:

– A través de los registros: Se utilizan un conjunto de registros para pasar los

parámetros. Tiene el problema de la cantidad de parámetros es fija y que
restringe el tamaño del valor.

• En Intel se utilizan 5 registros: ebx, ecx, edx, esi, y edi.

– Un bloque de memoria apuntado a través de un registro.
– En el stack del proceso que realiza el llamado. El proceso guarda los

parámetros con operaciones push sobre el stack y el sistema operativo los
saca con la operación pop.

 De la misma forma se pueden recibir los datos de respuesta

Sistemas Operativos | Curso 2016 | Estructura de los sistemas operativos 16/28

Llamados al sistema

Sistemas Operativos | Curso 2016 | Estructura de los sistemas operativos 17/28

Llamados al sistema

 Los system calls se clasifican en distintos tipos:

– Control de procesos

• Cargar, ejecutar, finalizar, abortar, obtener atributos, cargar atributos, esperar por

tiempo, esperar por un evento o señal, obtener o liberar memoria, etc.

– Gestión de archivos

• Crear, borrar, abrir, cerrar, leer, escribir, obtener o cargar atributos, etc.

– Gestión de dispositivos

• Requerir o liberar un dispositivo, leer o escribir, buscar o cargar atributos de un

dispositivo, etc.

– Gestión de información del sistema

• obtener o cargar la hora del sistema, datos del sistema, de procesos, etc.

– Comunicaciones

• Crear o destruir conexiones, enviar o recibir mensajes, etc.

Sistemas Operativos | Curso 2016 | Estructura de los sistemas operativos 18/28

Estructura del sistema

 Las estructuras internas de los sistemas operativos pueden ser muy

diferentes.

 Se deben tener en cuenta:

– Metas de los usuarios: ser amigable, intuitivo, confiable, seguro, rápido, etc.
– Metas del sistema: fácil de dise
  • Links de descarga
http://lwp-l.com/pdf18866

Comentarios de: Estructura de los Sistemas Operativos (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