lunes, 20 de mayo de 2013

Sistema Operativo

Introducción

En los primeros tiempos de la informática (década de 1940) la utilización de computadoras se restringía a organizaciones que podían pagar su alto precio, y no existía ese software de gerenciación de la maquina denominado "sistema operativo". Por su naturaleza, el programador debía tener un conocimiento pleno del hardware, dado que programaba en código de maquina; y en el caso de que un programa fallara, debía examinar los valores de los registros y paneles de luces indicadoras del estado de la computadora para determinar la causa del fallo y poder corregir su programa. No existía un software de gerenciamiento de la maquina denominado "Sistema Operativo"
La necesidad de administrar de forma eficiente los recursos de una computadora, a los efectos de obtener una mayor performance, se hace imperante en la década de 1950, donde nacen los sistemas operativos. Se observa que el operar una computadora por medio de tableros con enchufes y luego por medio de tarjetas se podía mejorar sensiblemente, debido a que el operador repetía una secuencia de operaciones. Se comenzó a ver que las tareas propias del operador podían plasmarse en un programa, el cual se denomino en un principio "monitor" y luego "sistema operativo"

Definición de Sistema Operativo

Se puede definir que basicamente, en el sistema operativo se incorporan las funciones de control del hardware de una computadora, de administracion de sus recursos fisicos y de sus usuarios, asi como el conteol efectivo de la ejecucion de los programas que en ella se carguen.

En resumen, las dos funciones principales de un sistema operativo son: La administracion de los recursos de hardware y software de la computadora y brindar facilidades a los usuarios para su utilizacion (interface de usuario)

Ejemplos de lo que realiza un Sistema Operativo

Comunicacion con los perifericos


Una de las tareas mas complejas realizadas por una computadora es la comunicación con pantallas (monitor), scanners,impresoras, unidades de disco, mouse, teclados, placas de sonido, placas conversoras analógico digitales y otros dispositivos periféricos  El sistema operativo incluye programas que se encargan de brindar de un modo transparente al usuario los detalles de comunicación con los periféricos o con el hardware que controla estos periféricos.

Control de autorización de usuarios


En el caso de las computadoras mono usuario, el sistema operativo puede verificar (mediante una clave por ejemplo) que el usuario que trata de utilizar el equipo esta habilitado para ello. Mas aun puede tener derechos sobre determinados recursos del equipo, pero no sobre todos los recursos.

Cuando se trata de computadoras multiusuario, o en el caso de redes de computadoras, la tarea de administracion de usuarios del sistema operativo es bastante mas compleja, porque los derechos de cada usuario pueden ser diferentes sonre cada maquina, cada base de datos o cada periferico.

Control de la ejecucion de programas

La ejecucion efectiva de un programa (escrito en cualquier lenguaje de programacion o aplicacion) requiere una comunicacion permanente con el sistema operativo para acceder a los recursos de la computadora, recursos que el sistema operativo controla y verifica. De este modo sepuede detectar que una orden de impresion escrita en un programa es imposible de ejecutar, porque la impresora no esta encendida, o que un dato de un archivo no se puede recuperar porque falla el dispositivo periferico, o que la ejecucion de un programa ha tardado mas de un tiempo maximo determinado, etc.


Control de concurrencia

Las computadoras multiusuario (que tienen terminales conectadas a un gran procesador central), las redes de computadoras o las modernas computadoras paralelas con varios procesadores internos, pueden tener varios trabajos ejecutandose al mismo tiempo (procesamiento concurrente). Esto exige que el sistema operativo controle que hace cada proceso y permita que los mismos compartan datos y recursos (es decir, se comuniquen y se sincronicen).


Control de errores

Como se menciono anteriormente, cada error de ejecucion de una aplicacion termina entregando el control al sistema operativo que debe manejar la solucion al error (desde el punto de vista que el sistema de computo siga funcionando) y tambien la comunicacion clara al usuario de las causas del error.

Administracion de memoria

Al poder procesar concurrentemente varios trabajos, el sistema operativo debe controlar la forma de usar la memoria de la computadora, de modo que un trabajo no invada el espacio fisico de otro. Los esquemas de administracion de memoria pueden ser muy sencillos (division en partes asignadas a cada proceso) o mas sofisticada, de modo de asignar y liberar memoria en forma dinamica segun los requerimientots y prioridades de los procesos.

Controles de seguridad de datos

Los datos almacenados en una computadora pueden tener protecciones (imaginen una base de datos con la informacion de cada alumno de la Facultad, incluyendo las notas de sus examenes) de modo de autorizar las modificaciones,a fregados o consultas. Estas funciones de seguridad tambien forman parte del sistema operativo.

Modelos de capas de una computadora
Ahora, habiendo definido sistema operativo, es posible presentar un modelo de capas que muestra las distintas partes de una computadora:




Tipos de sistemas operativos 

Existen diferentes formas de categorizar a los sistemas operativos, una de ellas es por los servicios que prestan:

Sistemas Operativos por Servicios

Monousuarios

Los sistemas operativos Monousuarios son aquéllos que soportan a un usuario a la vez, sin importar el número de procesadores que tenga la computadora o el número de procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Las computadoras personales de los primeros tiempos son ejemplos de esta categoría.

Multiusuario

Los sistemas operativos multiusuario son capaces de dar servicio a más de un usuario a la vez, ya sea por medio de varias terminales conectadas a la computadora o por medio de sesiones remotas en una red de comunicaciones. No importa el número de procesadores en la máquina ni el número de procesos que cada usuario puede ejecutar simultáneamente.

Monotareas


Los sistemas mono tarea son aquellos que sólo permiten una tarea a la vez por usuario. Puede darse el caso de un sistema multiusuario y mono tarea  en el cual se admiten varios usuarios al mismo tiempo pero cada uno de ellos puede estar haciendo solo una tarea a la vez.

Multitareas

Un sistema operativo multitarea es aquel que le permite al usuario estar realizando varias tareas al mismo tiempo. Por ejemplo, puede estar editando el código fuente de un programa durante su depuración mientras compila otro programa, a la vez que está recibiendo correo electrónico en un proceso en background. Es común encontrar en ellos interfaces gráficas orientadas al uso de menús y el ratón, lo cual permite un rápido intercambio entre las tareas para el usuario, mejorando su productividad.

 Uniproceso

Un sistema operativo uniproceso es aquél que es capaz de manejar solamente un procesador de la computadora, de manera que si la computadora tuviese más de uno le sería inútil. Los ejemplos más típicos de este tipo de sistemas son DOS y MacOS.

Multiproceso

Un sistema operativo multiproceso se refiere al número de procesadores del sistema, que es más de uno y éste es capaz de usarlos todos para distribuir su carga de trabajo.







http://platdig.unlu.edu.ar/1/programas.cgi?wAccion=verguia&wid_unidad=8895&id_curso=70


http://www.youtube.com/watch?v=wn3vLhfGTJA