martes, 5 de abril de 2011

http://es.scribd.com/doc/19063553/004-Sistemas-Operativos-Gestion-de-Ficheros
http://es.wikipedia.org/wiki/Sistema_operativo

GESTION DE MEMORIA

Otro de los problemas que debe resolver el sistema  operativo es el de la asignación de memoria al programa o programas que se encuentren en ejecución. Tiene que llevar la cuenta de que partes se están usando y cuáles no.
El método más sencillo de gestión de memoria consiste en tener, en cada instante, un solo proceso en memoria principal, disponiendo éste de toda la memoria disponible. En este caso, la memoria se divide entre el sistema operativo y el proceso de usuario.
Se pueden ver las distintas posibilidades en el siguiente gráfico: (1), (2), (3) de la figura :
El sistema operativo se puede situar al principio de la memoria RAM (1) (memoria de acceso directo), al final de está o al final en una memoria ROM (2) (memoria de sólo lectura). Otra posibilidad (3) es separar del sistema operativo la parte correspondiente a los manejadores de los distintos dispositivos y situarla en una memoria ROM dejando el resto del sistema operativo en memoria RAM.
Con la aparición del concepto de multiprogramación para optimizar la utilización de la computadora, la gestión de la memoria ya no resulta tan sencilla. El sistema operativo tiene que asignar un trozo de memoria a cada proceso. Además tiene que proteger a unos procesos de otros de forma que un usuario no pueda acceder a los datos de otro usuario. En el gráfico e la figura, se muestra una posible ejecución y la correspondiente asignación de memoria de cuatro procesos A, B, C y D a lo largo del tiempo.
Comienza ejecutando el proceso A; mientras que ejecutándose A, otro usuario ordena la ejecución del proceso B. Posteriormente, el proceso A termina su ejecución y libera la memoria que estaba utilizando. Más tarde surgen los procesos C, D y se les asigna su correspondiente espacio de memoria.

lunes, 4 de abril de 2011

GESTIÓN DE ENTRADA Y SALIDA

Los problemas que tiene que resolver esta parte del código son los relacionados con los dispositivos de entrada/salida: terminales, discos, impresoras, ratón, interfaz a redes de comunicación etc.

Cada uno de los dispositivos de entrada/salida tiene un controlador que trata directamente con las características particulares de cada dispositivo en concreto.

La computadora no trata con el dispositivo físico sino con el controlador del dispositivo. La razón es que la velocidad de procesamiento de la computadora es muy superior a la de cualquier dispositivo de entrada/salida. De esta forma se envía la orden al controlador, por ejemplo leer cierta información del disco, y la computadora pasa a ejecutar otro proceso mientras el proceso anterior espera la respuesta del dispositivo de entrada/salida. Cuando la información está lista para utilizar, el controlador avisa a la computadora indicándole que la operación de lectura ya ha finalizado y puede continuar con la ejecución del proceso anterior. En este momento se decide cual será el proceso que sigue ejecutándose.

SISTEMA DE GESTIÓN DE FICHEROS

Para la mayoría de usuarios, el sistema de ficheros es el aspecto más visible de un sistema operativo. Los ficheros almacenan datos y programas. El sistema operativo ofrece el concepto abstracto de fichero, gestionando dispositivos de almacenamiento externo, tales como discos duros, disquetes y cintas. Pero ¿qué es un sistema de gestión de ficheros y de qué se compone?
Las computadoras pueden almacenar información de distinta formas físicas: los discos son las mas corrientes. Cada uno de estos dispositivos tiene sus propias características y organización física.
Con vistas al buen uso de la computadora, el sistema operativo ofrece una visión lógica sencilla del almacenamiento de información. Este también oculta las propiedades físicas de sus dispositivos de almacenamiento, y define una unidad lógica de almacenamiento: el fichero.
¿Qué es un fichero? Es un conjunto de registros, que permiten almacenar información.
También se puede definir como una colección de informaciones relacionadas entre si y definidas por su creador.
 Normalmente, los ficheros almacenan programas (tanto en fuente como en forma objeto) y datos, aunque también podrían almacenar una carta que escriba o un dibujo que se haya hecho.
Los ficheros de datos pueden ser numéricos, alfabéticos o alfanuméricos. En general, un fichero es una secuencia de bits (ceros o unos), bytes (conjuntos de ocho bits), líneas o registros cuyo significado ha sido definido por su creador y usuario
AL Fichero se le asigna un nombre, por el cual se hace referencia. Tiene algunas otras características como su tipo, el instante de su creación, el nombre de su creador, su longitud, etc. Por ejemplo, en uno de los sistemas operativos, el MS DOS, un fichero tiene un nombre formado por ocho caracteres, seguido de un punto y otras  tres letras. Los ocho primeros caracteres representan el nombre del fichero mientras que los tres últimos representan la extensión del mismo e indica el tipo de fichero del que Se trata. Si es un fichero de texto, la extensión es. TXT, si es un programa fuente en C su extensión es .C y si es programa ejecutable entonces será.EXE.
El sistema operativo MS-DOS también almacena la fecha de creación del fichero, así como su tamaño.
La información que contienen la define su creador. Hay muchos tipos diferentes de información que pueden almacenarse en un fichero: programas fuente, programas objeto, datos numéricos, textos, registros contables, etc.
Un fichero tiene una cierta estructura, que se define según el uso que se vaya a hacer de él. Así, Un fichero de texto es una secuencia de caracteres organizados en líneas (y posiblemente paginas);
Un fichero fuente es una secuencia de subrutinas y funciones, cada una de las cuales se organiza a su vez en forma de declaraciones seguidas de instrucciones ejecutables;
Un fichero objeto es una secuencia de palabras organizada interpretables por el cargador.

MULTIPROGRAMACIÓN Y TIEMPO COMPARTIDO

La idea de la multiprogramación  es la siguiente.  El sistema operativo toma uno de los programas de un grupo de ellos y empieza a ejecutarlo.  Eventualmente, el programa seguramente tendrá que esperar por algún motivo, como por ejemplo que tenga que leer información de un disco, que se teclee un comando en un teclado o que tenga que imprimir algo.  En un sistema sin multiprogramación (monoprogramación), la computadora permanecería inactiva hasta que terminara la operación por la que está esperando. En un sistema con multiprogramación, el sistema operativo sencillamente cambiaría a otro programa y lo ejecutaría. Cuando este último deba esperar, la computadora pasaría a ejecutar otro programa y así sucesivamente. Finalmente, el primer programa habrá acabado su espera y podrá ser ejecutado de nuevo. Los sistemas operativos multiprogramados son sofisticados. Tener varios programas dispuestos para su ejecución, supone mantenerlos simultáneamente en memoria. Tener varios programas en memoria al mismo tiempo requiere una gestión de memoria. Además, Si hay varios programas dispuestos para ejecución al mismo tiempo, hay que tomar alguna decisión para elegir entre ellos. Este proceso, se denomina planificación  de la CPU, consume tiempo de la computadora.
Tiempo compartido
Cuando un usuario está trabajando, generalmente, desea que la respuesta de la computadora sea lo más rápido posible. Antiguamente se empleaban los ” sistema por Lotes “ en donde existía un grupo de programas  de diferentes usuarios  y la computadora los iba ejecutando uno detrás de otro secuencialmente. Entonces para ofrecer tiempos de respuesta más rápidos, se crearon los sistemas de tiempo compartido.
La idea es muy simple, pero no simple de realizar, en vez de dedicarse la computadora a un solo usuario, se divide y atiende por turnos a todos a la vez. En un Sistema de tiempo compartido, si de 20 usuarios conectados 17 están pensando, charlando o tomando un café, el procesador puede dedicarse por turnos a los otros tres trabajos que precisan servicio. Dado que las personas que ponen a punto programas utilizan normalmente comandos de efecto corto (por ejemplo, compilar un programa de cinco paginas), en vez de comandos de efecto largo (por ejemplo, ordenar un millón de registros de un fichero), la computadora puede ofrecer un servicio rápido a cierto número de usuarios y procesar todavía trabajos en los tiempos muertos en que no haya ningún usuario que atender.
Un sistema operativo en tiempo compartido utiliza la planificación de la CPU y la multiprogramación para dotar a cada usuario de una pequeña parte de la computadora compartida. Cada usuario tiene en memoria un programa independiente. Cuando se ejecuta, lo hace normalmente durante un breve periodo de tiempo. Puesto que la entrada de datos se realiza a velocidad humana, puede llevar mucho tiempo completarla. La entrada, por ejemplo, esta limitada por la velocidad de tecleo; cinco caracteres por segundo es un tecleo bastante rápido para una persona, pero muy lento para las computadoras.
En lugar de dejar que la computadora permanezca inactiva cuando esto sucede, el sistema operativo cede rápidamente el control de la computadora al programa de algún otro usuario.

IMPLANTACIÓN DE LOS PROCESOS

Para implantar el modelo de los procesos, el sistema operativo utiliza una tabla ( arreglo de estructuras ), llamada la tabla de procesos , con un dato por proceso. Este dato contiene la información relativa al estado del proceso, el contador del programa , el apuntador a la pila, asignación de memoria, el estado de los archivos abiertos, su información de contabilidad y planificación, así como todos los datos relativos al proceso que deben guardarse cuando el proceso alterna entre los estados en ejecución y listo de forma que se pueda volver a iniciar más adelante como si nunca se hubiera detenido.

CONCEPTOS DE LOS SISTEMAS OPERATIVOS

La interfaz entre el sistema operativo y los programas del usuario se definen como el conjunto de instrucciones ampliadas que proporciona el sistema operativo. Estas instrucciones ampliadas se conocen como llamadas al sistema.
Las llamadas al sistema crean, eliminan y utilizan varios objetos  del software, controlados por el sistema operativo. Los más importantes son los procesos  y archivos.
Procesos
Esta parte de código del sistema operativo se encarga de controlar la ejecución de los distintos procesos que existen en La computadora. Un proceso es un programa  en ejecución. Consta del  programa ejecutable, los datos y la de la pila del programa, su  contador de programa, apuntador de pila y otros registros. En definitiva, toda la información necesaria para ejecutar un programa.
En general un proceso necesita determinado recursos, incluyendo el tiempo de la CPU, memoria, archivos y dispositivos de entrada/salida, para cumplir con su tarea, éstos recursos se proporcionan al crear el proceso, o se le asignan mientras se ejecutan.
De momento un proceso es posible proporcionar llamadas al sistema que permitan a los procesos crear sus procesos que se ejecuten concurrentemente, el sistema operativo es responsable de las siguientes actividades relacionadas con los siguientes procesos:

·        Crear y eliminar los procesos de usuario y del sistema.
·        Suspender y reanudar la ejecución de los procesos.
·        Proporcionar mecanismos para la sincronización de procesos
·        Proporcionar mecanismos para la comunicación de procesos.
·        Proporcionar mecanismos para el manejo de bloques mutuos.

EVOLUCION DE LOS SISTEMAS OPERATIVOS

PRIMERA GENERACIÓN (1945 –1955)
La característica principal de esta generación  consistía en el hecho que las computadoras empleaba como componentes básicos los TUBOS AL VACIO  y paneles de Conexión.  Su volumen precio y coste  de mantenimiento los hacían asequibles  sólo a grandes empresas y organismos estatales hasta este entonces el sistema operativo era extraño.
LA SEGUNDA GENERACIÓN  ( 1955 - 1965 )
Se caracterizo con la incorporación del transistor en las computadoras como elemento fundamental lo que permitió reducir el coste y aumentar la fiabilidad y rapidez de las máquinas.
La idea implícita en este sistema era llenar una casilla  de trabajos  de la sala de entradas  y transferirlos a una cinta magnética mediante el uso de una computadora pequeña y poco costosa como IBM 1401, que era muy eficiente en la lectura de tarjetas, en el copiado de cintas y en la impresión de salida, pero no eficiente en los cálculos numéricos. Otras máquinas mucho más costosas como IBM 7094 se utilizaron para hacer cálculos reales.
LA TERCERA GENERACIÓN ( 1965 - 1980 )
Vino  marcada por la disminución del tamaño del medio  de las computadoras. El empleo generalizado de los circuitos integrados permitió una nueva disminución de volumen  y de costo y también aumento la rapidez de funcionamiento de las grandes computadoras.
 Probablemente la más importante de estas era la multiprogramación que permitía la posibilidad de realizar varios funciones a vez.

LA CUARTA GENERACIÓN  ( 1890 - 1995 ).
Con la creación de los circuitos integrados ( LSI ), la era de las computadoras personales vio sus inicios. 
En estos últimos años  existe una lucha feroz entre IBM  y Microsoft  por implantar en el mercado un sistema operativo  que domine el mercado; la apuesta de Microsoft pasa por un sistema Operativo Windows95 de 32 bits, multitarea y excelentes aplicaciones para conexión en redes de datos, mientras que IBM apuesta por el OS/2 WARP de su competidor a, cuyo manejo es más eficiente. 
En un sistema operativo en red, los usuarios tienen conocimientos de la existencia de múltiples computadoras y pueden ingresar en máquinas remotas y reproducir archivos de una máquina a otra. Cada máquina ejecuta  su propio sistema operativo local y tiene  su(s) propio(s) usuario(s).
En cambio un sistema operativo distribuido es aquel que presenta ante sus usuarios como un sistema uniprocesador o monoprocesador.
QUINTA GENERACIÓN
Era en la cual estamos viviendo actualmente, se caracteriza por la aparición de un nueva versión del sistema operativo Windows 95 llamado Windows 98,  aprovecha las características revolucionarias de Windows 95, mejorando su rendimiento, la fiabilidad  y la facilidad de Uso.
Actualmente ya se habla de otra versión el Windows 2000 como un gran aporte a la nueva tecnología del milenio.

sistemas operativos

QUE ES UN SISTEMA OPERATIVO
El sistema operativo, es el conjunto de programas que ejercen el control principal en el equipo de computo. Este software le indica al microprocesador la manera en que debe utilizar los elementos periféricos y cómo administrar los archivos, a la vez se constituye en la plataforma sobre la que se ejecutan todos los programas de aplicación y brinda al usuario el medio de comunicación de la maquina.
Cuando se ejecuta el sistema operativo desempeña las siguientes funciones básicas:
ü  Proporciona una interface hombre – maquina.
ü  Administrar los dispositivos de hardware (teclado, unidades
            de disco, monitor, etc.)
ü  Administra los sistemas de archivos en disco.
ü  Apoyar en diversas funciones a los programas de aplicación.

jueves, 31 de marzo de 2011

SISTEMA OPERATIVO

El Sistema operativo esta formado por un conjunto de programas que se instala en la memoria de una computadora al momento del arranque y que tienen como función la interpretación y codificación de las órdenes básicas dadas por el usuario. Además, sirve como plataforma para que otros programas como los procesadores de texto, los graficadores y las hojas de calculo, entre otros, utilicen el hardware disponible de la manera adecuada.
El funcionamiento, y sobre todo la eficiencia del hardware de cualquier computadora, esta unido estrechamente a su sistema operativo. Podríamos tener la mejor computadora del mercado y sería completamente  inútil si no tiene un sistema operativo que permita utilizar eficientemente sus recursos.
El Sistema Operativo realiza una conexión entre el hardware (componentes de la computadora) y el software (programas de aplicación). Esta hace posible que la estructura en la cual se desempeñan los diferentes programas sea uniforme.