10/09/2015
1
Sistemas Operativos
Introducción a los Sistemas
Operativos
Importancia del estudio de los S.O
Sin el software una computadora es en esencia una masa
metálica sin utilidad.
Los S.O. como componentes del software de las computadoras
son una parte fundamental debido a que a través de ellos se
simplifica el trabajo de una manera asombrosa.
Hoy en día es una realidad que cualquier programador pase gran
parte de su tiempo dialogando con el S.O., por lo que un buen
conocimiento del mismo, es un seguro de una utilización
eficiente y de alto rendimiento.
10/09/2015
2
Estructura de una computadora
Definición de sistema operativo
Existen diferentes puntos de vistas para definir un S.O.,los cuales son los siguientes:
Punto de Vista del Software
Punto del Gestor de Recursos
Teniendo en cuenta el concepto de maquina extendida
Teniendo en cuenta el significado de los términos que
componen la definición.
10/09/2015
3
Definición de sistema operativo
Un sistema operativo es el soporte lógico que controla el
funcionamiento del equipo físico.
Punto de vista del gestor derecurso
Un Sistema Operativo es el administrador de recursos
ofrecidos por el hardware para alcanzar un eficaz
rendimiento de los mismos.
10/09/2015
4
Punto de vista de la maquinaextendida
El Sistema Operativo constituye un recurso de alto nivel
que permite convertir la maquina física en maquina virtual
o extendida que facilita el uso de este.
Punto de vista de los términosque lo componen
Se puede definir de una manera mas académica, en la
definición de los términos sistemas y operativo. SISTEMA:
conjunto de personas, maquinas y cosas que
ordenadamente relacionados entre si, contribuyen a lograr
un determinado objetivo.
OPERATIVO: personas, maquinas y cosas que trabajan
conjuntamente y consiguen el objetivo deseado.
10/09/2015
5
“Un S.O. es un conjunto de programas que ordenadamente
relacionados entre si contribuyen a que la computadora lleve a
cabo correctamente su trabajo”.
El sistema Operativo cubre dos objetivos fundamentales:
Facilitar el trabajo del usuario.
Gestionar de forma eficiente los recursos.
Funciones del sistema operativo
Gestor de recursos(CPU, memoria, etc.)
Asignación y recuperación de recursos.
Protección de los usuarios
Contabilidad/monitorización
Soporte de usuario
Maquina extendida (servicios)
Ejecución de programas (procesos)
Ordenes de E/S
Operaciones sobre archivos
Detección y tratamiento de errores
Interfaz de usuario
Shell
10/09/2015
6
Niveles del sistema operativo
NUCLEO DEL S.O.:parte residentes del S.O. que se cargan a la
hora de arrancar la maquina y se mantiene residente siempre en
memoria.
PROCESOS DEL USUARIO: aplicaciones hechas por
programadores que se ejecutan sobre el sistema operativo,
piden los servicios del sistema operativo invocando “llamadas al
sistema”.
LLAMADAS AL S.O: interfaz formada por un conjunto de servicios
que el S.O ofrece a los procesos del usuario.
Niveles del sistema operativo
PROGRAMAS DEL SISTEMA: Utilidades del S.O que se
ejecutan como procesos del usuario(fuera del nucleo).
10/09/2015
7
Arranque del S.O
El Reset carga valores predefinidos en registros
CP direccion de arranque del cargador ROM
Se ejecuta el cargador ROM del sistema
Test del sistema
Trae a memoria el boot del SO
Arranque del S.O
En el caso del PC la ROM contiene, ademas, sw de E/S
(BIOS).
El SO esta almacenado en el disco.
El cargador ROM carga el sector de boot del SO y le da control.
10/09/2015
8
Arranque del S.O
El boot del SO carga el SO residente y da control alprograma de arranque del SO, que:
Comprueba el hardware
Comprueba el sistema de ficheros
Establece las tablas del SO
Crea procesos (segun el tipo de SO)
Proceso INIT
Procesos o tareas del sistema(demonios)
Procesos de login(uno por terminal)
Tras la autenticacion, el proceso login se convierte en shell.
Modos de ejecución de los S.O
La mayor parte de los procesadores tienen como minimo
dos modos de funcionamiento o modos de ejecucion:
SUPERVISOR O PRIVILEGIADO: en este modo es posible
acceder a todo el juego de instrucciones del procesador.
USUARIO: en este modo no es posible acceder a las
instrucciones denominadas privilegiadas, como por ejemplo:
e/s, memoria, almacenamiento, etc.
10/09/2015
9
Componentes de un S.O
Estructura de los S.O.
A continuacion se describiran las distintas estructuras que
presentan los actuales S.O. para satisfacer las necesidades
que de ellos se quieren obtener:
Estructura monolitica
Estructura jerarquica
Maquina virtual
Cliente/servidor
10/09/2015
10
Estructura monolítica
Es la estructura de los primeros S.O. fundamentalmente por
un solo programa compuesto de un conjunto de rutinas
entrelazadas de tal forma que cada una puede llamar a
cualquier otra.
Sus características fundamentales son: Construcción del programa final de módulos compilados
separadamente que se unen a través del editor de enlaces. Buena definición de parámetros de enlace entre las distintas
rutinas existentes. Carecen de protección y privilegios
Generalmente están hecho a medida
Estructura Jerárquica
Se dividió el S.O. en pequeñas
partes, de tal forma que cada
una de ellas estuvieron
perfectamente definidas con
una clara interfaz con el resto de
elementos.
Se construyo una estructura
jerárquica o de niveles en los
S.O.
10/09/2015
11
Estructura de la maquina virtual
Se trata de un tipo de S.O. que presenta una interface a cada
proceso, mostrando una maquina que parece idéntica a la
maquina real subyacente.
Estos S.O. separan dos conceptos: multiprogramación y maquina
extendida.
El objetivo de los S.O. de maquina virtual es el de integrar
distintos S.O. Dando la sensación de ser varias maquinas.
Estructura de la maquina virtual
10/09/2015
12
Estructura: Cliente/Servidor
Es el tipo mas reciente de S.O., que pueden ser ejecutados en la
mayoría de computadoras, ya sean grandes o pequeñas.
Este sistema sirve para todo; por lo tanto es de propósito
general y se basa en los mismo que el resto de los S.O.
convencionales: núcleo y los procesos, presentando grandes
diferencias en cuanto a la forma de distribuir los trabajos entre
sus distintas partes.
Suele suministrar mecanismos adecuados para la gestión de:
procesos, memoria, comunicación entre procesos.
Estructura: Cliente/Servidor
El núcleo tiene como misión establecer la comunicación entre
los clientes y los servidores.
Los procesos pueden ser tanto servidores como clientes.
10/09/2015
13
Servicios de un S.O.
La misión de un S.O. es la de ayudar a los usuarios en el
manejo de la computadora; para ello deberá proporcionar
ciertos servicios que se pueden considerar desde dos puntos
de vista:
Punto de vista del programador:
Ejecución de programas: facilidad para cargar un programa en
memoria y ejecutarlo.
Operaciones de E/S: facilidades para que un programa pueda
tratar un archivo enviar o recibir datos a un dispositivo, etc..
Servicios de un S.O.
Gestión de archivos: facilidades de uso y organización del sistema
de archivos.
Punto de vista del Sistema:
Asignación de recursos: mecanismos de resolución de conflictos de
asignación de recursos cuando varios procesos o usuarios están
compitiendo por ellos.
Contabilidad: control de tiempos de utilización de recursos por los
usuarios para su facturación o simplemente para la obtención de
estadísticas.
Estos pueden ser: llamadas al S.O y programas del sistema
10/09/2015
14
Activación de los servicios del S.O.
Fuentes de la peticiones
Mandatos de los usuarios interpretados por el shell
Llamadas al sistema emitidas por los programas
Interrupciones producidas por los perifericos
Condiciones de excepción o error del hardware
Forma de solicitar los servicios
Por llamada problema de seguridad
Por interrupción o trap
Rutina de biblioteca
Instrucciones de maquina que prepara la llamada al SO
Llamadas al S.O.
Constituye la interface entre un programa en ejecución y el
S.O. Estas llamadas pueden agruparse de la siguiente forma:
Gestión de proceso, Gestión de Operaciones de E/S, Gestión
del Sistema de archivos, Proteccion.
Se implementa con interrupciones de software o trapas.
Normalmente se implementan a través de funciones y
procedimientos predefinidos que los lenguajes de
programación, ocultándose de esta manera los trapas.
10/09/2015
15
Llamadas al S.O.
Programas del sistema
En los S.O. además de las funciones básicas del núcleo que
pueden ser ejecutas, existen un conjunto de programas del
sistema o de utilidad cuya misión es resolver problemas
comunes.
Estos programas los podemos agrupar en: tratamiento de
archivos, información, editores, ejecución, utilidad e
interprete de comandos.
10/09/2015
16
Programas del sistema
Protección del S.O.
Los programas de aplicación de los usuarios no están exentos
de errores, así como tampoco están libres de usuarios con
malas intenciones. Por ello el S.O. debe incluir ciertas
funciones de protección con el objeto de evitar problemas
entre procesos y el propio S.O.
Protección de E/S: a través de drivers o controladores.
Protección de la memoria: usa registros fronteras
10/09/2015
17
Esta interfaz recupera la visión que como maquina
extendida tiene el usuario del sistema operativo
Interfaces seguidas
POSIX
Win32
Interfaz del programador
Interfaz estandar de sistemas operativos de IEEE
Objetivo: portabilidad de las aplicaciones entre diferentes
plataformas y sistemas operativos
NO es una implementación. Solo define una interfaz
Diferentes estándares 1003.1 Servicios básicos del SO 1003.1a Extensiones de los servicios basicos 1003.1b Extensiones de tiempo real 1003.1c Extensiones de procesos ligeros 1003.2 Shell y utilidades 1003.2b Utilidades adicionales
Estándar Posix
10/09/2015
18
Define los servicios ofrecidos por los sistemas Windows
95/98, Windows 2000
No es un estándar
API totalmente distinto a POSIX
Estándar Win32
Funciones Manipulación de archivos y directorios Herramientas de desarrollo de aplicaciones Comunicación con otros sistemas Información de estado Configuracion de la propia interfaz y entrono Intercambio de aplicaciones entre aplicaciones Control de acceso Sistema de ayuda interactivo
Tipos
Interfaces alfanuméricas (Interpretes de mandatos)
Interfaces graficas
Interfaz de usuario