|
Por: 27-04-2009 por EstebanYomairo |
Categorías asociadas: Capitulo 1 y 2, Capitulo 1-2, Capitulo 3, Capitulo 5, Capitulo 7, Capítulos 1-2, Paralelo "C", Planificación de procesos, Resumen de conferencia, Taller_HILOS, Uncategorized
CAPÍTULO I (Materia: SISTEMAS OPERATIVOS) El Sistema Operativo Un sistema operativo es aquel programa que se ejecuta continuamente en la computadora (usualmente denominado kernel), siendo todo lo demás programas del sistema y programas de aplicación. El sistema operativo controla y coordina el uso del hardware entre los diversos programas de aplicación por parte de los distintos usuarios, por ello se suele decir que es la interfaz de comunicación entre el hardware y el usuario. Existen sistemas operativos para mainframes, y para computadoras personales (PCs), los sistemas operativos para mainframe están diseñados principalmente para optimizar el uso del hardware, los sistemas operativos para PCs soportan desde complejos juegos hasta aplicaciones de negocios. Punto de vista del usuario. Desde el punto de vista de un monousuario un sistema debe ser rápido y fácil de manejar, se dice en este caso que el sistema operativo presta cierta atención al rendimiento y ninguna a la gestión de recursos. En el caso de un mainframe, el sistema operativo se diseña para maximizar la utilización de recursos, asegurar que todo el tiempo de CPU, memoria y E/S disponibles se usen de forma eficiente, y que cada usuario disponga sólo de la parte equitativa que le corresponde. Cuando se usan estaciones de trabajo conectadas a redes de otras estaciones de trabajo y servidores, el sistema operativo se diseña parar llegar a un compromiso entre la usabilidad individual y la utilización de recursos.
Vista del usuario. Desde el punto de vista de la computadora, el OS está más íntimamente relacionado con el hardware. En este contexto podemos ver un sistema operativo como un asignador de recursos. Un sistema operativo es un programa de control, y como tal gestiona la ejecución de los programas de usuario para evitar errores y mejorar el uso de la computadora. Tiene que ver recíprocamente con el funcionamiento y control de los dispositivos de E/S.
Organizacion de una computadora
Funcionamiento.- Para el funcionamiento de una computadora se necesita un programa de arranque, éste normalmente se almacena en la memoria ROM (read only memory), o en la memoria EEPROM (electrically erasable programable read-only-memory), y se conoce con el término de firmware, dentro del hardware de la computadora. Se inician todos los aspectos del sistema, desde los registros de la CPU hasta las controladoras de dispositivos y el contenido de la memoria. El programa de arranque debe saber cómo cargar el sistema operativo e iniciar la ejecución de dicho sistema, para conseguir este objetivo, el programa de arranque debe localizar y cargar en memoria el Kernel(núcleo) del sistema opertarivo. Después el sistema operativo comienza ejecutando el primer proceso, por ejemplo “init”, y espera a que se produzca algún suceso. La ocurrencia de un suceso normalmente se indica mediante una interrupción. Interrupción.- Da paso a un suceso, puede ser de hardware o de software. Cuando se interrumpe a la CPU, deja lo que está haciendo e inmediatamente transfiere la ejecución a una posición fijada.
Estructura de almacenamiento.- Los programas de computadora deben hallarse en la memoria principal (RAM - Random Access Memory) para ser ejecutados. El procesador puede acceder directamente a ésta. La memoria principal es un dispositivo de almacenamiento volátil que pierde su contenido cuando se quita la alimentación (corriente eléctrica), normalmente la memoria principal es demasiado pequeña como para almacenar todos los programas y datos necesarios de forma permanente. Por esta razón la mayor parte de los sistemas informáticos proporcionan almacenamiento secundario como una extensión de la memoria principal, aquí se almacenan grandes cantidades de datos de forma permanente.
Estructura de E/S.- Las unidades de E/S están conectadas con el procesador y la memoria principal, y cada una de ellas controla uno o más dispositivos periféricos. Los dispositivos de E/S se pueden clasificar en: De interacción con e usuario.-Permiten la comunicación con el usuario del computador. De interacción con máquinas: Permite la comunicación con elementos del equipo. De comunicación.- Permite la comunicación con dispositivos remotos. Arquitectura de un sistema informático Sistemas Multiprocesador.- En un sistema multiprocesador hay una CPU principal capaz de ejecutar un conjunto de instrucciones de propósito general, incluyendo instrucciones de los procesos de usuario. Sistemas Multiprocesador.- Disponen de dos o más procesadores que se comunicación entre sí, compartiendo el bus de la computadora y en ocasiones el reloj, la memoria y los dispositivos periféricos. Sistemas en clúster.- Es otro tipo de sistema multiprocesador. La diferencia con los sistemas multiprocesamiento es que éstos están formados por dos más sistemas individuales acoplados. Las computadoras en clúster comparten el almacenamiento y se conectan entre sí a través de una LAN. Normalmente la conexión en clúster se usa para proporcionar un servicio con alta disponibilidad, es decir un servicio que funcionará incluso si uno o más sistemas del clúster fallaran.
Estructura de un Sistema Operativo Uno de los aspectos más importantes de los sistemas operativos es la capacidad para multi-programar. Multiprogramación.- Permite organizar la ejecución de los trabajos a fin de mejorar el aprovechamiento de la CPU. Por ejemplo, al solicitar un trabajo E/S, mientras ésta se realiza se selecciona otro trabajo para ejecutarlo.
Sistemas Multitarea (tiempo compartido).- Pueden ejecutar varias tareas simultáneamente (o cuasi-simultáneamente), aprovechando los tiempos ociosos de la CPU. Alternan entre varias tareas, las que se procesan en partes durante pequeños intervalos de tiempo (quantums).
Operaciones Del So Los SO están controlados mediante interrupciones, para cada interrupción diferentes códigos del sistema operativo determinan que acción hay que llevar a cabo. Se debe asegurar que un error que se produzca en un programa de usuario solo genere problemas en el programa que se estuviera ejecutando.
Un SO diseñado apropiadamente debe asegurar que un programa incorrecto no pueda dar lugar a que otros programas se ejecuten incorrectamente.
Operación en modo dual Para asegurar la correcta ejecución del sistema operativo, tenemos que poder distinguir entre la ejecución del código del sistema operativo y del código definido por el usuario. Necesitamos dos modos diferentes de operación: modo usuario y modo kernel. Un bit denominado bit de modo, se añade al hardware de la computadora para indicar el modo actual kernel o usuario, también podemos diferenciar entre una tarea que se ejecute en nombre de sistema operativo y otra que se ejecute en nombre de usuario. El modo dual de operaciones nos proporciona los medios para proteger el sistema operativo de los usuarios que puedan causar errores, y también para proteger a los usuarios de los errores de otros usuarios. Esta protección se consigue designando algunas de las instrucciones de máquina que pueden causar daño como instrucciones privilegiadas. Cuando se ejecuta una llamada al sistema, el hardware la trata como una interrupción software.
Temporizador Se debe utilizar un temporizador para evitar que un único trabajo monopolice el uso del sistema. El temporizador se actualiza al comienzo de cada trabajo. Si el tiempo termina, se produce una interrupción, y el control vuelve al monitor. Gestión de Procesos Un programa no hace nada a menos que una CPU ejecute sus instrucciones. Un proceso necesita para llevar a cabo su tarea ciertos recursos, entre los que incluyen tiempo de CPU, memoria, archivos y dispositivos de E/S. Un proceso es un programa en ejecución puede ser un procesador de textos que ejecuta el usuario. Un proceso es una unidad de trabajo en un sistema. Cada sistema consta de una colección de procesos, siendo algunos de ellos procesos del sistema operativo y el resto procesos de usuario. Todos estos procesos pueden, potencialmente, ejecutarse de forma concurrente.
Gestión de memoria.- Es uno de los elementos principales que caracterizan un proceso es la memoria que utiliza, la asignación de memoria es exclusiva para el proceso que la requiere, es decir, ésta es lógicamente separada de cualquier otro proceso del sistema. La gestión de memoria es una tarea, cuya responsabilidad recae en el SO. Consiste básicamente en cargar y descargar procesos en memoria principal para que sean ejecutados, para ello el SO gestiona lo que se conoce como Unidad de Administración de Memoria, el cual es un dispositivo hardware que transforma las direcciones lógicas en físicas.
Gestión de Almacenamiento Gestión del sistema de archivos La mayoría de los sistemas operativos tienen sistemas de archivos. Se usan para almacenar datos de manera segura. Están compuestos por particiones, archivos y directorios, y opcionalmente también de archivos de enlace (accesos directos en Windows). Los sistemas de archivos se deben montar, aunque esto lo hace automáticamente el sistema operativo al iniciar la sesión. Algunos SO de red permiten montar los sistemas de archivos de otras computadoras en directorios comunes. Entre las estructuras que puede tener tenemos: estructura arbórea, grafo acíclico y grafo general. La estructura arbórea es la más sencilla de implementar. Internamente el disco está dividido en bloques físicos (por ej: 512 bytes) y bloques lógicos o clusters (por ej: 4KB). Es bueno que los clúster sean múltiplo del tamaño de los bloques físicos, por razones de eficiencia. En la estructura de un sistema de archivos tenemos que considerar que, al igual que con la memoria principal, siempre se produce algo de fragmentación, que puede ser interna (dentro de cada clúster o bloque) o externa (entre archivos). Cada nodo de la estructura se llama archivo o directorio, y tiene un nombre lógico que está directamente relacionado con una posición física dentro del disco. Es responsabilidad de este sistema recuperar los datos dado un nombre de archivo y su ruta de acceso. Esto lo hace usando tablas o punteros. Por ejemplo el archivo c:materiasoperativos.doc está vinculado con la ubicación 227E-5294-FF12-437D dentro del disco.
Gestión del almacenamiento masivo La mayoría de sistemas informáticos modernos usan discos como principal medio de almacenamiento en línea, tanto para los programas como para los datos. Por tanto, la apropiada gestión del almacenamiento en disco tiene una importancia crucial en un sistema informático. El sistema operativo es responsable de las siguientes actividades: Gestión del espacio libre Asignación del espacio de almacenamiento Planificación del disco El almacenamiento terciario no es crucial para el rendimiento del sistema, aunque también es necesario gestionarlo, algunos SO realizan esta tarea, mientras que otros dejan el control de almacenamiento terciario a los programas de aplicación. Sistemas de E/S Uno de los propósitos de un sistema operativo es ocultar al usuario las peculiaridades de los dispositivos hardware específico. El subsistema de E/S consta de varios componentes: Un componente de gestión de memoria que incluye almacenamiento en búffer, gestión de caché y gestión de colas. Una interfaz general para controladores de dispositivo. Controladores para dispositivos hardware específicos. Almacenamiento en Cache Para amortiguar la lentitud del almacenamiento en dispositivos E/S se usa un almacenamiento de soporte que evita al procesador solicitar byte por byte, y en vez de ello se leen muchos datos con una sola solicitud. Son los buffers y la caché. Los buffers se usan tanto para lectura y escritura de disco, para impresora, monitor, para placa de red, etc. SU misión es agilizar la transferencia emitiendo una sola petición e interrupción para un conjunto de datos. Los tipos de buffers son: · buffer sencillo · buffer doble · circular La función de la caché es similar a la de los buffers, pero está implementada con circuitos de muy alta velocidad y tienen algunas ventajas tecnológicas como la búsqueda por asociación (que busca en muchas entradas al mismo tiempo). Nos puede ser muy útil para mejorar el rendimiento poner partes del sistema de archivos en la caché, y cualesquier otros datos que usemos con frecuencia.
Protección y Seguridad Un mecanismo que controla el acceso de procesos y usuarios a los recursos definidos por un sistema informático. Los mecanismos de protección pueden mejorar la fiabilidad, permitiendo detectar errores en las interfaces entre componentes del sistema. Un sistema con protección tiene la capacidad de distinguir entre un uso autorizado y no autorizado. Un sistema puede tener la protección adecuada pero estar expuesto a fallos y permitir accesos inapropiados. Es responsabilidad de los mecanismos de seguridad defender al sistema frente a ataques internos y externos y los ataques incluyen virus, gusanos, denegación de servicios, etc. La protección y la seguridad requieren que el sistema pueda distinguir a todos sus usuarios y grupos de usuarios. Sistemas Distribuidos Un sistema distribuido es una colección de computadoras físicamente separadas y posiblemente heterogéneas que están conectadas en red para proporcionar a los usuarios acceso a los diversos recursos que el sistema mantiene. Acceder a un recurso compartido incrementa la velocidad de cálculo, la funcionalidad, la disponibilidad de los datos y la fiabilidad. Algunos sistemas operativos generalizan el acceso a red como una forma de acceso a archivo, manteniendo los detalles de la conexión de red en el controlador de dispositivos de la interfaz de red. Un sistema operativo distribuido proporciona un entorno menos autónomo. Los diferentes sistemas operativos se comunican de modo que se crea la ilusión de que un único sistema operativo controla la red. Sistemas de Propósito General Sistemas embebidos en tiempo real Computadoras predominantes actualmente (motores de automóviles, robots para fabricación), tienen tareas específicas. Los sistemas en los que operan son primitivos, disponen de interfaz limitada. Por lo general se encargan de monitorizar y gestionar dispositivos hardware. Los sistemas embebidos casi siempre ejecutan sistemas operativos en tiempo real. Las computadoras con sistemas embebidos pueden ser:
• De propósito general que ejecuta sistemas operativos estándar, con aplicaciones de propósito especial para implementar la funcionalidad. • Sistemas de hardware con sistemas operativos embebidos de propósito especial que sólo proporcionan la funcionalidad deseada. Dispositivos de hardware con circuitos integrados específicos de la aplicación, que realizan sus tareas sin ningún SO.
Sistemas Multimedia La mayor parte de los sistemas operativos están diseñados para gestionar datos convencionales, como archivos de texto, programas. Surgen con la incorporación de datos multimedia. Las aplicaciones multimedia incluyen archivos de audio, películas de DVD, videoconferencia, webcats. Sistemas de Mano Los sistemas de mano incluyen PDA, tales como los Palm muchos de los cuales usan sistemas operativos embebidos de propósito especial. Los desarrolladores de aplicaciones y sistemas de mano se enfrentan a muchos retos, la mayoría de ellos debidos al tamaño. Los dispositivos tienen muy poca memoria, procesadores lentos y pantallas de visualización pequeñas. Usan SO embebidos de propósito especial. Los problemas básicos que enfrentan son la poca memoria, los procesadores lentos y la E/S.
Entornos informáticos Sistema informático tradicional Actualmente proporciona más formas de acceso a estos entornos informáticos. La tecnología web se está extendiendo Portales Servicios, acceso a internet, con cómodos. Hoy en día, los sistemas tradicionales de tiempo compartido no son habituales. Las mismas técnicas de planificación se usan todavía en estaciones de trabajo y servidores, aunque frecuentemente los procesos son todos propiedad del mismo usuario.
Estructuras De Sistemas Operativos El sistema operativo presta ciertos servicios a los programas y a los usuarios de dichos programas. Estos servicios del sistema operativo se proporcionan para comodidad del programador, con el fin de facilitar la tarea de desarrollo. Un cierto conjunto de servicios del sistema operativo proporciona funciones que resultan útiles al usuario: Interfaz de usuario.- tipos existentes es la interfaz de línea de comandos, que usa comandos de texto, otro tipo es la interfaz de proceso por lotes. Habitualmente se utiliza una interfaz grafica de usuario. Ejecución de programas.- Para ejecutar un programa es preciso realizar una serie de tareas. Las instrucciones y los datos deben cargarse en memoria principal, los dispositivos de E/S y los ficheros deben iniciarse, y deben prepararse otros recursos. El sistema operativo proporciona todo eso al usuario. Operaciones de E/S.- Cada dispositivo de E/S necesita su conjunto particular de instrucciones y señales de control para poder operar. El sistema operativo se encarga de esos detalles para que el programador pueda pensar simplemente en términos de lecturas y escrituras. Manipulación del sistema de archivos.- los programas necesitan ejecutar algunas operaciones sobre archivos y directorios como pueden ser: leer, escribir, crear, borrar, buscar; estos incluyen mecanismos de gestión de permisos para conceder o denegar el acceso a los archivos o directorios. Comunicaciones.- los procesos necesitan intercambiar información con otros procesos, estas comunicaciones se pueden realizar a través de memoria compartida o por paso de mensajes. Detección de errores.- El SO necesita detectar los posibles errores que surjan ya sea en el Hardware del procesador y de memoria, en un dispositivo de E/S o en programas de usuario. Otros servicios orientados a garantizar la eficiencia del propio sistema entre los cuales están: Asignación de recursos.- El SO gestiona muchos tipos diferentes de recursos; algunos pueden disponer de código software especial que gestione su asignación, otros pueden tener código que gestione de forma general. Responsabilidad.- Conviene hacer un seguimiento de que usuarios emplean que clase de recursos de la computadora y en que cantidad. Protección y seguridad.- La protección es asegurar que todos los accesos a los recursos del sistema estén controlados y garantizar la seguridad del sistema frente a posibles intrusos, mediante una contraseña.
Interfaz de usuario del sistema operativo Interprete de comandos Estos se conoce también como Shell, la función principal es obtener y ejecutar el siguiente comando especificado por el usuario. Algunos SO lo incluyen en el Kernel otros lo tratan como un programa especial que se ejecuta cuando se inicia un trabajo o una sesión. Interfaz grafica de usuario Los usuarios emplean un sistema de ventanas y menús controlables por medio del ratón. Permite que el usuario interactue con el Sistema Operativo a través de una interfaz Llamadas al sistema Las llamadas al sistema proporcionan una interfaz con la que poder invocar los servicios que el sistema operativo ofrece. Es la única forma en la que un programa puede solicitar operaciones al SO.
Programas del sistema Los programas del sistema proporcionan un cómodo entorno para desarrollar y ejecutar programas, pueden dividirse en las siguientes categorías.
• Administración de Archivos: Estos programas crean, borran, copian, cambian de nombre, imprimen etc. De forma general manipulan archivos. • Información de Estado: Algunos programas solicitan al sistema la fecha, la hora, cantidad de memoria, espacio en disco, usuario. • Modificación de Archivos: editores de texto para crear y modificar el contenido de los archivos almacenados en el disco o en otros dispositivos. • Soporte de Lenguajes de Programación: Se proporcionan compiladores, ensambladores, depuradores en intérpretes para los lenguajes de programación (C, C++, Java). • Carga y Ejecución de Programas: los programas compilados deben cargarse en memoria para poder ejecutarse. • Comunicaciones: Proporcionan los mecanismos para crear conexiones virtuales entre procesos, usuarios y computadores. Diseño e implementación del sistema operativo Objetivos del diseño • Objetivos de Usuario: los usuarios desean ciertas propiedades como: sistema sea cómodo, fácil de utilizar y aprender, fiable, seguro y rápido. • Objetivos del Sistema: el sistema debería ser fácil de diseñar, implementar y mantener, flexible, fiable, libre de errores y eficiente. Mecanismos y políticas Un principio importante es el de separar las políticas de los mecanismos. Los mecanismos determinan como hacer algo, las políticas determinan que hacer. La separación de políticas y mecanismos es importante por cuestiones de flexibilidad.
Implementación Tradicionalmente los SO tenían que escribirse en lenguaje ensamblador hoy en día se escriben en Lenguaje de Alto Nivel como C o C++. La Ventajas de usar un lenguaje de alto nivel: El código puede escribirse más rápido, es más compacto y es más fácil de entender y depurar. Las posibles desventajas de implementar un SO es un lenguaje de alto nivel se reducen a los requisitos de velocidad y de espacio de almacenamiento.
Estructura del sistema operativo Un método habitual consiste en dividir la tarea en componentes más pequeños, en lugar de tener un Sistema Monolítico. Cada uno de estos módulos debe ser una parte bien definida del sistema, con entradas, salidas y funciones cuidadosamente especificadas. Estructura simple Proporciona la máxima funcionalidad en el menor espacio posible, por lo que no fue dividido en módulos de forma cuidadosa. El kernel se divide en una serie de interfaces y controladores de dispositivo, que se han ido añadiendo y ampliando a lo largo de los años. El kernel proporciona el sistema de archivos, los mecanismos de planificación de la CPU, la funcionalidad de gestión de memoria y otras funciones del sistema operativo, a través de las llamadas al sistema. Estructura en niveles El sistema operativo se divide en una serie de capas, El nivel inferior (nivel 0) es le Hardware y el nivel superior (Nivel N) es la interfaz de usuario, también puede mantener un control mayor sobre la computadora y sobre las aplicaciones que hacen uso de dicha computadora. Los niveles se seleccionan de manera que cada uno usa sus funciones y servicios de los niveles inferiores. Un nivel no necesita saber cómo se implementan las operaciones solo necesitan saber que hacen esas operaciones. Un problema con la implementación por niveles es que tiende a ser menos eficientes a ser menos que otros tipos de implementación
Microkernels Normalmente los microkernels proporcionan una gestión de memoria y de procesos mínima, además un mecanismo de comunicaciones. Su función principal es proporcionar un mecanismo de comunicaciones entre el programa cliente y los distintos servicios que se ejecutan en el espacio de usuario. Otra ventaja del microkernel es la facilidad para ampliar el sistema operativo, proporciona mas seguridad y fiabilidad, dado que la mayor parte de los servicios se ejecutan como procesos de usuario, en lugar de procesos de kernel. Los microkernel pueden tener un rendimiento peor que otras soluciones debido a la carga de procesamiento adicional impuesta por las funciones del sistema. Módulos La mejor metodología es usar técnicas de programación orientada a objetos para crear un kernel modular, Tal estrategia utiliza módulos que se cargan dinámicamente y resulta habitual en las implementaciones modernas de UNIX.
Maquinas Virtuales La idea fundamental que subyace a una maquina virtual es la de abstraer el hardware de la computadora formando varios entornos de ejecución diferentes, creando así la ilusión de que cada entorno de ejecución esta operando en su propia computadora privada. Compartir el mismo hardware pero poder operar con entornos de ejecución diferentes (distintos SO) de forma concurrente ya que este proporcionan una interfaz idéntica a la del propio SO. Implementación Las acciones que dan lugar a la transferencia del modo usuario al modo kernel en una maquina real también tienen que hacer que se pase del modo usuario virtual al modo kernel virtual en una maquina virtual. Tal transferencia puede conseguirse cuando se hace una llamada al sistema por parte de un programa que se este ejecutando en una maquina virtual en modo usuario virtual, se produce una transferencia al monitor de la maquina virtual en la maquina real. Beneficios Existe una protección completa de los diversos recursos del sistema. Cada maquina esta completamente aislada de las demás, por lo que no existen problemas de protección. Un sistema de maquina virtual es un medio perfecto para la investigación y el desarrollo de SO. Ejemplos VMware Es una popular aplicación comercial que abstrae el hardware de Intel creando una serie de maquinas virtuales aisladas. Permite al sistema Host ejecutar de forma concurrente varios sistemas operativos huésped diferente como máquinas virtuales independientes.
Máquina Virtual Java:
La JVM es una especificación de una computadora abstracta, puede implementarse por software encima de un SO host (Windows, Linux, Mac OS X) o como parte de un explorador Web.
Resumen de cap1 y 2 : POR Esteban Chamba Jiménez
Libro: Fundamentos de sistemas operativos <SILBERSCHAT – GALVIN - GAGNE>
Otras Referencias STALLINGS Organización y arquitectura de computadores. PUENTE P. Andrés G. Universidad del BíoBío http://www.alipso.com/monografias4/Sist_operativos/ Por: 02-04-2009 por rcvalladolid |
Categorías asociadas: Capítulos 1-2, Uncategorized
Roberto Valladolid INTRODUCCIÓN. Un sistema operativo es un programa que administra el hardware de una computadora. También proporciona las bases para los programas de aplicación y actúa como un intermediario entre el usuario y el hardware de la computadora; algunos sistemas operativos se diseñan para ser prácticos, otros para ser eficientes y otros para ser ambas cosas. Dado que un sistema operativo es un software grande y complejo, debe crearse pieza por pieza. Cada una de estas piezas deberá ser parte bien diseñada del sistema, con entradas, salida y funciones cuidadosamente definidas. ¿QUÉ HACE UN SISTEMA OPERATIVO? Un sistema informático puede dividirse a grandes rasgos en cuatro componentes: el hardware, el sistema operativo, los programas de aplicación y los usuarios. El hardware, la unidad central de procesamiento, UCP o CPU, proporciona los recursos básicos de cómputo al sistema. Los programas de aplicación, como son los procesadores de texto, las hojas de cálculo, los compiladores y los exploradores web. El sistema operativo controla y coordina el uso del hardware entre los diversos programas de aplicación por parte de los distintos usuarios. El sistema operativo proporciona los medios para hacer un uso adecuado de estos recursos durante el funcionamiento del sistema informático. Un sistema operativo como un asignador de recursos. Un sistema informático tiene muchos recursos que pueden ser necesarios para solucionar problemas. El sistema operativo actúa como administrador de estos recursos, al enfrentarse a numerosas y posiblemente conflictivas solicitudes de recursos, el sistema operativo debe decidir como asignarlos a programas y usuarios específicos, de modo que la computadora pueda operar de forma eficiente y equitativa. Un sistema operativo es un programa de control, ya que gestiona la ejecución de los programas de usuario para evitar errores y mejorar el uso de la computadora. • Asignador de recursos à forma eficiente y equitativa. Funcionamiento de una computadora: Una computadora moderna de propósito general consta de una o mas CPU y de una serie de controladores de dispositivo conectadas a través de un bus común que proporciona acceso a la memoria compartida. • Programa de inicio INTERRUPCIONES:
• La ocurrencia de un suceso normalmente se indica mediante una interrupción. Estructuras de Almacenamiento: Los programas de computadora deben hallarse en la memoria principal para ser ejecutados. La memoria principal es la única área de almacenamiento de gran tamaño a la que el procesador debe acceder directamente. • Los sistemas de almacenamiento se pueden organizar en jerarquías, según la velocidad y el costo. Estructuras de E/S: La controladora del dispositivo es la responsable de transferir los datos entre los dispositivos periféricos que controla y su búffer local. Por lo general cada controladora tiene un software controlador del dispositivo (dirver), el cual se entiende con la controladora y presenta al resto del SO una interfaz uniforme mediante la cual se puede comunicar con el dispositivo. La E/S controlada por interrupción resulta adecuada para transferir cantidades pequeñas de datos, pero representa desperdicio de capacidad de procesos cuando se usa para movimientos masivos de datos, como en la E/S de disco à DMA. Arquitectura de un Sistema Informático: Sistema de un solo Procesador. La mayor parte de los sistemas solo usan un procesador. En un sistema de un único procesador, hay una CPU principal capaz de ejecutar un conjunto de instrucciones de propósito general, incluyendo instrucciones de los procesos de usuario. • Usan un solo procesador de propósito general. à PDA hasta los mainframes. • Pueden tener procesadores de propósito especial (específicos de un dispositivo). • Procesadores de propósito especial no convierte a un sistema en multiprocesador. Sistemas Multiprocesador: Aunque los sistemas de un solo procesador son los mas comunes, la importancia de los multiprocesadores esta siendo cada vez mayor. Tales sistemas disponen de dos o mas procesadores que se comunican entre si, compartiendo el bus de la computadora y , en ocasiones, el reloj, la memoria y los dispositivos periféricos.
Se los conoce como sistemas paralelos o sistemas fuertemente acoplados. Los dispositivos multiprocesador presentan tres ventajas fundamentales: 1. Mayor rendimiento: Se realiza más trabajo en menos tiempo. Los sistemas multiprocesador actualmente son de dos tipos: • Asimétrico:
Por: 02-04-2009 por jdjapon |
Categorías asociadas: Capítulos 1-2
ARQUITECTURA DE UN SISTEMA INFORMATICO - Sistema de un solo procesador.- La mayor parte de los sistemas usan un solo procesador. La variedad de los sistemas de un procesador van desde PDA hasta los sistemas mainframe. Los sistemas de un solo procesador, tiene la capacidad de trabajar con varias instrucciones de un propósito general, incluyendo instrucciones de los procesos de usuario.
- Sistema Multiprocesador.- también conocidos como sistemas paralelos o sistemas fuertemente acoplados. Estos se comunican entre sí compartiendo así el bus de la computadora y en ocasiones el reloj, la memoria y los dispositivos periféricos. Las ventajas de los multiprocesadores : Mayor rendimiento Son más económicos Mayor fiabilidad
- Sistemas de clúster.-Los sistemas de clúster al igual que los multiprocesadores utilizan múltiples CPU para llevar a cabo su trabajo. Las computadoras de clúster comparten el almacenamiento y se conectan entre sí a través de un red de área local, normalmente los sistemas de clúster se los utiliza para proporcionar un servicio de alta disponibilidad. Por: 02-04-2009 por jdjapon |
Categorías asociadas: Capítulos 1-2
DEFINICION DE SISTEMAS OPERATIVOS Los sistemas operativos existen por que ofrecen una forma razonable de resolver el problema de crear un sistema informático utilizable. El objetivo principal de las computadoras, es ejecutar programas de usuario y resolver los problemas del mismo fácilmente. Por: 02-04-2009 por jdjapon |
Categorías asociadas: Capítulos 1-2
¿Qué hace un sistema operativo? Un Sistema informático puede dividirse en grandes rasgos: - Hardware - Sistema operativo - Programas de aplicación - Usuario Los programas de aplicación como son los procesadores de texto, las hojas de cálculo, los compiladores y, los exploradores web, definen las formas de cómo estos recursos se emplean para resolver los problemas informáticos de los usuarios. El sistema operativo controla y coordina el uso del hardware entre los diferentes programas de aplicación por parte de los distintos usuarios. El sistema operativo proporciona los medios adecuados para el uso adecuado de estos recursos durante el funcionamiento del sistema informático. Por: 02-04-2009 por cfsaraguro |
Categorías asociadas: Capítulos 1-2, Paralelo "B"
CAPITULO # 1
Un sistema operativo es un software que gestiona el hardware de la computara y proporciona un entorno para ejecutar los programas de aplicación.
Una computadora hace el trabajo de ejecutar los programas siempre y cuando estos estén en la memoria principal. La memoria principal es la única área de almacenamiento de gran tamaño a la que el procesador puede acceder directamente. La memoria principal es un dispositivo de almacenamiento volátil es decir que pierde su contenido cuando se desconecta. Es por esto que la mayoría de los sistemas informáticos poseen un dispositivo de almacenamiento secundario el cual puede almacenar datos de manera permanente, el más común es el disco magnético.
Existen varias estrategias para diseñar un sistema informático: los sistemas monoprocesador que dispones de un solo procesador y el multiprocesador que dispone de dos o más procesadores que comparten la memoria física y los periféricos. El diseño más común de multiprocesador es el multiprocesamiento simétrico, donde todos los procesadores se consideran iguales y operan independientemente uno de otro.
Los sistemas conectados en clúster constituyen una forma especializada de sistema multiprocesador y constan de múltiples computadoras conectadas entre sí a través de una red de área local.
Los sistemas operativos modernos utilizan la multiprogramación, la cual permite tener en memoria varios trabajos a la vez, asegurando así que la CPU tenga siempre un trabajo que ejecutar.
El hardware soporta dos formas de trabajo: modo usuario y modo kernel. Las instrucciones privilegiadas solo se pueden realizar en modo Kernel, como por ejemplo instrucciones de espera.
La memoria en la que el sistema operativo reside debe protegerse en contra de modificaciones que se pueden dar por parte de usuarios. Un temporizador impide los bucles infinitos.
Un proceso es la unidad fundamental de trabajo de un sistema operativo, la gestión de proceso incluye la creación y borrado de procesos y proporciona mecanismos para que los procesos puedan comunicarse entre sí. Un SO gestiona la memoria haciendo un seguimiento de que partes están siendo usadas de la misma y por quien. Gestiona el espacio de almacenamiento lo que incluye proporcionar sistemas de archivos para representar archivos y directorios y gestionar el espacio en los dispositivos de almacenamiento.
La protección y seguridad son parte importante en un sistema operativo, tanto para el usuario como para el mismo SO.
CAPITULO II
En el nivel más bajo la llamadas al sistema permiten que un programa en ejecución hagan solicitudes directamente al SO. En un nivel superior un Intérprete de comandos proporciona un mecanismo para que el usuario ejecute una solicitud sin escribir un programa. Los comandos pueden proceder de archivos de procesamiento por lotes o directamente de un terminal.
Servicios que presta un SO.
Interfaz de Usuario: Para que los usuarios interactúen con el Sistema Operativo Ejecución de Programas: Debe poder cargar un programa en memoria y ejecutar dicho programa. Operaciones de E/S: Estas están dirigidas a un archivo o a dispositivos de entrada y salida. Manipulación de Sistemas de Archivos: Sirve para manejar todo tipo de archivos, con opciones de crear, borrar, renombrar, etc. Todo tipo de archivos. Comunicaciones: Sirve para cambiar información con otro. Detección de Errores: Para que el sistema operativo detecte constantemente los errores que este genera.
Diseño e implementación del SO Los métodos que con el tiempo han demostrado ser los adecuados para el diseño de un sistema son los siguientes:
· Objetivos del Diseño · Mecanismos y Políticas · Implementación
CRISTIAN SARAGURO Por: 31-03-2009 por smcarrion |
Categorías asociadas: Capítulos 1-2, Paralelo "B"
CAPITULO 1
Nombre: Stalin Carrion QUE HACE UN SISTEMA OPERATIVO Un sistema operativo es un sistema informático y este a su vez se divide en grandes rasgos: Componentes: Hardware Sistema Operativo Programas de aplicación Usuarios El hardware CPU, memoria y dispositivos de E/S proporciona los recursos básicos de cómputo al sistema, los programas de aplicación como procesadores de texto, hojas de cálculo, los compiladores y exploradores web, definen las formas que estos recursos se emplean para resolver los problemas informáticos de los usuarios.
Un sistema se diseña para que un usuario monopolice sus recursos, el sistema operativo se diseña principalmente para que sea fácil uso, prestando cierta atención al rendimiento y ninguna a la utilización de recursos.
Algunas computadoras tienen poca o ninguna interacción con el usuario, como las computadoras incorporadas en los electrodomésticos y los automóviles.
Existe operativo es el programa más íntimamente relacionado con el hardware, un sistema informático tiene muchos recursos que pueden ser necesarios para solucionar un problema. Un sistema operativo es un programa de control que gestiona la ejecución de los programas de usuario para evitar errores mejorar el uso de la computadora.
Los sistemas operativos existen porque ofrecen una forma razonable de resolver el problema de crear un sistema informático utilizable. El objetivo fundamental de las computadoras es ejecutar programas de usuario y resolver los problemas con facilidad. Algunos sistemas ocupan menos de un megabyte de espacio y no proporcionan ni un editor a pantalla completa, mientras que otros necesitan gigabytes de espacio están completamente basados en sistema gráfico de ventanas. Un sistema operativo es aquel programa que se ejecuta continuamente en la computadora denominado kernel.
Para que una computadora comienza a funcionar , por ejemplo cuando se enciende o se reinician es necesario que tenga un programa de inicio que ejecutar, éste programa de inicio o arranque suele ser simple se almacenan la memoria ROM o en una memoria EEPROM que es una memoria de sólo lectura programable y eléctricamente borrable conocida como firmware. El programa de arranque debe saber cómo cargar el sistema operativo e iniciar la ejecución de dicho sistema. Para conseguir este objetivo el programa de arranque debe localizar y cargar en memoria el kernel. La ocurrencia de un suceso normalmente se indica mediante una interrupción bien hardware o bien software. Cuando se interrumpe a la CPU dejarlo que está haciendo e inmediatamente transfiere la ejecución a una posición fijada, las interrupciones son una parte importante de la arquitectura de computadoras la interrupción debe transferir el control a la rutina de servicio apropiada a la interrupción. Generalmente la tabla de punteros se almacenan la zona inferior de la memoria, la arquitectura de servicio de las interrupciones también debe almacenar la dirección de la interrupción interrumpida.
Los programas de la computadora deben hallarse la memoria principal (RAM) para ser ejecutados, habitualmente se implementa con una tecnología de semiconductores denominadas DRAM que forman una matriz de palabras de memoria. Un ciclo típico instrucción-ejecución, cuando se ejecuta no sistema común arquitectura de von Neumann primero extrae una instrucción de memoria y almacena dicho instrucción en el registro de instrucciones. 1. Normalmente la demora principal es demasiado pequeña como para almacenar todo los programas y datos necesarios de forma permanente. 2. La memoria principal es un dispositivo de almacenamiento volátil que pierde su contenido cuando se quita la alimentación.
Los sistemas informáticos proporcionan almacenamiento secundario como una extensión de la memoria principal. El dispositivo de almacenamiento secundario más común es el disco magnético que proporciona un sistema de almacenamiento tanto para programas como para datos. El almacenamiento volátil pierde su contenido cuando se retira alimentación del dispositivo, los datos deben inscribirse en almacenamiento no volátiles para su guarda mientras necesario los sistemas de almacenamiento que se encuentran por encima de los discos electrónicos son volátiles y los que se encuentran por debajo son no volátiles. Otra forma de almacenamiento no volátiles es la NVRAM que es una DRAM con batería de reserva esta memoria podría ser tan rápida como una DRAM aunque sólo mantiene su carácter no volátiles durante el tiempo limitado.
La parte del código del sistema operativo se dedica gestionar la entrada y la salida debido su gran importancia rendimiento del sistema por ejemplo 7 + dispositivos pueden estar conectados a la controladora SCSI, unas controladora de dispositivos mantiene algunos buferes locales y un conjunto de registros de propósito especial, la controladora del dispositivo es responsable de transferir los datos entre los dispositivos periféricos que controla y su bufer local, normalmente la sistemas operativos tienen un controlador (driver) de dispositivo para cada controladora del dispositivo. Carencia en operación de E/S el controlador del dispositivo carga los registros apropiados de la controladora hardware.
La mayor parte de los sistemas sólo usan un procesador un único procesador puede ser sorprendente dado que van desde los PDA hasta los sistemas mainframe. En un sistema un único procesador escapado ejecutar un conjunto de instrucciones de propuesta general incluyendo instrucciones de los procesos de usuario.
Los sistemas de un sólo procesador son los más comunes de importancia los sistemas multiprocesador está siendo cada vez mayor. Esto sistemas disponen de dos o más procesadores que se comuniquen entre sí comparten el bus de la computadora.
Ventajas:
1. Mayor rendimiento de aumentar el número de procesadores se espera que se realiza más trabajos menos tiempo, cuando múltiples procesadores cooperan en una tarea cierta carga de trabajo se emplean conseguir que todas las partes funcionen correctamente. 2. Economía de escala los sistemas multiprocesador pueden resultar más baratos que su equivalente con múltiples sistemas de un sólo procesador ya que pueden compartir periféricos y fuentes alimentación. 3. Mayor fiabilidad las funciones se pueden distribuir de forma apropiada entre varios procesadores, entonces el fallo de un procesador no hará que sistema de funcionar sino que sólo se ralentizará.
La capacidad de continuar proporcionando servicio proporcionalmente al nivel de hardware superviviente se denomina degradación suave, algunos sistemas van más allá de la degradación suave y se denomina sistemas tolerantes a fallos dado que pueden sufrir un fallo en cualquier componente y continuar operando. Los sistemas multiprocesadores actualmente utilizados son de dos tipos: el multiprocesamiento asimétrico en el que cada procesador se asigna a una tarea específica. Los sistemas más comunes utilizan el multiprocesamiento simétrico en el que cada procesador realiza todas las tareas correspondientes al sistema operativo, un sistema Sun se puede configurar empleando docenas de procesadores que ejecuten Solaris, además debemos controlar cuidadosamente la E/S para asegurar que los datos lleguen al procesador adecuado. Un sistema multiprocesador permitirá que los procesos y recursos sean compartidos dinámicamente entre los distintos procesadores lo que permiten disminuir la varianza entre la carga de trabajo de los procesadores. La diferencia de multiprocesamiento simétrico y asimétrico puede deberse tanto la hardware como el software.
Por último los servidores blade son un reciente desarrollo en el cual se colocan múltiples procesadores, tarjetas de E/S y tarjetas de red en un mismo chasis.
Esto sistemas utilizan múltiples CPU para llevar a cabo el trabajo. Normalmente la conexión en cluster se usa para proporcionar un servicio, con alta disponibilidad es decir un servicio que funcionará incluso si uno o más sistemas del cluster fallan. El cluster se puede estructurar simétrica o asimétricamente, en un cluster asimétrico, una máquina este modo espera en caliente mientras que en el modo simétrico dos o más hosts ejecuten aplicaciones y se monitorizan entre si.
Ramos y programación incrementa el uso de la CPU organizando los trabajos de modo que la CPU siempre tenga uno que ejecutar, el tiempo compartido requieren sistema informático interactivo que proporciona de comunicación directa entre el usuario y el sistema.
Los sistemas operativos modernos están controlados mediante interrupciones, una excepción es una interrupción generada por software debida a un error.
Necesitamos dos modos diferentes operación: modo usuario y modo kernel (kernel 0 o usuario 1). Con el bit de modo podemos diferenciar entre una tarea que se ejecuten en nombre del sistema operativo y otra que se ejecuta en nombre del usuario.
un programa ejecución, ya mencionamos es un proceso, un programa de usuario de tiempo compartido como por ejemplo un compilador es un proceso un proceso lleva a cabo su tarea cierta recursos los que requiere tiempo memoria, archivos y dispositivos de E/S.
Controla que parte de la memoria está actualmente en uso y por parte de quien. Decidí que datos y procesos añadir puede extraer de la memoria. Asignar y liberar la asignación de espacio de memoria según sea necesario.
Los sistemas operativos deben de ocuparse de la protección y seguridad de su propio sistema operativo y de los usuarios, protección incluye mecanismos que controlan el acceso de los procesos o usuarios a los recursos que el sistema informático pone su disposición. Los sistemas distribuidos permiten a los usuarios compartido recursos en una serie de host conectados a través de una red de computadoras, los servicios puede ser proporcionados según el modelo cliente-servidor por el modelo entre iguales.
CAPITULO 2
ESTRUCTURAS DE SISTEMAS OPERATIVOS
Un sistema operativo presta ciertos servicios a los programas y a los usuarios derechos programas, lo cierto conjunto de servicios del sistema operativo proporciona funciones que resultan útiles al usuario: · interfaz usuario: casi la mayoría de sistemas disponen de una interfaz de usuario, uno de los tipos existente es la interfaz línea de comandos que usa comandos de texto. Todo tipo destacable es la interfaz de proceso por lotes en la que los comandos y directivas para controlar dichos comandos introducen en archivos. · Ejecución de programas: el sistema tiene que poder cargar un programa en memoria y ejecutar, debe poder eliminar esa ejecución de forma normal o anormal. · Operaciones de E/S: programen ejecución lleva a cabo operaciones de E/S dirigidas a un archivo o aún dispositivos de E/S. · manipulación de sistemas de archivos: los programas necesitan leer y escribir en archivos y directorios, además necesitan crearlos y borrarlos usando su nombre, realizar búsquedas en un determinado archivo o presentar la información contenida en un archivo. · Comunicaciones: las comunicaciones se pueden implementar utilizando memoria compartida o mediante paso de mensajes. · Detección de errores: los errores pueden producirse en el hardware de procesadores y memoria, para cada tipo de errores del sistema operativo debe llevar a cabo la acción apropiada para asegurar un funcionamiento correcto y coherente. · Asignación de recursos: cuando hay varios usuarios o hay varios trabajos ejecutándose al mismo tiempo deben atenerse cada uno de ellos los recursos necesarios. · Responsabilidad: debemos hacerlo seguimiento de que usuarios emplean qué clase de recursos de la computadora en qué cantidad. · Protección y seguridad: la protección implica asegurar que todos los accesos a los recursos de sistemas estén controlados, además es importante garantizar la seguridad del sistema frente a posibles intrusos.
Algunos sistemas operativos incluyen el intérprete de comandos en el kernel; como Windows X. P. y UNIX trataran al intérprete de comandos como un programa especial, las shells proporcionan funcionalidad de similares existiendo solo algunas diferencias menores. Comando en UNIX para borrar un archivo: rm file..txt
Una segunda estrategia para interactuar con el sistema operativo es a través de una interfaz gráfica de usuario. En lugar de tener que introducir comandos directamente a través de la línea de comandos. Las llamadas al sistema proporciona una interfaz con la que poder invocar los servicios que el sistema operativo ofrece, entre además el sistema interceptada llamadas a función dentro de las API e invocan la llamada al sistema necesaria. Las llamadas de sistemas son: control de procesos, manipulación de archivos, manipulación de dispositivos, mantenimiento de información y comunicaciones.
Control de procesos: algunos sistemas permiten utilizar tarjetas de control, una tarjeta de control es un concepto extraído de los sistemas de procesamiento por lotes se trata de un comando que permite gestionar la ejecución de un proceso. Manipulación de archivos: necesitamos poder crear (create) y borrar (delete) archivos, una vez que el archivos ha creado necesitamos abrirlo y utilizando también tenemos que poder leerlo, escribir en el, o reposicionarnos, es decir volver a un punto anterior o saltara al final del archivo. Manipulación de dispositivos: una vez solicitado el dispositivo podemos leerl y re posicionar dispositivo al igual que con los archivos. Mantenimiento de información: el sistema operativo mantiene información sobre todos sus procesos y se usan llamadas al sistema para acceder a esa información. Comunicaciones: existen dos modelos comunes de comunicación entre procesos: el modelo de paso de mensajes el modelo de memoria compartida. El modelo de paso de mensajes los procesos que se comunican intercambia mensajes entre sí para transferir información. En el modelo de memoria compartida los procesos usando llamadas al sistema shared memory create y shared memory attach para crear y obtener acceso a regiones de las memorias que son propiedad de otros procesos.
Los programas de sistemas se dividen las siguientes categorías:
· Administración de archivos: crean, borrar, copian, también de nombre, imprimen, vuelcan, listan y de forma general manipulan archivos y directorios. · Información de estado: algunos programas solicitan al sistema la fecha, la hora, la cantidad de memoria o de espacio de disco disponible. · Modificación de archivos: disponen de varios editores de texto para crear y modificar el contenido los archivos. · Soporte de lenguajes de programación: proporcionan los usuarios compiladores, ensambladores, depuradores e intérpretes para los lenguajes de programación. · La ejecución de programas: una vez que programas ensamblado o compilado debe quedarse en memoria para poder ejecutarlo. · Comunicaciones: proporcionan mecanismos para crear conexiones virtuales entre procesos, usuarios y computadoras.
Durante todo el proceso de diseño del sistema operativo debemos de tener muchas precauciones al momento de separar las decisiones de mecanismos de implementación, ya que esto permite conseguir la máxima flexibilidad. En la actualidad los sistemas operativos escriben casi siempre un lenguaje de implementación de sistemas son un lenguaje alto nivel, esto facilita a las tareas de implementación mantenimiento y portabilidad para crear la sistema operativo para una determinada máquina debemos llevar a cabo la generación del sistema, para que un sistema peruana funcionalidad correcta debe interesarse e iniciar la ejecución del programa de arranque implementado en firmware.
Por: 31-03-2009 por acabrera |
Categorías asociadas: Capítulos 1-2
CAPITULO 1 ¿QUE ES UN SISTEMA OPERATIVO? Es una parte fundamental de casi todo sistema de cómputo y actúa como intermediario entre un usuario y el hardware. Un sistema de cómputo se puede dividir en cuatro componentes: hardware, sistema operativo, programas de aplicación y usuarios. El sistema operativo otorga los recursos para administrar y hacer un uso apropiado del hardware, software y datos en la operación del sistema de cómputo, proporciona un ambiente dentro del cual otros programas puedan realizar un trabajo útil. Así mismo es un programa de control, controla la ejecución de programas del usuario para evitar tanto errores como el uso incorrecto del equipo. Una definición más común es que el sistema operativo es el programa que esta ejecutándose en todo momento en la computadora (núcleo kernel). SISTEMAS POR LOTES En las primeras computadoras, el sistema operativo era bastante simple, su tarea principal consistía en transferir el control de un trabajo al siguiente. El sistema operativo siempre estaba residente en la memoria. Para acelerar el procesamiento, los operadores agrupaban en lotes los trabajos con necesidades similares y los ejecutaban en la computadora como un grupo, de esta manera los programadores dejaban sus programas con el operador, quien los clasificaba por lotes con requerimientos similares, y a medida que quedaba disponible la computadora, ejecutaba cada lote. La salida de cada trabajo se devolvía al respectivo programador. La multiprogramación es el primer caso en donde el sistema operativo debe tomar decisiones por el usuario. Los sistemas operativos de multiprogramación son sofisticados, los trabajos que entran al sistema se mantienen en la reserva de trabajos, este grupo está formado por todos los procesos que residen en el disco y que están esperando asignación de memoria, si no hay suficiente espacio para varios trabajos entonces el sistema debe hacer una elección. SISTEMAS DE TIEMPO COMPARTIDO El tiempo compartido o multitarea es una extensión lógica de la multiprogramación. La CPU ejecuta múltiples trabajos conmutando entre ellos, pero los cambios ocurren de manera tan frecuente que los usuarios pueden interactuar con cada programa mientras esta en ejecución. Un sistema de cómputo interactivo proporciona una comunicación directa entre usuario y sistema, el usuario da instrucciones al sistema operativo y espera resultados inmediatos. Un sistema operativo de tiempo compartido es incluso más complejos que los de multiprogramación, hace uso de la planificación de la planificación de la CPU y la multiprogramación para proporcionar a cada usuario una porción de una computadora de tiempo compartido. Un programa que se carga en la memoria y se está ejecutando se le conoce como proceso. SISTEMAS PARA COMPUTADORAS PERSONALES Las computadoras personales aparecieron en la década de 1970 y los sistemas operativos no eran ni multiusuario ni multitarea, pero han evolucionado, hoy en día optan por maximizar el grado de respuesta para el usuario. Estos sistemas incluyen PC ejecutando Windows y Macintosh, MS-DOS de Microsoft ha sido reemplazado por versiones de Windows e IBM ha mejorado MS-DOS por OS/2 de multitarea, Linux es parecido a Unix y a adquirido gran aceptación. Los sistemas operativos para mainframes (computadores grandes) y microcomputadores muestran que características pertenecientes antes solo a mainframes ahora han sido adoptadas por las microcomputadoras. SISTEMAS PARALELOS Los sistemas paralelos tienen más de una CPU en estrecha comunicación, las CPU comparten el bus de las computadoras, y a veces también la memoria y los dispositivos periféricos, tales sistemas proporcionan un mayor rendimiento y una mejor confiabilidad. SISTEMAS DE TIEMPO REAL Se emplea como un dispositivo de control en una aplicación dedicada. Un sistema operativo estricto de tiempo real tiene restricciones de tiempo fijas y bien definidas. El procesamiento debe realizarse dentro de estas restricciones, o el sistema fallara SISTEMAS DISTRIBUIDOS Los diferentes sistemas operativos se comunican de manera estrecha para dar la ilusión de que hay un solo sistema operativo controlando a la red. La influencia del internet y la red ha impulsado el desarrollo de sistemas operativos modernos que incluyen navegadores para red y software para redes y comunicación. CAPITULO 2 ESTRUCTURA DE LOS SISTEMAS DE CÓMPUTO OPERACIÓN DE LOS SISTEMAS DE CÓMPUTO Un sistema de cómputo está compuesto de una CPU y varios manejadores de dispositivo, que da acceso a la memoria compartida. La CPU y los manejadores de dispositivo pueden operar de manera concurrente compitiendo por ciclos de la memoria, para asegurar acceso ordenado a la memoria compartida existe un controlador de memoria cuya función es sincronizar el acceso al mismo. Para que la computadora empiece a funcionar necesita un programa inicial o de arranque. La transferencia de datos entre la CPU y un dispositivo E/S debe ser manejada ya sea por un acceso mediante escrutinio o activado por interrupciones a puerto de E/S o por una transferencia de datos DMA (acceso directo a memoria) Para que una computadora realice su trabajo de ejecutar programas, estos deben estar en la memoria principal. La memoria principal es una arreglo de bytes que van en tamaño de cientos de miles hasta cientos de millones, es un dispositivo de almacenamiento volátil. La mayoría de los sistemas de cómputo proporcionan almacenamiento secundario como una extensión de la memoria principal, al requerimiento del almacenamiento secundario es que sea capaz de retener grandes cantidades de datos de manera permanente. El disco magnético proporciona almacenamiento para datos y programas. Las cintas magnéticas se usan mas para respaldos. Los sistemas de almacenamiento en un sistema de computo puede organizarse en una jerarquía de acuerdo a su velocidad y a su costo, los niveles más altos son costosos pero mas rápidos, en el punto más alto se encuentran los registros luego la cache, memoria principal, disco principal y al último se encuentran las cintas magnéticas. El sistema operativo debe asegurar la operación correcta del sistema de cómputo, para evitar que los programas de usuario interrumpan con el sistema, el hardware tiene dos modos: modo de usuario y monitor. La memoria en la que está el sistema operativo debe estar protegida de modificación por parte del usuario. Un temporizador evita ciclos infinitos, estos servicios son bloques de construcción básicos empleados por los sistemas operativos para lograr una operación correcta.
Por: 31-03-2009 por Jorge Luis Veintimilla O. |
Categorías asociadas: Capítulos 1-2, Paralelo "B"
RESUMENES Por: Jorge Luis Veintimilla Ojeda Paralelo: “B” RESUMEN CAP. 1 “INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS” Un sistema operativo es un software de sistema que gestiona el hardware de una computadora mediante la administración eficaz de sus recursos. Un aspecto importante de un sistema operativo es que proporciona una interfaz al usuario para que este realice su trabajo. Entre las principales funciones de un sistema operativo tenemos. Interfaces del usuario: Es la parte del sistema operativo que permite comunicarse con un usuario, lo cual facilita que el usuario pueda cargar programas, acceder archivos y realizar otras tareas. Administración de recursos: Sirven para administrar los recursos de hardware y de redes de un sistema informático, como el CPU, memoria, dispositivos de almacenamiento secundario y periféricos de entrada y de salida. Administración de archivos: Un sistema de información contiene programas de administración de archivos que controlan la creación, borrado y acceso de archivos de datos y de programas. También implica mantener el registro de la ubicación física de los archivos en los discos magnéticos y en otros dispositivos de almacenamiento secundarios. Administración de tareas: Los programas de administración de tareas de un sistema operativo administran la realización de las tareas informáticas de los usuarios finales. Los programas controlan que áreas tiene acceso al CPU y por cuánto tiempo. Las funciones de administración de tareas pueden distribuir una parte específica del tiempo del CPU para una tarea en particular, e interrumpir al CPU en cualquier momento para sustituirla con una tarea de mayor prioridad. Servicio de soporte: Estos servicios de soporte suelen consistir en:
Un sistema operativo también es el encargado de manejar la estructura de almacenamiento en un computador, ya que en la memoria ram o memoria principal al ser demasiado pequeña como para almacenar todos los programas y datos necesarios de forma permanente y debido a que esta memoria pierde su contenido cuando se le quita la alimentación, los sistemas operativos cumplen la función de proporcionar almacenamiento secundario en dispositivos de almacenamiento secundario como puede ser discos magnéticos. ARQUITECTURA DE UN SISTEMA Los sistemas operativos pueden ser de un solo procesador o multiprocesador, de un solo procesador son los sistemas más comunes y cumplen con la función de ejecutar un conjunto de instrucciones de propósito general, incluyendo instrucciones de los procesos de usuario. Mientras que un sistema multiprocesador presenta las ventajas de mayor rendimiento, economía de escala y mayor fiabilidad. ESTRUCTURA DE UN SISTEMA OPERATIVO Los sistemas operativos proporcionan un entorno en el cual se ejecutan los programas. La multiprogramación incrementa el uso del CPU organizando los trabajos de modo que la CPU tenga una tarea que ejecutar, haciendo así un correcto uso de los recursos del sistema. OPERACIONES DEL SISTEMA OPERATIVO Los sistemas operativos modernos están controlados mediante interrupciones. Es decir que siempre debe haber un proceso que ejecutar, por lo que sino el sistema operativo estaría inactivo. Operación de modo Dual.-El modo dual de operación nos proporciona los medios para proteger el sistema operativo de los usuario que puedan causar errores, y también para proteger a los usuarios de otros usuarios quitando privilegios de uso de software y hardware. Temporizador.- Un temporizador se lo puede configurar para interrumpir a la computadora después de un periodo especificado, generalmente, se implementa un temporizador variable mediante un reloj de frecuencia fija y un contador. GESTIÓN DE PROCESOS Para que un proceso se lleve a cabo debe tener recursos en el que se incluyen tiempo del CPU, memoria, archivos y dispositivos de E/S. GESTIÓN DE MEMORIA Es un repositorio de datos rápidamente accesible compartida por la CPU y los dispositivos de E/S. GESTIÓN DE ALMACENAMIENTO
PROTECCIÓN Y SEGURIDAD Dentro de todo tipo de sistemas se debe proporcionar protección y seguridad para proporcionar a los usuarios un correcto acceso a los diversos recursos que el sistema mantiene, esto se debe implementar en todo tipo de sistemas, por ejemplo en sistemas distribuidos, sistemas de propósito general, entornos informáticos, etc. ————————————————————————————————
Un sistema operativo proporciona el entorno en el que se ejecuta los programas, y los sistemas operativos proporcionan una serie de servicios como son:
Entre otras funciones tenemos:
ESTRUCTURA DEL SISTEMA OPERATIVO La ingeniería de un sistema tan grande y complejo como un sistema operativo moderno debe hacerse cuidadosamente para que le sistema funcione apropiadamente y pueda modificarse con facilidad. Se puede estructurar de dos maneras
MÁQUINAS VIRTUALES El objetivo principal de una máquina virtual es la de abstraer el hardware de la computadora formando varios entornos de ejecución diferentes, creando así la ilusión de que cada entorno de ejecución está operando en su propia computadora privada. GENERACIÓN DE SISTEMAS OPERATIVOS Es posible diseñar, codificar e implementar un sistema operativo específicamente para una maquina concreta en una instalación determinada. ARRANQUE DEL SISTEMA Cuando un sistema operativo está listo y desarrollado y está dentro de un hardware para su uso, el procedimiento de iniciación de una computadora mediante el kernel se llama arranque del sistema.
BIBLIOGRAFÍA
Enlaces Web:
Por: 31-03-2009 por Rodrigo Saraguro |
Categorías asociadas: Capítulos 1-2, Paralelo "B"
SISTEMAS OPERATIVOS Un sistema operativo es un software base que controla los procesos del hardware de una computadora. Permite organizar los archivos en diversos dispositivos de almacenamiento, además de gestionar posibles errores de hardware y la pérdida de datos. Para la normal ejecución de un programa, este debe encontrarse en la memoria principal (RAM). Ya que es un área de almacenamiento de gran tamaño a la que el procesador puede acceder fácilmente mediante la tecnología DRAM (dynamic random-acces memory). Un sistema informático se puede diseñar de diferentes maneras, las cuales se clasifican de acuerdo al número de procesadores. Los sistemas monoprocesadores en su mayoría constan de un solo procesador en donde existe un CPU capaz de ejecutar un conjunto de instrucciones de propósito general e instrucciones de los procesos de usuario. Así mismo podemos mencionar que los sistemas multiprocesadores disponen de dos o más procesadores que se comunican entre si, aunque operan independientemente unos de otros, entre sus ventajas se encuentran: Mayor rendimiento, Economía de Escala y Mayor fiabilidad. Mientras que los sistemas conectados en cluster pueden compartir almacenamiento y se conectan entre si a través de una Red LAN. Una de las características más destacadas de los sistemas operativos es la capacidad para la multiprogramación, la cual incrementa el uso de la CPU organizando los trabajos, asegurando por tanto que esta siempre tenga un trabajo que ejecutar. Dentro de la multiprogramación se puede citar el tiempo compartido o multitarea, el cual permite que la CPU ejecute múltiples trabajos al mismo tiempo. Los sistemas operativos gestionan una correcta operación del sistema informático, para impedir que existan excepciones que interfieran con el funcionamiento del sistema. Un proceso necesita llevar a cabo su tarea utilizando ciertos recursos, entre los que incluyen tiempo de CPU, memoria, archivos y dispositivos de E/S. La gestión de procesos se basa en la creación y borrado de procesos, proporcionar mecanismos para que los procesos establezcan comunicación y sincronización entre sí. El sistema operativo en cuanto a su gestión de memoria hace un seguimiento de que partes de la misma están siendo usadas y por quién. Así mismo la gestión de archivos en cuanto a su almacenamiento. La protección y seguridad de un sistema operativo es indispensable, ya que defienden el sistema de ataques internos o externos al controlar el acceso de procesos y el uso de ciertos recursos autorizados mediante mecanismos definidos por el sistema. Existen diferentes clases de sistemas informáticos que son de propósitos específicos. Entre ellos se encuentran los Sistemas Embebidos, Sistemas multimedia y Sistemas de mano. Los Sistemas Embebidos en tiempo real que ejecutan sistemas operativos bajo rígidos requisitos de tiempo en la operación de un procesador, o el sistema fallará. Los Sistemas Multimedia gestionan el suministro de datos multimedia (mp3 y videos) u muchas veces un software capaz de reproducirlos. ESTRUCTURAS DE SISTEMAS OPERATIVOS Un sistema operativo proporciona una serie de servicios entre ellos mencionamos: una interfaz disponible para usuarios y programadores, ejecución de Programas, Operaciones de E/S, Manipulación del sistema de archivos, Comunicaciones, Detección de errores, Asignación de Recursos, Responsabilidad, Protección y Seguridad. La Interfaz de usuario de un Sistema Operativo gira en torno a dos métodos fundamentales, el primero es la Interfaz de líneas de Comando o interprete de Comandos y la Interfaz Grafica de Usuario o GUI. Los intérpretes de comandos tienen la función de obtener y ejecutar el comando especificado por el usuario, mediante llamadas al sistema. En cambio la Interfaz Grafica de Usuario proporciona un entorno amigable y de fácil uso par cualquier usuario, el cual trabaja con ventanas, menús, iconos y directorios que se muestran en el Escritorio del Sistema. Las llamadas al Sistema proporcionan una interfaz para poder invocar los servicios que el sistema operativo ofrece. Entre los tipos de llamadas se encuentran: el control de procesos, administración de archivos y dispositivos, mantenimiento de información y comunicaciones. Para el diseño e implementación de un sistema operativo, nos podemos regir a que los objetivos del sistema estén bien definidos, los mecanismos a utilizar y su implementación. Es fundamental la modularidad de un sistema operativo para que puedan luego modificarse con facilidad, entre las clases de estructuras se encuentran: E. Simple, E. en niveles, Microkernels y Módulos. La estructura en niveles se conceptualiza como maquina virtual, y esta trata tanto al kernel del sistema operativo y al hardware como si fueran hardware. Incluso permite cargar otros sistemas operativos en esta maquina virtual dentro de otro sistema operativo. En la actualidad los sistemas operativos se codifican casi siempre en Lenguajes de implementación de sistemas o en Lenguajes de Alto Nivel. Facilitando así su implementación, mantenimiento y portabilidad. Finalmente para que un Sistema Operativo ya generado pueda funcionar, la CPU debe recibir un suceso de reinicialización para ejecutar el programa de arranque que se encarga de localizar el kernel, cargándolo en la memoria e iniciando su ejecución. Aunque si el sistema operativo esta en el firmware puede inicializarse directamente con el cargador de arranque. Rodrigo Saraguro Bravo |
