1. Introducción a los sistemas Operativos.
El sistema
operativo es el software básico del ordenador. Este software gestiona todos los
recursos hardware y el sistema informático. Proporciona la base para la
creación y ejecución del software de aplicación.
El sistema
operativo es un conjunto de programas,
servicios y funciones que gestionan y coordinan el funcionamiento del
hardware y el software. Gracias al S.O
el hardware se identifica, se reconoce y el sistema informático empieza
a funcionar.
El sistema
operativo ofrece al usuario la forma de
comunicarse con el ordenador mediante el
teclado u otros dispositivos como el ratón, pantalla táctil, etc.
El sistema
operativo es el que realiza todo el trabajo dentro del sistema operativo, el
que hace transporte entre el usuario y el sistema operativo, todo debido a una
interfaz sencilla, proporciona al usuario una comunicación directa.
Hay 3 formas en
que el usuario puede utilizar un SO:
·
Sistemas
operativos monousuarios (SOMO).
·
Sistemas
operativos multiusuario (SOMU).
·
Sistemas
operativos en Red (SORED).
Esta primera
clasificación es casi evidente. En los sistemas operativos monousuario (SOMO),
los recursos del hardware y el software quedan a disposición de un solo
usuario.
En los sistemas
operativos multiusuarios (SOMU), varios usuarios pueden utilizar potencialmente
los recursos del hardware y del software de un mismo ordenador.
Actualmente los
SOMU han dado paso a los nuevos sistemas
operativos en red (SORED), en los que un ordenador comparte recursos con otros
equipos que están conectados a la misma red física.
Hoy por hoy,
varios usuarios que trabajan normalmente en un ordenador que tiene un sistema
operativo monousuario pero con funciones de red, se conectan y validan vía red
a un ordenador con un sistema operativo con elevada funcionalidad y conexiones
en red.
En los SOMO, la
ejecución de un programa no implica demasiadas complicaciones. El programa se
introduce por teclado o se carga por un dispositivo de almacenamiento externo.
Este programa se ubica en la memoria y empiezan a trabajar los componentes de
la UCP, la unidad de control y la unidad de aritmética lógica.
En los SOMU existe
una sola UCP, la del ordenador principal. A este ordenador están conectados los
teclados y monitores al modo de terminales.
En estos, la única
UCP existente realiza todos los procesos. Un solo procesador, un solo conjunto
de memoria RAM, uno o varios discos duros dentro del mismo equipo. Todo se
procesa en el ordenador principal. Primero se ejecuta unas instrucciones del
primer programa lanzado por el primer usuario, este programa se queda detenido
para dar un poco de tiempo en la UCP al proceso lanzado por el segundo usuario.
Este proceso se repetirá secuencialmente para dar servicio a todos los
programas de todos los usuarios, pero nunca de forma simultánea.
En los SORED, cada
usuario tendrá para si un ordenador personal con otro SO, normalmente uno
monousuario. Cada usuario encenderá su ordenador y establecerá comunicación con
el ordenador principal que dispone el SORED.
Cuando los cuatro
usuarios indican al ordenador principal, que es el que posee el SORED, que van
a ejecutar un programa, el ordenador principal puede actuar de varias formas.
La primera opción es delegar todo el peso del trabajo en el ordenador del
usuario que ha cargado el programa, el ordenador principal solamente hace de
servidor de aplicaciones. Si los cuatro solicitan la ejecución de un programa
en particular, el ordenador principal se dedicara a enviarles el programa a su
ordenador cliente.
El cliente solo
necesitara un pequeño software denominado software cliente para poder trabajar
con la aplicación o programa deseado.
Un sistema
operativo no tiene una labor sencilla dentro del sistema informatico.
2. evolución histórica de los sistemas
operativos
Los primeros
sistemas operativos se denominan monolíticos. La característica fundamental de
estos sistemas operativos es que su software básico era prácticamente imposible
de modificar una vez creado e instalado en un sistema informatico. Cuando los diseñadores
del propio SO, o los usuarios por necesidades especificas, querían introducir
modificaciones en el, la labor era realmente complicada, ya que se tenia que
reconfigurar todo el SO. A veces era más rentable crear un SO nuevo que
rediseñar uno ya viejo.
Para ver como han
evolucionado, tenemos que tener muy presente las arquitecturas de los
ordenadores, la evolución del hardware sobre el que se instalan.
Históricamente se
ha hablado de 4 generaciones de ordenadores, quedando definida las
características de cada una de ellas por los componentes hardware de los
sistemas informáticos que los componen. Hardware y SO evolucionan conjuntamente
y nunca por separado.
La primera
computadora fue diseñada por el matemático ingles Charles Babbage. Este
matemático ya tenia claro cual era la secuencia a seguir para el tratamiento automático
de la información: ENTRADA-PROCESO-SALIDA
.
George Boole
elaboro la teoría de la lógica matemática y el algebra de Boole. La elaboración
de procesos o programas que realizaran unos procesos u otros.
Podemos hablar de
varias generaciones de sistemas operativos:
·
PRIMERA
GENERACION (1945-1955): Se
utilizaban las válvulas de vacío. Estas computadoras, que no ordenadores, eran
maquinas programadas en lenguaje de maquina puro. Eran de gran tamaño, elevado
consumo de energía y muy lentas. Las operaciones se reducían a simples cálculos
matemáticos.
·
SEGUNDA
GENERACION (1955-1965):
Aparecieron los transistores, que se introducen dentro de la arquitectura de
computadoras. Desaparecen las válvulas de vacío por lo que las computadoras se
hacen mas pequeñas, baratas, consumen menos y despiden menos calor. En esta
generación aparece los procesos por lotes, proceso que implica tres fases:
o
Introducción
de datos a procesar en un componente hardware.
o
Llevar
físicamente el soporte, cargando con los datos, a la computadora para que los
procesara.
o
El
soporte en el que están los resultados se lleva a otro dispositivo físico
distinto a la computadora para finalizar realizar la generación de resultados.
·
TERCERA
GENERACION (1965-1980): Aparición
de los circuitos integrados. Se reducen considerablemente el tamaño y el
consumo de energía en los ordenadores gracias a la sustitución de los
transistores por los circuitos integrados. Son más baratos y más rápidos,
consumen menos energías y generan menos calor, destacamos el IBM 360 como maquina capaz de realizar
cualquier tipo de cálculo, ya fuera este aritmético o lógico.
·
CUARTA
GENERACION (1980 Hasta hoy):
Aparición de las computadoras computadoras personales. Se utilizan complejas
técnicas de integración y miniaturización de componentes electrónicos. Aparecen
las memorias de semiconductores, dispositivos de almacenamiento externo
magnéticos de pequeño tamaño, dispositivos ópticos, etc.
3. Recursos. Funciones de un sistema operativo.
El fin fundamental
de un SO es coordinar la utilización que se hace del hardware dependiendo de
los programas o aplicaciones que se estén utilizando.
En general,
hardware, software y usuarios se estructuran, en cuanto a la utilización de un
ordenador o sistema informatíco, de forma jerárquica.
Este tipo de
estructura es el que permite que el usuario interactúe con el hardware, función esencial, por no decir
única, de cualquier SO.
La comunicación entre
los diferentes niveles mostrados se realiza mediante las llamadas interfaces.
Un servicio es un tipo de aplicación que normalmente se ejecuta en segundo
plano. Los servicios proporcionan a los usuarios aplicaciones que incorporan
diversas formas de poder utilizar los recursos del SO.
Estos servicios
pueden utilizarse para:
·
Crear
programas.
·
Ejecutar
esos programas proporcionando al sistema los recursos hardware y software
necesarios.
·
Acceder
de forma controlada a los dispositivos de entrada/salida.
·
Gestionar
los archivos de forma controlada y segura.
·
Acceder
a la información de una forma controlada y segura.
·
Supervisar
y solucionar errores provocados por el hardware o el software.
·
Suministrar
información estadística, de seguridad y registro de lo que se hace en el
sistema.
Los servicios se
utilizan para iniciar, detener, pausar, reanudar o deshabilitar programas y
aplicaciones.
Estos servicios
son esenciales para el funcionamiento de muchas de las aplicaciones y del
propio SO.
Los servicios,
también se denominan procesos en segundo plano, procesos en background y
particularmente en Linux, reciben el nombre de demonios.
4. Gestión de recursos de un sistema operativo.
A continuación
veremos cuales son los recursos que gestiona un sistema operativo: Memoria,
Procesador y dispositivos de entrada/salida.
4.1
Memoria.
La parte del SO
que administra la memoria es el administrador de memoria. Su función es clara:
llevar en un registro las partes de memoria que se están actualizando y las que
no. Reservara espacio de memoria para los nuevos procesos y liberara el espacio
de los procesos que hayan finalizado.
También se encarga
de gestionar el intercambio de datos entre memoria y disco.
La gestión de
memoria es importante cuando trabajamos en sistemas operativos multitarea, ya
que trabajaran simultáneamente con varios procesos a la vez.
La gestión de
memoria es sencilla en sistemas operativos monoproceso. Al introducir la
multitarea, la cosa se complica, ya que es necesario disponer de varios
procesos residentes simultáneamente en memoria.
La primera opción
es dividir la memoria en particiones fijas. El SO dispone de una cola de
procesos que solicitan entrar en memoria.
Vinculado con la
multitarea esta el concepto de intercambio. Los procesos en espera que no están
en ejecución pueden ser llevados al disco y dejar libre la parte de memoria que
ocupan para que otros procesos entre en ejecución.
Con un conjunto dinámico
de procesos no es posible encontrar las particiones de memoria adecuadas. La
opción es de disponer de particiones variables. El problema que se plantea
ahora es llevar un registro de las particiones libres y ocupadas que se
eficiente, tanto en el tiempo de asignación como el aprovechamiento de la
memoria.
4.2
Procesos y Procesador.
Un proceso, o
tarea, se puede definir como un programa en ejecución. Los procesos en un SO
tienen las siguientes características:
·
Un
proceso para empezar su ejecución ha de residir completamente en memoria y
tener asignados todos los recursos que necesite.
·
Cada
proceso esta protegido del resto de procesos; ningún otro podrá escribir en las
zonas de memoria pertenecientes a ese proceso.
·
Los
procesos pueden pertenecer al usuario o ser propios del SO. Estos procesos
pertenecientes a los usuarios se ejecutan en el llamado modo usuario del
procesador. Los procesos que pertenecen al sistema que ejecutan en el modo
kernel o modo privilegiado del procesador.
·
Cada
proceso tendrá una estructura de datos llamada bloque de control de proceso
(BCP), donde se almacenara información a cerca del mismo.
·
Los
procesos podrán comunicarse, sincronizarse y colaborar entre si.
Los procesos se
dividen en trozos de igual tamaño, llamadas páginas, frames, etc. Cuando se
carga un proceso, lo que se hace es llevarlo a la memoria y asignarle un número
máximo de bloques de memoria a emplear. Para esta operación se utilizaran
técnicas de gestión de memoria virtual, swapping, paginación, segmentación u
otras.
Cuando se ejecute
el proceso, si la UCP quiere atender una parte del mismo que no este en memoria
interna o real, hay que buscarla en otra zona de memoria y traerla a la memoria
real.
Lo que debe de
quedar claro es que cualquier programa que se esté ejecutando en un ordenador
es un proceso, ya que desde ese momento el programa, denominado ya proceso, se
puede ejecutar, se puede detener o se puede bloquear.
Cada proceso, para
poder ser ejecutado, estará siempre cargado en la memoria principal.
Un programa no es
un proceso, sino que ese programa se convierte a proceso en tal momento en que
se pone en ejecución.
Durante la
ejecución de un proceso, este compite con el resto de los procesos que se están
ejecutando de forma concurrente en el sistema, por el uso de los recursos
hardware y a veces por los recursos software.
El reparto de los
recursos de un sistema entre los distintos procesos y su ejecución concurrente
se conoce como multiprogramación. Los sistemas operativos disponen de los
servicios necesarios para la gestión de los procesos.
Cuantas más
instrucciones sea capaz de procesar un procesador, mayor velocidad obtendremos
en el sistema, debido, especialmente, a que los procesos esperaran menos tiempo
a que la UCP o el procesador les asignen los recursos que necesitan.
4.3 Gestión
de entrada/salida
Una de las tareas
más importantes del ordenador, y en particular de la unidad central de proceso es relacionar y comunicar las
unidades periféricas con los componentes internos del equipo (memoria,
procesador, buses, etc.)
Esta comunicación
se realiza a través del gestor de entrada/salida ubicado en la placa base del ordenador
.Este componente, integrado en los circuitos de la placa base se denomina chipset.
Cuando conectamos
los periféricos a la placa base y les suministramos corriente, se produce la
comunicación.
Un ordenador
también necesita ser dirigido y
coordinado. En los ordenadores, estás funciones las realiza la CPU mediante un
sistema de buses de comunicación que la conecta con todos los elementos del
ordenador.
También hay que
destacar los interfaces como medio de comunicación entre hardware y software a
través del SO. Las interfaces las hay de distintos tipos, aquí citamos algunas:
è
Interfaz
tipo texto: Si el SO es de tipo texto, todas las ordenes que el usuario
introduzca y las respuestas que el SO dé se introducirán o visualizaran
mediante cadenas de caracteres.
è
Interfaz
tipo gráfico: Hoy en día, la mayoría de los sistemas operativos utiliza medios
de comunicación entre máquina y
ordenador de tipo gráfico. En este tipo de interfaces es necesario el uso de
ratón o pantallas táctiles. La información se muestra en bloques o pantallas
independientes. Estos bloques se llaman ventanas.
è
Interfaz
mixta: En nuestros tiempos casi todos los sistemas operativos utilizan ambas
interfaces para comunicar el usuario con el ordenador.
5. Arquitectura y componentes.
Si dejamos al
margen los antiguos sistemas operativos monolíticos, actualmente los sistemas
operativos se organizan en capas. Un SO se estructura básicamente en varios
niveles o capas, cada uno de los cuales se comunica con los niveles
inmediatamente inferior y superior para que todos estén coordinados y cumplen
el objetivo del SO.
Tipo de niveles:
àNivel
Usuario: muestra al usuario el proceso que se está ejecutando o el que se
quiere ejecutar.
àNivel
Supervisor: se encarga de realizar la comunicación de cada proceso entre el
sistema y el usuario.
àNivel
ejecutivo: sobre este nivel se realiza la administración de la memoria para almacenar los procesos en páginas
àNivel
núcleo: se encarga de gestionar qué
procesos llegan al ordenador para ser ejecutados.
Los nuevos SO se
pueden montar en plataformas INTEL, AMD, MIPS, Alpha, etc., sin que quienes los
manejan noten diferencia alguna. Esta gestión se mejora, además, gracias al uso
de las denominadas zonas independientes de memoria.
6. Modos de explotación del sistema.
Las formas de
explotación de un SO responden a la forma en la que el usuario emplea los
recursos hardware y software que componen el sistema informático. Para hablar
de cómo se explota[1]
un SO habrá que tener en cuenta también las necesidades de los usuarios que los
van a utilizar, y por supuesto, todo está siempre relacionado con el hardware
sobre el que estén montados los sistemas operativos.
De forma general,
un SO se puede explotar de varias formas:
A. Proceso en lotes
Este sistema de
explotación se empezó a utilizar en la segunda generación de ordenadores.
B. Procesos en tiempo real
Este tipo de
explotación del ordenador es similar a la anterior. La diferencia está en que
el usuario que introduce los datos es el que suele lanzar el programa para
procesar los datos introducidos y el que obtiene la información procesada, todo
ello en un mismo sistema informático y en un tiempo relativamente corto. En la
actualidad, casi todos los ordenadores funcionan en tiempo real, debido
fundamentalmente a que su hardware está
integrado físicamente en el mismo
espacio y conectado directamente a la unidad central de proceso.
C. Según el número de usuarios
Existen dos tipos
de usuarios:
o
Monousuario
(o monopuesto): Cuando un solo usuario trabaja con un ordenador.
o
Multiusuario:
Cuando varios usuarios pueden utilizar simultáneamente los recursos del sistema
.Pueden compartir los dispositivos externos y los periféricos de salida.
Este tipo de SO se
caracterizan porque varios usuarios que hagan uso del mismo ordenador, podrán
hacer o no las mismas cosas.
No hay comentarios:
Publicar un comentario