jueves, 22 de noviembre de 2012


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.



[1]  Explotar un SO es utilizarlo.

No hay comentarios:

Publicar un comentario