Está en la página 1de 27

SISTEMAS OPERATIVOS

Mgs. Gabriela Montesdeoca


AUTOR DEL CONTENIDO
Unidad II: Estructuras de Sistemas Operativos
2.1 Introducción
2.2 Servicios del SO
2.3 Interfaz de usuario
2.4 Llamadas al sistema
Objetivo

Conocer los servicios que


proporciona un sistema operativo y
las metodologías para diseñar tales
sistemas, asimismo la creación de
los sistemas operativos y el
procedimiento que la computadora
sigue cuando inicia.
2.1 Introducción

Un sistema operativo proporciona el entorno


dentro del cual se ejecutan los programas.
Internamente, los sistemas operativos varían
en su composición.
El diseño de un nuevo sistema operativo es
una tarea importante y los objetivos del
sistema deben estar bien definidos antes de
que comience el diseño. Estos objetivos
forman la base para elegir entre varios
algoritmos y estrategias que se explicarán a
continuación.
2.1 Introducción
Se considera la organización interna del
sistema operativo para llevar a cabo las
tareas específicas.
Entre los sistemas operativos existen
diferencias en sus estructuras, dado que
dependen acerca de los objetivos del
mismo como facilidad de uso, rapidez,
fiabilidad, eficiencia.
Los sistemas operativos proporcionan
un entorno para la ejecución de
programas y servicios: desde la vista del
usuario y sistema.
Imagen - Sistema operativo
2.2 Servicios del SO
Un conjunto de servicios del sistema operativo proporciona funciones
que son útiles para el usuario:

Gráfico - Servicios del SO


2.2 Servicios del SO
• Interfaz de usuario: la mayoría de los sistemas operativos tienen una
interfaz de usuario (UI) como línea de comandos (CLI), interfaz gráfica
de usuario (GUI), pantalla táctil, programas batch (lotes).
• Ejecución del programa: el sistema debe poder cargar un programa
en la memoria y ejecutar ese programa, finalizar la ejecución, ya sea
normalmente o anormalmente (indicando error).
• Operaciones de E/S: un programa en ejecución puede requerir E/S, lo
que puede implicar un archivo o un dispositivo de E/S.
• Manipulación del sistema de archivos: Los programas necesitan leer
y escribir archivos y directorios, crearlos y eliminarlos, buscarlos, listar
información de archivos, administración de permisos.
2.2 Servicios del SO
• Comunicaciones: los procesos pueden intercambiar información, en
la misma computadora o entre computadoras a través de una red.
Las comunicaciones pueden ser a través de la memoria compartida o
mediante el paso de mensajes (paquetes movidos por el sistema
operativo).
• Detección de errores: el SO debe estar constantemente al tanto de
posibles errores.
• Puede ocurrir en el hardware de la CPU y la memoria, en los
dispositivos de E/S, en el programa del usuario.
• Para cada tipo de error, el sistema operativo debe tomar las
medidas adecuadas para garantizar una computación correcta y
consistente.
• La depuración puede mejorar en gran medida las habilidades
del usuario y del programador para usar el sistema de manera
eficiente.
2.2 Servicios del SO
• Existe otro conjunto de funciones del sistema operativo para
garantizar el funcionamiento eficiente del propio sistema mediante
el uso compartido de recursos.

Gráfico - Servicios
2.2 Servicios del SO
• Asignación de recursos: cuando varios usuarios o varios trabajos se
ejecutan simultáneamente, los recursos deben asignarse a cada uno
de ellos.
Tipos de recursos: ciclos de CPU, memoria principal, almacenamiento
de archivos, dispositivos de E/S.
• Registro: seguimiento de los usuarios de los tipo de recursos
informáticos y cuánto usan.
• Protección y seguridad: los propietarios de la información
almacenada en un sistema informático multiusuario o en red pueden
querer controlar el uso de esa información, los procesos concurrentes
no deben interferir entre si.
2.2 Servicios del SO
Vista Servicios del SO

Gráfico - Vista Servicios del SO


2.3 Interfaz de usuario
Hay dos maneras para que los usuarios interactúen con el SO:

Gráfico - Interfaz
2.3 Interfaz de usuario
Intérprete de comandos
CLI o intérprete de comandos permite
la entrada directa de comandos.
• A veces implementado en kernel, a
veces por programas de sistemas.
• Conocidos también como shells.
• Principalmente obtiene un comando
del usuario y lo ejecuta.
• A veces tiene comandos
incorporados, a veces solo nombres
de programas. Si es este último, si se
requiere agregar nuevas Imagen - Comandos
características no implica modificar
el shell.
2.3 Interfaz de usuario
Interfaz gráfica de usuario
Metáfora “interfaz de escritorio fácil de
usar”.
• Por lo general, se usa mouse, teclado
y monitor.
• Los iconos representan archivos,
programas, acciones, otros.
• Varios botones del mouse sobre
objetos en la interfaz provocan varias
acciones (proporcionar información,
opciones, ejecutar funciones, abrir
directorio (conocido como carpeta) Imagen - Interfaz del
usuario
• Inventado en Xerox Parc
2.3 Interfaz de usuario
Interfaz gráfica de usuario
Muchos sistemas ahora incluyen
interfaces CLI y GUI.
• Microsoft Windows es GUI con shell
de comando CLI
• Apple Mac OS X es una interfaz GUI
"Aqua" con kernel UNIX debajo y
shells disponibles.
• Unix y Linux tienen CLI con interfaces
GUI opcionales (CDE, KDE, GNOME)

Imagen - Interfaz del


usuario
2.3 Interfaz de usuario
Interfaz touch screen
Los dispositivos con pantalla táctil
requieren nuevas interfaces
• Ratón no posible o no deseado
• Acciones y selección basadas en gestos
• Teclado virtual para ingreso de texto
Comandos de voz

Imagen – Touch screen


2.4 Llamadas al sistema
• Provee de una interfaz de programación con la que permite invocar
los servicios proporcionados por el sistema operativo.
• Normalmente escrito en un lenguaje de alto nivel (C o C++).
• Mayormente accedido por programas a través de una interfaz de
programación de aplicaciones (API) de alto nivel en lugar del uso
directo de llamadas al sistema.
• Las tres API más comunes son Win32 API para Windows, POSIX API
para sistemas basados en POSIX (incluidas prácticamente todas las
versiones de UNIX, Linux y Mac OS X) y Java API para la máquina
virtual Java (JVM).
Nota: los nombres de las llamadas al sistema utilizados en esta
presentación son genéricos.
2.4 Llamadas al sistema
Ejemplo API estándar

Gráfico - Ejemplo
2.4 Llamadas al sistema
Ejemplo API estándar
• Por lo general, un número asociado con cada llamada al sistema.
• La interfaz de llamadas al sistema mantiene una tabla indexada
de acuerdo con estos números.
• La interfaz de llamada al sistema invoca la llamada al sistema prevista
en el kernel del sistema operativo y devuelve el estado de la llamada
al sistema y los valores de retorno.
• La persona que llama no necesita saber cómo se implementa la
llamada al sistema.
• Solo necesita obedecer la API y comprender qué hará el sistema
operativo como resultado de la llamada.
• La mayoría de los detalles de la interfaz del sistema operativo
están ocultos para el programador por API (uso de librerías).
2.4 Llamadas al sistema
Ejemplo API – Llamada al sistema – Relación SO

Gráfico - Llamada al sistema


2.4 Llamadas al sistema
Paso de parámetros
• A menudo, se requiere más información que simplemente la
identidad de la llamada al sistema deseada.
• El tipo exacto y la cantidad de información varían según el sistema
operativo y la llamada.
• Tres métodos generales utilizados para pasar parámetros al sistema
operativo.

Gráfico - Paso de parámetros


2.4 Llamadas al sistema
Pase de parámetros vía Tabla

Gráfico - Pase de parámetros vía Tabla


2.4 Llamadas al sistema
Categorías de llamadas
Control de procesos
• Crear proceso, terminar proceso
• Terminar, abortar
• Cargar, ejecutar
• Obtener atributos de proceso, establecer atributos de proceso
• Espera el tiempo
• Evento de espera, evento de señal
• Asignar y liberar memoria
• Volcar memoria si hay error
• Depurador para determinar errores, ejecución de un solo paso
• Bloqueos para administrar el acceso a datos compartidos entre
procesos
2.4 Llamadas al sistema
Categorías de llamadas
Gestión de archivos
• Crear archivo, eliminar archivo
• Abrir, cerrar archivo
• Leer, escribir, reposicionar
• Obtener y establecer atributos de archivo
Gestión de dispositivos
• Dispositivo de solicitud, dispositivo de liberación
• Leer, escribir, reposicionar
• Obtener atributos de dispositivo, establecer atributos de dispositivo
• Conectar o desconectar lógicamente los dispositivos
2.4 Llamadas al sistema
Categorías de llamadas
Mantenimiento de la información
• Obtener hora o fecha, establecer hora o fecha
• Obtener datos del sistema, establecer datos del sistema
• Obtener y establecer atributos de proceso, archivo o dispositivo
Comunicaciones
• Crear, eliminar conexión de comunicación
• Enviar, recibir mensajes si el modelo de paso de mensajes a nombre
de host o nombre de proceso
• Del cliente al servidor
• Modelo de memoria compartida crear y obtener acceso
• Información del estado de la transferencia
• Conectar y desconectar dispositivos remotos
2.4 Llamadas al sistema
Categorías de llamadas
Protección
• Controlar el acceso a los
recursos
• Obtener y establecer permisos
• Permitir y denegar el acceso de
los usuarios

Gráfico - Protección
La Educación viene desde el interior;
la obtienes mediante la lucha, el
esfuerzo y el pensamiento.
FIN DE LA CLASE 3
UNIDAD 2

También podría gustarte