Sistemas Operativos
Transcript of Sistemas Operativos
I n t r o d u c c i ó n
Para que un ordenador pueda hacer funcionar un
programa informático (conocido como aplicación
o software), debe contar con la capacidad
necesaria para realizar cierta cantidad de
operaciones preparatorias que puedan garantizar
el intercambio de información entre el
procesador, la memoria y los recursos físicos
(periféricos).
El sistema operativo se encarga de crear elvínculo entre los recursos materiales, el usuario ylas aplicaciones (procesador detexto, videojuegos, etc.).
Cuando un programa desea acceder a un recursomaterial, no necesita enviar informaciónespecífica a los dispositivos periféricos;simplemente envía la información al sistemaoperativo, el cual la transmite a los periféricoscorrespondientes a través de su driver(controlador). Si no existe ningún driver, cadaprograma debe reconocer y tener presente lacomunicación con cada tipo de periférico.
De esta forma, el sistema operativo permite
la «disociación» de programas y
hardware, principalmente para simplificar la
gestión de recursos y proporcionar una
interfaz de usuarios sencilla con el fin de
reducir la complejidad del equipo.
Un sistema operativo está conformadobásicamente por cuatro módulos:
Núcleo o Kernel
Administrador de memoria
Sistema de entrada/salida
Administrador de archivos
A veces se considera un quinto módulo: elintérprete de comandos o intérprete deinstrucciones, el cual se encarga de «traducir»las ordenes que el usuario ingresa mediante elteclado u otros dispositivos a un «lenguaje» quela máquina pueda entender.
Es el módulo de más bajo nivel de un sistema
operativo, pues descansa directamente sobre
el hardware de la computadora.
Entre las tareas que desempeña se incluyen:
El manejo de las interrupciones
La asignación de trabajo al procesador
Proporcionar una vía de comunicación entre los
distintos programas.
En general, se encarga de controlar el resto
de los módulos y sincronizar su ejecución.
Contiene un submódulo denominado
«planificador», el cual se encarga de asignar
tiempo del procesador a los programas, de
acuerdo a una cierta política de planificación
que varía de un sistema operativo a otro.
Utiliza una jerarquía de prioridades que
determinan cómo se asignará el tiempo del
CPU a cada programa.
Se encarga de asignar ciertas porciones de la
memoria principal (RAM) a los diferentes
programas o partes de los programas que la
necesitan, mientras el resto de los datos y
los programas se mantienen en los
dispositivos de almacenamiento masivo.
De este modo, cuando se asigna una parte de
la memoria principal se hace de una forma
estructurada, siguiendo un determinado
orden.
La forma más común de administración de la
memoria supone crear una memoria virtual;
con este sistema, la memoria de la
computadora aparece, para cualquier usuario
del sistema, mucho mayor de lo que en
realidad es.
Este componente presenta al usuario la E/S
de datos como una cuestión independiente
del dispositivo; es decir, para los
usuarios, todos los dispositivos tienen las
mismas características y son tratados de la
misma forma, siendo el sistema operativo el
encargado de atender las particularidades de
cada uno de ellos (como su velocidad de
operación).
Se encarga de mantener la estructura de los
datos y los programas del sistema y de los
diferentes usuarios (que se mantienen en
archivos) y de asegurar el uso eficiente de
los medios de almacenamiento masivo.
Supervisa la creación, actualización y
eliminación de los archivos, manteniendo un
directorio con todos los archivos que existen
en el sistema en cada momento y coopera
con el módulo administrador de memoria
durante las transferencias de datos desde y
hacia la memoria principal.
Las características deseables más
importantes de un sistema operativo son:
Permitir la concurrencia de
procesos, traslapándose en el tiempo de
entrada/salida (E/S) con el de cálculo y
ocupando la memoria con varios programas.
Posibilitar la ejecución de cualquier proceso en
el momento que se solicite siempre y cuando
haya suficientes recursos libres para él.
Ser eficiente en cuanto a reducir: el tiempo
medio que ocupa cada trabajo, el tiempo que no
se usa el CPU, el tiempo de respuesta en
sistemas multiacceso y el plazo entre dos
asignaciones de CPU a un mismo programa.
Ser eficiente en cuanto a aumentar la utilizaciónde recursos en general, tales comomemoria, procesadores, dispositivos deE/S, discos magnéticos, datos, etc.
Ser fiable, es decir, un sistema operativo no debetener errores y debe prever todas las posiblessituaciones.
Ser de tamaño pequeño.
Posibilitar y facilitar en lo posible el «diálogo»entre computadora y usuario de la misma.
Permitir compartir entre varios usuarios losrecursos de hardware con que cuenta unacomputadora.
Permitir a los usuarios compartir datos entre
ellos, en caso necesario.
Facilitar la E/S de los diferentes dispositivos
conectados a una computadora.
Las funciones más importantes que debe
cumplir un sistema operativo son las
siguientes:
Aceptar los trabajos y conservarlos hasta su
finalización.
Detectar errores y actuar de modo apropiado en
caso de que se produzcan.
Controlar las operaciones de E/S.
Controlar las interrupciones.
Planificar la ejecución de tareas.
Entregar recursos a las tareas.
Retirar recursos de las tareas.
Proteger la memoria contra el acceso indebido
de los programas.
Soportar el mutiacceso.
Proporcionar al usuario un sencillo manejo de
todo el sistema.
Aprovechar los tiempos muertos del procesador.
Compartir los recursos de la máquina entre varios
procesos al mismo tiempo.
Administrar eficientemente el sistema de
cómputo como un todo armónico.
Permitir que los diferentes usuarios se
comuniquen entre sí, así como protegerlos unos
de otros.
Permitir a los usuarios almacenar información
durante plazos medianos o largos.
Dar a los usuarios la facilidad de utilizar de
manera sencilla todos los recursos, facilidades y
lenguajes de que dispone la computadora.
Administrar y organizar los recursos de que
dispone una computadora para la mejor
utilización de la misma, en beneficio del mayor
número posible de usuarios.
Controlar el acceso a los recursos de un sistema
de computadora.
Debido a la evolución de los sistemas
operativos fue necesario realizar una
clasificación; considerando las diferencias
existentes entre sus componentes los
podemos clasificar en:
Sistemas operativos por lotes
Sistemas operativos multiprogramación
Sistemas operativos multiusuario
Sistemas operativos de tiempo compartido
Sistemas operativos de tiempo real
Los sistemas operativos por lotes requieren
que la información esté reunida en bloques o
«lotes» (el programa, los datos y las
instrucciones).
Los trabajos son procesados en el orden de
admisión, según el modelo de «primero en
llegar, primero en ser atendido».
En estos sistemas la memoria se divide en
dos zonas: una es ocupada por el sistema
operativo, y la otra se usa para cargar
programas transitorios para su ejecución.
Cuando termina la ejecución de un programa
se carga un nuevo programa en la misma
zona de memoria.
Los sistemas de multiprogramación son
capaces de soportar dos o más procesos
concurrentes múltiples, permiten que
residan al mismo tiempo en la memoria
primaria las instrucciones y los datos
procedentes de dos o más procesos.
Estos sistemas implican la operación de
multiproceso, para el manejo de la
información.
Se caracterizan principalmente por un gran
número de programas activos
simultáneamente que compiten por los
recursos del sistema, como el procesador, la
memoria y los dispositivos de E/S.
Estos sistemas monitorean el estado de todos
los programas activos y recursos del sistema.
Los sistemas operativos multiusuario
permiten acceder simultáneamente a un
sistema de computadoras a través de dos o
más terminales.
Este tipo de sistema operativo es
fundamental en el manejo de redes de
computadoras actualmente.
Los sistemas operativos de tiempo
compartido tratan de proporcionar un
reparto equitativo de los recursos comunes
para dar la impresión a los usuarios de que
poseen una computadora independiente.
En estos sistemas el administrador de
memoria proporciona aislamiento y
protección de los programas, ya que
generalmente no tienen necesidad de
comunicarse entre ellos.
El control de E/S se encarga de proporcionar
o retirar la asignación a los dispositivos de
forma que se preserve la integridad del
sistema y se proporcione servicio a todos los
usuarios.
El administrador de archivos proporciona
protección y control en el acceso de la
información, dada la posibilidad de
concurrencia y conflictos al tratar de
acceder a los archivos.
Estos sistemas tienen como objetivo
proporcionar tiempos más rápidos de
respuesta, procesar la información sin
tiempos muertos.
En estos sistemas el administrador de
memoria es relativamente menos solicitado
debido a que muchos procesos residen
permanentemente en la memoria.
El administrador de archivos se encuentra
normalmente en grandes sistemas de tiempo
real y su objetivo principal es manejar la
velocidad de acceso, más que la utilización
eficaz del almacenamiento secundario.