Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenido
1
Objetivos
Describir los servicios provistos a usuarios, procesos y
otros sistemas por el sistema operativo.
Discutir las distintas formas de estructurar un sistema
operativo.
Explicar como se instalan y configuran los sistemas
operativos y como inician.
2
Servicios del Sistema operativo (Cont.)
Los sistemas operativos proveen un entorno de ejecución de programas y
servicios a los programas y usuarios (Cont.):
Manipulación del File-system – El Sistema de archivos es de particular
interés. Los programas necesitan leer y escribir archivos y directorios,
poder crearlos, borrarlos, realizar búsquedas, listar información acerca de
ellos, manejar sus permisos.
Comunicaciones – Los procesos puede intercambiar información en la
misma computadora o entre computadoras de una red.
Esta comunicación puede ser a través de una memoria compartida o por
intercambio de mensajes (paquetes enviados por el so)
Detección de errores – El SO está constantemente atento a posibles
errores
Puede ocurrir en el hardware de memoria o en el CPU, en dispositivos de
E/S o en programas de usuarios.
Para cada tipo de error, el SO debera tomar la acción apropiada para
asegurar un computo consistente y correcto.
Facilidades de depuración para los usuarios y programadores, para realizar
un uso eficiente del Sistema.
3
Servicios del Sistema operativo - Ejemplo
4
Bourne Shell Command Interpreter
5
Interfaz Touchscreen
Dispositivos táctiles requieren nuevas
interfaces
No necesita o no se desea el
Mouse.
Acciones y selección basado en
gestos.
Teclado virtual para el ingreso
de texto.
Comandos de voz
6
Llamadas al Sistema (System Call)
Interfaz de programación para los servicios que ofrece el SO.
Por lo general escritas en un lenguaje de alto nivel(C o C++).
Se accede a través de una Application Programming Interface
(API) en lugar de utilizar directamente las llamadas al Sistema.
Las tres API más comunes son Win32 API para Windows, POSIX
API para sistemas basados en POSIX (incluyendo virtualmente
todas las versiones de UNIX, Linux y Mac OS X), y Java API para
la máquina virtual Java (JVM).
7
Implementación de una llamada al sistema
8
Tipos de llamadas de sistema
Control de procesos
crear proceso, terminar proceso
terminar, abortar
cargar, ejecutar
Obtener atributos del proceso, definir atributos del proceso
Esperar para obtener tiempo
Esperar suceso, señalizar suceso
Asignar y liberar memoria
Manejo de archivos
create file, delete file
open, close file
read, write, reposition
obtener(get) and establecer(set) atributos de archivo
Manejo de dispositivos
dispositivos de solicitud, dispositivo de liberación
read, write, reposition
get device attributes, set device attributes
9
Tipos de llamadas de Sistema (Cont.)
Mantenimiento de información
obtener la hora o fecha, establecer la hora o la fecha
obtener datos del Sistema, configurar los datos del sistema
obtener y configurar los atributos de proceso, archivo o dispositivo
Comunicaciones
create, delete communication connection
enviar, recibir mensajes si el modelo de paso de mensajes a nombre
de host name o nombre de proceso.
From client to server
El modelo de memoria compartida crea y obtiene acceso a regiones
de memoria.
Protección
Controlar el acceso a los recursos
Obtener y establecer permisos
Permitir y denegar el acceso de usuario
10
Ejemplos de llamadas en Windows y Unix
11
Programas del Sistema
Los programas del Sistema proveen un entorno de desarrollo para nuevos
programas y su ejecución.
Algunas veces se provee de una interfaz de llamadas simple ; otras veces es
una tarea compleja.
Gestión de archivos
Crear, eliminar, copiar, renombrar, imprimir, depurar, listar y todo lo referido a
archivos y directorios.
Información de estado
Algunos preguntan al SO por información - Fecha ,hora, espacio disponible
en memoria, espacio en disco, numero de usuarios, etc.
Otros proveen información detallada con la performance, logueo y
depuración de información.
Por lo general, estos programas formatean e imprimen la salida a la
terminal o algún dispositivo de salida.
Algunos sistemas implementan un registro – usado para almacenar y
recuperar información de configuración.
12
Programas del Sistema (Cont.)
Servicios en Segundo plano
Iniciados al iniciar el Sistema(boot time)
Algunos finalizan poco después de iniciar
Otros se mantienen hasta que se apague el equipo
Proveen chequeo de disco, procesos programados, error de logging, servicios
de impresión
Se ejecutan en un contexto de usuario, no de Kernel.
Conocidos como services, subsystems, demonios
Programas de Aplicación
No pertenecen al sistema
Ejecutados por los usuarios
No son considerados parte del SO
Ejecutados desde la línea de comandos, click del mouse, etc.
13
Estructura Simple -- MS-DOS
14
Estructura del Sistema UNIX
15
Estructura del Sistema de Microkernel
Mueve mucho del kernel al espacio del “usuario”.
El SO Mach es un ejemplo de microkernel
Mac OS X kernel (Darwin) esta basado parcialmente sobre Mach
La comunicación entre módulos se realiza con el paso de mensajes
Beneficios:
Más fácil de extender un microkernel
Más fácil portar el SO a otras arquitecturas
Más confiable (menos código se ejecuta en modo kernel)
Más seguro
Problemas:
Sobrecarga de comunicación entre los espacios de usuario y
kernel.
messages messages
microkernel
hardware
16
Módulos
17
Sistemas Híbridos
Los actuales SO no usan un solo modelo
Híbridos combina múltiples enfoques para abordar el
rendimiento, la seguridad, las necesidades de usabilidad.
Los kernels Linux y Solaris en el espacio de direcciones del kernel,
son monolítico, y además de modular para la carga dinámica de
las funcionalidades.
Windows principalmente monolítico, además de microkernel
paras diferentes subsistemas personalizables.
Apple Mac OS X hibrido, capas, Aqua UI mas Cocoa son el entorno
de programación.
Por debajo esta el kernel que consta de microkernel Mach y BSD
Unix, además de kit de I/O y módulos dinámicamente cargables
(llamados extensiones del kernel ).
18