Organización y Arquitectura de Computadoras

.

sábado, 24 de abril de 2010

Sistemas Operativos

Un Sistema operativo es un software que actúa de interfaz entre los dispositivos de hardware y los programas usados por el usuario para manejar un computador. Es responsable de gestionar, coordinar las actividades y llevar a cabo el intercambio de los recursos y actúa como estación para las aplicaciones que se ejecutan en la máquina.


Uno de los propósitos de un sistema operativo como programa estación principal, consiste en gestionar los recursos de localización y protección de acceso del hardware, hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles. Se encuentran en la mayoría de los aparatos electrónicos que utilizan microprocesadores para funcionar.

Un usuario normalmente interactúa con el sistema operativo a través de un sistema de comandos, por ejemplo, el sistema operativo DOS contiene comandos como copiar y pegar para copiar y pegar archivos respectivamente. Los comandos son aceptados y ejecutados por una parte del sistema operativo llamada procesador de comandos o intérprete de la línea de comandos. Las interfaces gráficas permiten que utilices los comandos señalando y pinchando en objetos que aparecen en la pantalla.




---NECESIDADES DE SISTEMAS OPERATIVOS

En sistemas grandes, el sistema operativo tiene incluso mayor responsabilidad y poder, es como un policía de tráfico, se asegura de que los programas y usuarios que están funcionando al mismo tiempo no interfieran entre ellos. El sistema operativo también es responsable de la seguridad, asegurándose de que los usuarios no autorizados no tengan acceso al sistema.


Los sistemas operativos, en su condición de capa software que posibilitan y simplifica el manejo de la computadora, desempeñan una serie de funciones básicas esenciales para la gestión del equipo. Entre las más destacables, cada una ejercida por un componente interno (módulo en núcleos monolíticos y servidor en micronúcleos), podemos reseñar las siguientes:

*Proporcionar comodidad en el uso de un computador.
*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).
*Un sistema operativo desempeña 5 funciones básicas en la operación de un sistema informático: suministro de interfaz al usuario, administración de recursos, administración de archivos, administración de tareas y servicio de soporte y utilidades.




---TIPOS DE SISTEMAS OPERATIVOS

Los sistemas operativos pueden ser clasificados de la siguiente forma:


* Multiusuario: Permite que dos o más usuarios utilicen sus programas al mismo tiempo. Algunos sistemas operativos permiten a centenares o millares de usuarios al mismo tiempo.
* Multiprocesador: soporta el abrir un mismo programa en más de una CPU.
* Multitarea: Permite que varios programas se ejecuten al mismo tiempo.
* Multitramo: Permite que diversas partes de un solo programa funcionen al mismo tiempo.
* Tiempo Real: Responde a las entradas inmediatamente. Los sistemas operativos como DOS y UNIX, no funcionan en tiempo real.

Familia Windows


* Windows 95
* Windows 98
* Windows ME
* Windows NT
* Windows 2000
* Windows 2000 server
* Windows XP
* Windows Server 2003
* Windows CE
* Windows Mobile
* Windows XP 64 bits
* Windows Vista (Longhorn)

Familia Macintosh

* Mac OS 7
* Mac OS 8
* Mac OS 9
* Mac OS X

Familia UNIX


* AIX
* AMIX
* GNU/Linux
* GNU / Hurd
* HP-UX
* Irix
* Minix
* System V
* Solaris
* UnixWare




---COMPONENTES Y SERVICIOS BASICOS DE SISTEMAS OPERATIVOS

Gestión de procesos

Un proceso es simplemente, un programa en ejecución que necesita recursos para realizar su tarea: tiempo de CPU, memoria, archivos y dispositivos de E/S. El SO es el responsable de:

* Crear y destruir los procesos.
* Parar y reanudar los procesos.
* Ofrecer mecanismos para que se comuniquen y sincronicen.

Gestión de la memoria principal

La Memoria (informática) es una gran tabla de palabras o bytes que se referencian cada una mediante una dirección única. Este almacén de datos de rápido accesos es compartido por la CPU y los dispositivos de E/S, es volátil y pierde su contenido en los fallos del sistema. El SO es el responsable de:

* Conocer qué partes de la memoria están utilizadas y por quién.
* Decidir qué procesos se cargarán en memoria cuando haya espacio disponible.
* Asignar y reclamar espacio de memoria cuando sea necesario.

Gestión del almacenamiento secundario

Un sistema de almacenamiento secundario es necesario, ya que la memoria principal (almacenamiento primario) es volátil y además muy pequeña para almacenar todos los programas y datos. También es necesario mantener los datos que no convenga mantener en la memoria principal. El SO se encarga de:

* Planificar los discos.
* Gestionar el espacio libre.
* Asignar el almacenamiento.

El sistema de E/S

Consiste en un sistema de almacenamiento temporal (caché), una interfaz de manejadores de dispositivos y otra para dispositivos concretos. El sistema operativo debe gestionar el almacenamiento temporal de E/S y servir las interrupciones de los dispositivos de E/S.

Sistema de archivos

Los archivos son colecciones de información relacionada, definidas por sus creadores. Éstos almacenan programas (en código fuente y objeto) y datos tales como imágenes, textos, información de bases de datos, etc. El SO es responsable de:

* Construir y eliminar archivos y directorios.
* Ofrecer funciones para manipular archivos y directorios.
* Establecer la correspondencia entre archivos y unidades de almacenamiento.
* Realizar copias de seguridad de archivos.

Sistemas de protección

Mecanismo que controla el acceso de los programas o los usuarios a los recursos del sistema. El SO se encarga de:

* Distinguir entre uso autorizado y no autorizado.
* Especificar los controles de seguridad a realizar.
* Forzar el uso de estos mecanismos de protección.

Programas de sistema

Son aplicaciones de utilidad que se suministran con el SO pero no forman parte de él. Ofrecen un entorno útil para el desarrollo y ejecución de programas, siendo algunas de las tareas que realizan:

* Manipulación y modificación de archivos.
* Información del estado del sistema.
* Soporte a lenguajes de programación.
* Comunicaciones.




---ADMINISTRACION DE PROCESO

Uno de los conceptos mas importantes que gira entorno a un sistema operativo es el de proceso. Un proceso es un programa en ejecución junto con el entorno asociado (registros, variables ,etc.).

El corazón de un sistema operativo es el núcleo, un programa de control que reacciona ante cualquier interrupción de eventos externos y que da servicio a los procesos, creándolos, terminándolos y respondiendo a cualquier petición de servicio por parte de los mismos.


*Planificación del Procesador

La planificación del procesador se refiere a la manera o técnicas que se usan para decidir cuánto tiempo de ejecución y cuándo se le asignan a cada proceso del sistema. Obviamente, si el sistema es monousuario y monotarea no hay mucho que decidir, pero en el resto de los sistemas esto es crucial para el buen funcionamiento del sistema.

Caracteristicas a considerar de los Procesos:

* Cantidad de Entrada/Salida: Existen procesos que realizan una gran cantidad de operaciones de entrada y salida (aplicaciones de bases de datos, por ejemplo).
* Cantidad de Uso de CPU: Existen procesos que no realizan muchas operaciones de entrada y salida, sino que usan intensivamente la unidad central de proceso. Por ejemplo, operaciones con matrices.
* Procesos de Lote o Interactivos: Un proceso de lote es más eficiente en cuanto a la lectura de datos, ya que generalmente lo hace de archivos, mientras que un programa interactivo espera mucho tiempo por las respuestas de los usuarios.

* Procesos en Tiempo Real: Si los procesos deben dar respuesta en tiempo real se requiere que tengan prioridad para los turnos de ejecución.
* Longevidad de los Procesos: Existen procesos que típicamente requerirán varias horas para finalizar su labor, mientras que existen otros que solo necesitan algunos segundos.

Los sistemas operativos actuales poseen una serie de funciones cuyo objetivo es el de la manipulación de los procesos.




---ADMINISTRACION DE MEMORIA

Cuando el diseñador se plantea lo que es la gestión de memoria del sistema debe tener en cuenta que la memoria es unos de los recursos críticos del sistema, es crítica porque un programa al ejecutarse debe estar cargado en M. entonces cuanta más memoria tengamos o mejora la optimicemos más programas podremos guardar en ella.

¿Qué quiere un diseñador?Que sea barata, gran capacidad y muy rápida.

Pero no se pueden conseguir las tres cosas.

A mayor capacidad el tiempo de acceso es mucho mayor, es más lenta.

Se observa que ha mayor capacidad menor coste por bit, comparamos Módulo de memoria y disco duro, no cuesta lo mismo un disco duro de 8 gigas que 8 gigas de memoria Ram.

A menor tiempo de acceso, si queremos memoria más rápida, el coste se nos dispara.
Los diseñadores del sistema no pueden tener un solo tipo de memoria donde alojar todoas las memorias, existe una jerarquía de memoria.
Esa jerarquía intenta solucionar esos inconvenientes a la hora de diseñar el esquema de memoria.

---MEMORIA VIRTUAL

Es una técnica que permite al software usar más memoria principal que la que realmente posee el ordenador. La mayoría de los ordenadores tienen cuatro tipos de memoria: registros en la CPU, la memoria caché (tanto dentro como fuera del CPU), la memoria física (generalmente en forma de RAM, donde la CPU puede escribir y leer directa y razonablemente rápido) y el disco duro que es mucho más lento, pero también más grande y barato.

Esta memoria utiliza una parte de almacenamiento secundario de la computadora (disco duro) como si fuera memoria. Cada dirección a la que hace referencia la CPU recorre un mapeo de dirección de la supuesta dirección virtual a una dirección física en la memoria principal.

Se usa la memoria virtual para dar a los programadores la ilusión de que tienen a su disposición una memoria muy grande, aunque la computadora tenga en realidad una memoria relativamente pequeña.

Con la memoria virtual el sistema operativo asigna una porcion de un medio de almacenamiento, usaulamente el disco duro para funcionar como RAM adicional.

La memoria virtual usualmente (pero no necesariamente) es implementada usando paginación. En paginación, los bits menos significativos de la dirección de memoria virtual son preservados y usados directamente como los bits de orden menos significativos de la dirección de memoria física. Los bits más significativos son usados como una clave en una o más tablas de traducción de direcciones (llamadas tablas de paginación), para encontrar la parte restante de la dirección física buscada.

No hay comentarios:

Publicar un comentario