3. 1. Introducción
Definición de sistema operativo: Un sistema operativo es
un programa o conjunto de programas de un sistema
informático que gestiona los recursos de hardware y provee
servicios a los programas, ejecutándose en modo
privilegiado respecto de los restantes.
Relación entre hardware y software: El software (los
programas) dan instrucciones para realizar tareas al
hardware. Los datos solamente existen para su uso eventual
por un programa.
33
5. 2.Funcionamiento del sistema operativo
Funcionamiento básico: Los sistemas operativos
proporcionan una plataforma de software encima de la cual
otros programas, llamados aplicaciones, puedan funcionar.
Las aplicaciones se programan para que funcionen encima
de un sistema operativo particular.
55
6. Funciones de los sistemas operativos:
Administración del procesador: El sistema operativo administra la
distribución del procesador entre los distintos programas por medio de un
algoritmo de programación. El tipo de programador depende
completamente del sistema operativo, según el objetivo deseado.
Gestión de la memoria de acceso aleatorio: El sistema operativo se
encarga de gestionar el espacio de memoria asignado para cada
aplicación y para cada usuario. Cuando la memoria física es insuficiente,
el sistema operativo puede crear una zona de memoria en el disco duro,
denominada "memoria virtual". La memoria virtual permite ejecutar
aplicaciones que requieren una memoria superior a la memoria RAM
disponible en el sistema.
7. Gestión de entradas/salidas: El sistema operativo permite unificar y
controlar el acceso de los programas a los recursos materiales a través de
los drivers (también conocidos como administradores periféricos o de
entrada/salida).
Gestión de ejecución de aplicaciones: El sistema operativo se encarga
de que las aplicaciones se ejecuten sin problemas asignándoles los
recursos que éstas necesitan para funcionar. Esto significa que si una
aplicación no responde correctamente puede "caerse".
Gestión de la información: El sistema operativo proporciona cierta
cantidad de indicadores que pueden utilizarse para diagnosticar el
funcionamiento correcto del equipo.
7
9. Administración de autorizaciones: El sistema operativo se
encarga de la seguridad en relación con la ejecución de
programas garantizando que los recursos sean utilizados sólo
por programas y usuarios que posean las autorizaciones
correspondientes.
Gestión de archivos: El sistema operativo gestiona la
lectura y escritura en el sistema de archivos, y las
autorizaciones de acceso a archivos de aplicaciones y
usuarios.
9
10. Estructuras en los sistemas operativos: El sistema
operativo se encuentra estructurado en:
* Estructura modular.
* Estructura de anillos o capas.
* Estructura Microkernel.
1010
12. Estructura modular: También llamados sistemas
monolíticos, se caracterizan por que carecen de estructura.
Este sistema se describe como una colección de
procedimientos es decir que estos pueden llamar a otros
sistemas cada vez que así lo requieran. Los servicios también
denominados llamadas al sistema que proporciona el sistema
operativo se solicitan colocando los parámetros en lugares
bien definidos, como en los registros o en la pila, para
después ejecutar una instrucción especial de trampa de
nombre "llamada al núcleo".
12
13. Estructura de anillos o capas: Consiste en organizar al sistema
operativo en una jerarquía de capas, es decir que una esta construida
sobre la inmediata inferior
El primer sistema construido de esta forma fue el llamado SISTEMA
THE (Technische Hogeschool Eindhoven), el cual constaba de seis
capas:
CAPA 0: El sistema consta de procesos secuénciales, cada uno de los
cuales se podría programar sin importar que varios procesos estuvieran
ejecutándose en el mismo procesador, la capa cero proporciona la
multiprogramación básica de la CPU
CAPA 1: Realizaba la administración de la memoria. Asignaba el
espacio de memoria principal para los procesos Por encima de la capa 1,
los procesos no debían preocuparse si estaban en la memoria o en el
recipiente; el software de la capa 1 se encargaba de garantizar que las
páginas llegaran a la memoria cuando fueran necesarias.
13
15. CAPA 2: Era la que se encargaba de la comunicación entre cada proceso
y la consola del operador. Por encima de esta capa, cada proceso tiene su
propia consola de
operador.
CAPA 3: Controla los dispositivos de ENTRADA Y SALIDA y guarda
en almacenes (buffers) los flujos de información entre ellos.
CAPA 4: Estaban los programas del usuario, estos no tenían que
preocuparse por el proceso, memoria, consola o control de E/S.
CAPA 5: Es donde se localiza el proceso operador del sistema
15
16. Estructura Microkernel: En esta estructura es donde las funciones
centrales son controladas por el núcleo mas conocido como KERNEL y la
interfaz del usuario es controlada por el entorno mas conocido como SHELL. El
microkernel se encarga de la planificación de hilos (post anterior), no de
procesos, esto hace posible tener varias tareas (multitarea), siendo así el
microkernel el que planifica todo el código que corre en el sistema.
Estas son algunas de las tareas que realiza el microkernel:
- Manipulación de las interrupciones en el sistema desde dispositivos físicos.
- Manipula excepciones del procesador.
- Proporciona soporte para la recuperación de un sistema con alguna falla de
caída de energía.
16
17. Monolítico vs Kernel: El kernel Monolítico como su nombre lo
dice está compuesto por un solo núcleo; miles de componentes
encapsulados dentro de un módulo, es decir, el núcleo se comporta como
un solo programa.
El MicroKernel está compuesto por un núcleo y al rededor de éste está
compuesto por 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.
17
19. El Kernel Monolìtico es robusto, pero como está compuesto de un solo
núcleo lo que 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 del sistema.
La ventaja que tiene el MicroKernel es que es mucho menos complejo y
los fallos a diferencia del Kernel Monolítico se pueden descentralizar,
permitiendo al sistema operativo manejar una excepción sin
comprometer la estabilidad del sistema en la mayoría de los casos.
El sistema operativo intereactúa de manera independiente con cada uno
de los componentes, por ejemplo, los dispositivos de audio, el teclado
etc. Minix es un claro ejemplo de un sistema operativo con MicroKernel.
19
20. Monolítico vs Capas: El sistema monolítico es cuando el sistema
operativo tiene un núcleo monolítico en el cual se agrupan todas las
funcionalidades posibles dentro de un gran programa en este núcleo
todos los componentes funcionales tiene acceso a todas sus estructuras de
datos internas y rutinas si se presenta un error en una de sus rutinas todo
el sistema se ve afectado , todos los componentes se encuentran
almacenados en un único programa que se ejecuta en un único espacio de
dirección en estos casos los programas se ejecutan en modo supervisor.
Este sistema de capas es cuando todo se maneja por orden empezando
por el centro donde toda la información tiene un orden para poder
acceder al sistema pasando por cada capa y cada capa tiene una función
asignada y una labor distinta para la interacción ente ellas y cada una
tiene su nivel de seguridad la inferior se llama
20
21. Multitarea y multiproceso en los sistemas operativos: El término
multitarea se refiere a la capacidad del Sistema Operativo para correr
mas de un programa al mismo tiempo. Existen dos esquemas que los
programas de sistemas operativos utilizan para desarrollar Sistema
Operativo multitarea, el primero requiere de la cooperación entre el
Sistema Operativo y los programas de aplicación.
Los programas son escritos de tal manera que periódicamente
inspeccionan con el Sistema Operativo para ver si cualquier otro
programa necesita a la CPU, si este es el caso, entonces dejan el control
del CPU al siguiente programa, a este método se le llama multitarea
cooperativa y es el método utilizado por el Sistema Operativo de las
computadoras de Machintosh y DOS corriendo Windows de Microsoft.
21
23. Un Sistema Operativo multiusuario permite a mas de un solo usuario
acceder una computadora. Claro que, para llevarse esto a cabo, el
Sistema Operativo también debe ser capaz de efectuar multitareas.
Unix es el Sistema Operativo Multiusuario más utilizado. Debido a que
Unix fue originalmente diseñado para correr en una minicomputadora,
era multiusuario y multitarea desde su concepción.
Actualmente se producen versiones de Unix para PC tales como The
Santa Cruz Corporation Microport, Esix, IBM, y Sunsoft. Apple también
produce una versión de Unix para la Machintosh llamada: A/UX.Unix
23
25. A finales de la década de 1940, con lo que se podría considerar la
aparición de la primera generación de computadoras, se accedía
directamente a la consola de la computadora desde la cual se actuaba
sobre una serie de micro interruptores que permitían introducir
directamente el programa en la memoria de la computadora.
A principios de los años 50 con el objeto de facilitar la interacción entre
persona y computadora, los sistemas operativos hacen una aparición
discreta y bastante simple, con conceptos tales como el monitor
residente, el proceso por lotes y el almacenamiento temporal.
1. Evolución de los sistemas operativos
25
26. En los años 60 se produjeron cambios notorios en varios campos de la
informática, con la aparición del circuito integrado la mayoría orientados
a seguir incrementando el potencial de los ordenadores. Para ello se
utilizaban técnicas de lo más diversas.
Además del Atlas Supervisor y el OS/360, los años 1970 marcaron el
inicio de UNIX, a mediados de los 60 aparece Multics, sistema operativo
multiusuario - multitarea desarrollado por los laboratorios Bell de AT&T
y Unix, convirtiéndolo en uno de los pocos SO escritos en un lenguaje de
alto nivel. En el campo de la programación lógica se dio a luz la primera
implementación de Prolog, y en la revolucionaria orientación a objetos,
Smalltalk.
26
27. Con la creación de los circuitos LSI (integración a gran escala), chips
que contenían miles de transistores en un centímetro cuadrado de silicio,
empezó el auge de los ordenadores personales. En éstos se dejó un poco
de lado el rendimiento y se buscó más que el sistema operativo fuera
amigable surgiendo interfaces gráficas.
En esta época, siguieron utilizándose lenguajes ya existentes, como
Smalltalk o C, y nacieron otros nuevos, de los cuales se podrían destacar:
C++. Un avance importante de 1980 fue el desarrollo de redes de
computadoras personales que corrían sistemas operativos en red y
sistemas operativos distribuidos.
En esta escena, dos sistemas operativos eran los mayoritarios: MS-DOS
(Micro Soft Disk Operating System), escrito por Microsoft para IBM PC
y otras computadoras que utilizaban la CPU Intel 8088 y sus sucesores, y
UNIX, que dominaba en los ordenadores personales que hacían uso del
Motorola 68000.
27
29. En 1990 Este sistema a parece una versión mejorada de Unix, basado en
el estándar POSIX, un sistema que en principio trabajaba en modo
comandos. Hoy en día dispone de Ventanas, gracias a un servidor gráfico
y a gestores de ventanas como KDE, GNOME entre muchos.
Recientemente GNU/Linux dispone de un aplicativo que convierte las
ventanas en un entorno 3D como por ejemplo Beryl o Compiz. Lo que
permite utilizar Linux de una forma visual atractiva.
29
30. 4. Tipos de sistemas operativos
DOS: El famoso DOS, que quiere decir Disk Operating System
(sistema operativo de disco), es más conocido por los nombres de
PC-DOS y MS-DOS. MS-DOS fue hecho por la compañía de
software Microsoft y es en esencia el mismo SO que el PC-DOS.
Windows 3.1: Microsoft tomo una decisión, hacer un sistema
operativo que tuviera una interfaz gráfica amigable para el usuario, y
como resultado obtuvo Windows. Este sistema muestra íconos en la
pantalla que representan diferentes archivos o programas, a los
cuales se puede accesar al darles doble click con el puntero del
mouse. Todas las aplicaciones elaboradas para Windows se parecen,
por lo que es muy fácil aprender a usar nuevo software una vez
aprendido las bases.
30
31. Windows 95: En 1995, Microsoft introdujo una nueva y mejorada
versión del Windows 3.1. Las mejoras de este SO incluyen soporte
multitareas y arquitectura de 32 bits, permitiendo así correr mejores
aplicaciónes para mejorar la eficacia del trabajo.
Windows NT: Esta versión de Windows se especializa en las redes
y servidores. Con este SO se puede interactuar de forma eficaz entre
dos o más computadoras.
OS/2: Este SO fue hecho por IBM. Tiene soporte de 32 bits y su
interfaz es muy buena. El problema que presenta este sistema
operativo es que no se le ha dad el apoyo que se merece en cuanto a
aplicaciones se refiere. Es decir, no se han creado muchas
aplicaciones que aprovechen las características de el SO, ya que la
mayoría del mercado de software ha sido monopolizado por
Windows. 31
33. Mac OS: Las computadoras Macintosh no serían tan populares
como lo son si no tuvieran el Mac OS como sistema operativo de
planta. Este sistema operativo es tan amigable para el usuario que
cualquier persona puede aprender a usarlo en muy poco tiempo. Por
otro lado, es muy bueno para organizar archivos y usarlos de manera
eficaz. Este fue creado por Apple Computer, Inc.
UNIX: El sistema operativo UNIX fue creado por los laboratorios
Bell de AT&T en 1969 y es ahora usado como una de las bases para
la super carretera de la información. Unix es un SO multiusuario y
multitarea, que corre en diferentes computadoras, desde
supercomputadoras, Mainframes, Minicomputadoras, computadoras
personales y estaciones de trabajo. Esto quiere decir que muchos
usuarios puede estar usando una misma computadora por medio de
terminales o usar muchas de ellas.
33