2. Índice:
Introducción
Funcionamiento de los S. O.
Funcionamiento básico
Funciones
Estructura
Monolítico vs Kernel
Monolítico vs Capas
Multitarea y multiprocesos en los S. O.
Evolución de los S. O.
3. Introducción: Definición de
S.O.
Es el software básico de una computadora que provee una
interfaz entre el resto de programas del ordenador, los
dispositivos hardware y el usuario.
Conjunto de órdenes y programas que controlan los procesos
básicos de una computadora y permiten el funcionamiento de
otros programas.
En sistemas grandes se asegura de que los programas y
usuarios que están funcionando al mismo tiempo no
interfieran entre ellos. Es responsable de la seguridad,
asegurándose de que los usuarios no autorizados no tengan
acceso al sistema.
4. Funcionamiento de los S.O.
Funcionamiento básico
Los sistemas operativos proporcionan una plataforma de
software encima de la cual otros programas, llamados
aplicaciones, puedan funcionar, por tanto, determina en gran
medida las aplicaciones que puedes utilizar.
Entre las funciones básicas se encuentran:
-Proporcionar comodidad en el uso de un ordenador.
-Gestionar de manera eficiente los recursos del equipo,
ejecutando servicios para los procesos (programas)
-Brindar una interfaz al usuario, ejecutando instrucciones
(comandos).
-Permitir que los cambios debidos al desarrollo del propio SO
se puedan realizar sin interferir con los servicios que ya se
prestaban (evolutividad).
5. Funciones
-Suministro de interface al usuario
Es aquella parte del sistema operativo que nos permite
comunicarnos con él de tal manera que se puedan cargar
programas, acceder archivos ya realizar otras tareas. Los 3
tipos principales de interface son:
• Basadas en comandos: cuando usamos la consola e
ingresamos los comandos.
• Basadas en menús
• Basadas en interfaces gráficas de usuario: Gnome, Kde.
-Administración de recursos
Esta funcionalidad nos sirve para administrar los recursos de
hardware y de redes de un sistema informativo, como el
CPU, memoria, dispositivos de almacenamiento secundario y
periféricos de entrada y de salida.
6. -Administración de tareas
Los programas de administración de tareas de un sistema
operativo administran la realización de las tareas informáticas
de los usuarios finales. Los programas controlan que áreas
tiene acceso al CPU y por cuánto tiempo. Las funciones de
administración de tareas pueden distribuir una parte
específica del tiempo del CPU para una tarea en particular, e
interrumpir al CPU en cualquier momento para sustituirla con
una tarea de mayor prioridad.
-Administración de archivos
Un sistema de información contiene programas de
administración de archivos que controlan la creación, borrado
y acceso de archivos de datos y de programas. También
implica mantener el registro de la ubicación física de los
archivos en los discos magnéticos y en otros dispositivos de
almacenamiento secundarios.
7. -Servicio de soporte y utilería
Entre las compañías que ofrecen este servicio se encuentran:
• Microsoft
• UNIX
• Linux
• Mac OS X
8. Estructura
La estructura interna de los sistemas operativos pueden ser
muy diferentes, ya que se debe tener en cuenta las metas de
los usuarios (fácil uso, confiable, rápido, etc.) y las del
sistema (fácil de diseñar, implementar y mantener, eficiente,
etc.).
-Sistema monolítico
Estos sistemas no tienen una estructura definida, sino que son
escritos como una colección de procedimientos donde
cualquier procedimiento puede invocar a otro.
Ejemplos de estos sistemas pueden ser MS-DOS o Linux
(aunque incluye algo de capas). Es importante tener en
cuenta que ningún sistema es puramente de un tipo.
9. -Sistema en capas
El diseño se organiza en una jerarquía de capas, donde los
servicios que brinda una capa son consumidos solamente
por la capa superior. La capa 0 es del Hardware y la N es la
de los procesos de Usuario.
Estos sistemas tienen como ventaja que son modulares y la
verificación se puede hacer a cada capa por separado (son
más mantenibles).
Sin embargo el diseño es muy costoso y es menos eficiente
que el sistema monolítico ya que pierde tiempo pasando por
cada capa.
10. -Sistema con micro núcleo
La idea consiste en tener un núcleo que brinde los servicios
mínimos de manejo de procesos, memoria y que provea la
comunicación entre procesos. Todos los restantes servicios
se construyen como procesos separados del micro núcleo,
que ejecutan en modo usuario.
Estos sistemas tienen como ventaja un diseño simple y
funcional, que aumenta la portabilidad y la escalabilidad.
Para agregar un nuevo servicio no es necesario modificar el
núcleo, y es más seguro ya que los servicios corren en modo
usuario.
11. Monolítico vs Kernel
Monolítico
Compuesto por un solo núcleo que se comporta como un solo
programa. Limita las actualizaciones o parches que puedan
aplicarse en tema de software o hardware ya que todo se ve
afectado y puede llegar a verse comprometida la estabilidad
y funcionamiento del sistema.
Ejemplo: UNIX.
Kernel
Compuesto por un núcleo y a su rededor sub-programas que
funcionan de manera independiente, permitiéndole al sistema
operativo descentralizar fallos y excepciones sin tener
que apagar todo el sistema operativo o comprometer
directamente la estabilidad del mismo.
Es que es mucho menos complejo
Ejemplo: Minix.
12. Monolítico vs Capas
Monolítico
Estructuras fijas que funcionan entre sí. Existen módulos grandes en
el kernel, los cuales interactúan entre sí, para poder tener una
estructura, las diferentes partes del Kernel son compiladas por
capas. Se encarga del funcionamiento del PC como son
comunicación entre procesos, planificación y gestión del espacio
de direcciones.
Capas
El sistema operativo como una jerarquía de capas, cada una
constituida sobre la inmediata inferior.
Para controlar los aspectos del hardware está la capa de
dispositivos, conjunto de funciones que dentro del Kernel del S.O.
que acceden al hardware y hacen el trabajo de escritura y lectura.
Capa 0: Asignación del procesador y multiprogramación.
Capa 1: Admin. de los recursos del sistema (memoria, disco,
etc...).
Capa 2: Comunicación operador-proceso.
Capa 3: Control E/S.
Capa 4: Programas de usuario.
13. Multitarea y multiprocesos
Multitarea
Capacidad del Sistema Operativo para ejecutar más de un
programa al mismo tiempo. Esquemas que los programas de
sistemas operativos utilizan:
El primero requiere de la cooperación entre el Sistema
Operativo y los programas de aplicación.
El segundo (preventiva) mantiene una lista de programas que
están corriendo con una prioridad. El Sistema Operativo
puede intervenir y modificar la prioridad de un proceso y
también mantiene el control del tiempo que utiliza con
cualquier proceso antes de ir al siguiente.
La conmutación de contextos, dos o más aplicaciones se
cargan al mismo tiempo, pero en el que sólo se está
procesando la aplicación que se encuentra en primer plano.
Para activar otra tarea el usuario debe traer al primer plano la
ventana o pantalla que contenga esa aplicación.
14. Multiprocesos
Las computadoras que tienen más de un CPU son llamadas
multiproceso. Coordina las operaciones de la computadoras
multiprocesadoras, se incrementa la velocidad de respuesta
y procesos. Al principio retenían el control global de la
computadora, así como el de los otros procesadores.
Multiproceso simétrico: En un sistema multiproceso simétrico,
no existe una CPU controladora única. La barrera a vencer al
implementar el multiproceso simétrico es que los SO tienen
que ser rediseñados o diseñados desde el principio para
trabajar en u n ambiente multiproceso.
Windows NT de Microsoft soporta multiproceso simétrico.
• Síntesis:
La multitarea se refiere a la habilidad de ejecutar varias tareas
al mismo tiempo.
El multiprocesamiento es una capacidad del sistema operativo
de utilizar más de un procesador al mismo tiempo, si el
hardware lo permite.
15. Evolución de los
S.O.
En los 40's, se introducen los programas bit a bit y después se
introdujo el lenguaje maquina que trabajaba por tarjetas
perforadas.
Con las primeras computadoras el programador interactuaba de
manera directa con el hardware de la computadora, la
entrada de datos y los programas se realizaban a través del
lenguaje maquina (bits) o a través de interruptores.
A principio de los 50's, la compañía General's Motors
implanto el primer sistema operativo para su IBM 170.
Surgen las tarjetas perforadas que permiten a los usuarios
encargarse de modificar sus programas.
En los años 60's y 70's se genera el circuito integrado que
determina los trabajos comunes y los realiza todos juntos de
una sola vez. Surgen las unidades de cinta y el cargador de
programas (primer tipo de Sistema Operativo).
16. En los 80's, inicio del INTERNET en los Estados Unidos de
América. A finales de los años 80's comienza el gran auge y
evolución de los Sistemas Operativos. Se descubre el
concepto de multiprogramación, tema principal de los
Sistemas Operativos actuales.
Los 90's y el futuro, entramos a la era de la computación
distribuida y del multiprocesamiento a través de múltiples
redes de computadoras, aprovechando el ciclo del
procesador.
Se tendrá una configuración dinámica con un reconocimiento
inmediato de dispositivos y software que se añada o elimine
de las redes a través de procesos de registro y localizadores.
La conectividad se facilita gracias a estándares y protocolos
de sistemas abiertos por organizaciones como la
Organización Internacional de normas, fundación de software
abierto, todo estará mas controlado por los protocolos de
comunicación OSI y por la red de servicios digital ISDN.