Sistemas Operativos
Enviado por ramjavy • 14 de Septiembre de 2011 • 6.659 Palabras (27 Páginas) • 893 Visitas
SISTEMAS OPERATIVOS
CAPITULO 1: INTRODUCCION
Un Sistema Operativo es un programa que actúa como interface entre un usuario de computadora y el hardware de la misma. El propósito de un SO es proveer de un ambiente de trabajo en el cual el usuario puede ejecutar programas. Por ende, el primer objetivo de un SO es hacer que un equipo pueda ser usado convenientemente. Un segundo objetivo es usar el hardware del equipo en forma eficiente.
Para entender qué son los sistemas operativos, es necesario estudiar como fueron desarrollados, por lo que veremos rápidamente la evolución de los mismos, desde los SO primitivos hasta los actuales de tiempo-compartido y multiprogramación.
Hay muchas razones importantes para estudiar los SO:
a) para el uso de propósito especial, uno puede desarrollar uno propio o modificar alguno existente (esto es particularmente cierto con el SO UNIX, donde una de las razones de su éxito en universidades de EE.UU. es que el 90% del mismo esta escrito en lenguaje de alto nivel -C-, por lo que sus modificaciones y agregados se hacen sumamente sencillos);
b) La selección del SO y sus opciones es una decisión importante en la mayoría de las instalaciones de computación;
c) el usuario debe interactuar con el SO para lograr su tarea, ya que su primer contacto con el computador;
d) muchos conceptos y técnicas que se encuentran en los SO se pueden aplicar en forma general.
1.1.- QUE ES UN SO ?
Un SO es una parte importante de prácticamente cualquier computador.
Un sistema electrónico de procesamiento de datos puede dividirse en las siguientes partes:
1) El hardware (cpu, memoria, canales, dispositivos de E/S, etc.)
2) El SO
3) Resto del software de base: compiladores, ensambladores, cargadores, editores de texto, utilitarios de base de datos, utilitarios de depuración (debuggers), etc.
4) Programas de aplicación y librerías.
5) Usuarios (personas, maquinas u otras computadoras)
El hardware provee los recursos básicos del sistema. El software de base define las maneras en que esos recursos serán usados para resolver los problemas computacionales de los usuarios. Pueden haber muchos usuarios tratando de resolver distintos problemas. El SO controla y coordina el uso del hardware entre los distintos requerimientos.
Para nuestro estudio de SO, dividiremos a este en 4 administradores bien diferenciados:
1) Administrador del procesador;
2) Administrador de memoria;
3)Administrador de dispositivos y
4) Administrador de información.
Un SO es similar a un gobierno. Los recursos básicos de un computador lo dan su hardware, software y datos. El SO provee el uso apropiado de estos recursos. Igual que un gobierno el SO no ejerce ninguna tarea útil por si mismo: simplemente brinda un ambiente de trabajo para que otros programas puedan realizar alguna tarea útil.
Podemos ver a un SO como un asignatario de recursos. De todos los recursos de un sistema de computación, muchos pueden ser requeridos para resolver un problema: tiempo de cpu, espacio en memoria, espacio en disco, dispositivos de E/S, etc.
El SO actúa como el administrador de estos recursos y los asigna a programas específicos y a usuarios para que puedan realizar sus trabajos. Ya que los pedidos pueden ser muchos, pudiendo existir conflictos, el SO decide a quien asigna recursos, en forma tal que el sistema funcione bien y eficientemente.
Otro punto de vista distinto de enfocar a un SO es el de la necesidad de controlar diversos dispositivos de E/S y programas de usuarios. Un SO es un programa de control (varios SO han incorporado este punto de vista en sus nombres: CP/M significa Control Program for Microcomputers, por ejemplo.)
En general, sin embargo, no existe una definición completamente adecuada para un SO. Estos existen pues constituyen una manera razonable de resolver el problema de crear un sistema de computación que pueda ser usado. El objetivo fundamental de los sistemas de computación es ejecutar programas de usuarios y resolver sus problemas. Precisamente, para cumplir este objetivo, se construye el hardware del sistema.
Como esto por si solo no es muy fácil de usar, se ha desarrollado el software de base. Las funciones comunes de controlar y asignar recursos se ha desarrollado en una sola pieza de software: el SO.
Los 2 objetivos de los SO, conveniencia y eficiencia, a veces resultan en soluciones contradictorias. En el pasado, pesaba más la eficiencia que la conveniencia. Así, mucha de la teoría de SO se concentra en el uso óptimo de los recursos del equipo.
La arquitectura del equipo y su SO, ejercen una influencia mutua. Para facilitar el uso del hardware precisamente se desarrollaron los SO. A medida que los SO fueron usados, aparecía en forma obvia que cambios en el diseño del hardware podían simplificar el SO.
1.2. SISTEMAS PRIMITIVOS
Inicialmente, solo existía el hardware. Las primeras computadoras fueron (físicamente) máquinas muy grandes que se controlaban desde una consola. El programador podía escribir un programa y luego controlar su ejecución desde la consola del operador. Primeramente, el programa se cargaba manualmente a memoria desde un panel con llaves, cinta de papel perforada o tarjetas. Luego, se debían presionar los botones apropiados para cargar la dirección inicial de memoria y comenzar la ejecución del programa. El programador/operador podía monitorear la ejecución mediante las luces del panel frontal. Si existían errores, se podía parar la ejecución del programa, examinar los contenidos de memoria y registros y depurar el programa directamente desde la consola. La salida era impresa o de lo contrario se perforaba una cinta de papel o tarjetas para una impresión posterior.
En estos sistemas el programador era el operador. Existían planillas de reserva de uso de máquina, donde cada uno fijaba día y hora para correr sus programas. Los problemas de esta técnica eran que si por un inconveniente uno se retrasaba inevitablemente debía parar, recolectar lo que podía y volver más tarde u otro día para continuar el trabajo. Si por el contrario, las cosas iban muy bien y el trabajo era terminado antes del tiempo previsto, era muy probable que el computador estuviera sin uso todo el tiempo ganado.
Con el tiempo, nuevo hardware y software aparecieron. Lectores de tarjetas, impresoras de línea y cintas magnéticas se hicieron comunes. Se diseñaron ensambladores, cargadores, linkeditores para facilitar la programación. Se crearon librerías con funciones
...