Conceptos Generales Tabla de Contenidos


Save this PDF as:
 WORD  PNG  TXT  JPG

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Conceptos Generales Tabla de Contenidos"

Transcripción

1 Conceptos Generales Tabla de Contenidos 1. Conceptos Generales Introducción: Definición de un Sistema Operativo Estructura, elementos y funciones Evolución de los sistemas operativos:... 5 Primera etapa: Procesamiento en serie... 5 Segunda etapa: Procesamiento por lotes... 6 Tercera etapa: Multiprogramación y tiempo compartido... 7 Cuarta etapa: redes de ordenadores Interfaces con el sistema operativo...8 Las llamadas al sistema... 8 El intérprete de órdenes...9 Llamadas al sistema y protección Estructura de los sistemas operativos...11 Sistemas monolíticos...11 Modelo cliente-servidor Máquina Virtual Estructuras orientadas a objetos Clasificación de los sistemas operativos: Procesos Gestión de memoria Gestión de discos Entrada / salida Compiladores...71

2 1. Conceptos Generales 1.1 Introducción: Un ordenador es una máquina que procesa la información de forma rápida y automática. A pesar de ello, la utilización de un ordenador no es una tarea fácil, ya que la forma en que podemos comunicarnos con él, es decir, su interfaz, es extraña y compleja. Se entiende por interfaz de un objeto la parte del objeto accesible desde su exterior, que nos permite utilizarlo y consultar su estado interno. Por ejemplo, un reloj digital, cuya interfaz esta constituida por una serie de botones y una pantalla, que hacen posible la modificación su comportamiento, cambiando la hora o programando una alarma, y la visualización de su estado actual. Para usar un reloj digital no es preciso conocer su funcionamiento interno, sólo hay que saber utilizar su interfaz. La interfaz de un ordenador está formada por un conjunto pequeño de instrucciones máquina, que permiten utilizar los dispositivos físicos o hardware (CPU, memoria y periféricos) de los que se compone. Si los usuarios de un ordenador tuvieran que utilizar el hardware a través de sus instrucciones máquina se escribirían muy pocos programas, porque trabajar de manera directa con los dispositivos físicos del ordenador mediante estas instrucciones es complejo, tedioso, y está lleno de detalles. La solución que se adoptó con el tiempo para salvar esta complejidad es la de escribir capas o niveles de software. Una capa de software de nivel i es un conjunto de programas que trabajan directamente con la interfaz de su nivel inferior (i - 1), y presentan a su nivel superior (i + 1) una interfaz que permite utilizar el nivel i -1 de una forma más sencilla. Una capa software abstrae a su nivel superior de los detalles del nivel inferior y, por tanto, una capa de nivel i puede permitir a su capa superior utilizar las interfaces de sus niveles inferiores (i -1, i - 2,...), o puede obligar a utilizar solamente la interfaz de la capa i, asegurándose así la utilización directa del nivel inferior. El sistema operativo es una de las capas de software más importantes de un sistema informático. 1.2 Definición De Un Sistema Operativo Se puede definir un sistema operativo como un conjunto de programas que controlan directamente los recursos hardware o físicos de un ordenador (CPU, memoria principal y periféricos) proporcionando una máquina virtual más fácil de utilizar que el hardware subyacente. El sistema operativo es la capa de software más baja de un ordenador y que trabaja directamente sobre el hardware.

3 Por encima del sistema operativo se encuentra un nivel formado por traductores, editores de texto e intérpretes de órdenes. Los dos primeros tipos de programas, junto con enlazadores y depuradores, son útiles para crear un nivel de abstracción cómodo para el desarrollo de programas. Figura 1. Niveles hardware y software de un ordenador. La unión de los programas de las dos capas intermedias de la Figura anterior forman el software de sistemas de un ordenador. Finalmente, está el nivel constituido por los programas de aplicación, estos programas no dan servicio a otros programas, su finalidad es resolver problemas concretos. Pertenecen a esta capa los procesadores de texto, hojas de cálculo, etc. En general, puede decirse que los sistemas operativos realizan dos funciones: 1. Constitución de una máquina virtual o extendida: El sistema operativo proporciona al usuario una máquina virtual cuyas características son distintas y más sencillas de utilizar, que las de la máquina real subyacente. Algunas características en las que frecuentemente la máquina virtual difiere de la máquina real son: a) Entrada/salida (E/S). La capacidad de E/S de un hardware básico es extremadamente complejo requiere sofisticados programas para su utilización. Un sistema operativo evita al usuario tener que comprender el funcionamiento de este hardware, poniendo a su alcance una máquina virtual mucho más sencilla. b) Memoria. Muchos sistemas operativos proporcionan una máquina virtual cuya memoria difiere en tamaño de la de la máquina real subyacente. Por ejemplo, un sistema operativo puede emplear memoria secundaria (discos magnéticos) para obtener una memoria principal mucho más extensa, la cual es virtual y difiere de la que se dispone en realidad.

4 c) Sistema de ficheros. La mayoría de las máquinas virtuales incluyen un sistema de ficheros para el almacenamiento a largo plazo tanto de programas como de datos. El sistema de ficheros está basado en la capacidad de almacenamiento sobre cinta o disco de la máquina real. El sistema operativo, sin embargo, permite al usuario acceder a la información almacenada a través de nombres simbólicos en lugar de hacerlo a través de su posición física en el medio de almacenamiento. d) Protección y tratamiento de errores. En ordenadores compartidos por un determinado número de usuarios, es esencial que cada uno de ellos esté protegido de los efectos de los errores. Los ordenadores varían en lo que respecta al grado de protección que proporciona su hardware básico, siendo misión del sistema operativo el constituir una máquina virtual en la que ningún usuario pueda afectar de manera negativa al trabajo de los demás. e) Interacción a nivel de programa. Una máquina virtual puede posibilitar la interacción entre distintos programas de los usuarios de forma que, por ejemplo, la salida de uno de ellos sea la entrada de otro. La naturaleza concreta de una máquina virtual dependerá de la aplicación particular a la que se dedique. Por ejemplo, las características de una máquina virtual que controle un sistema de tiempo real serán distintas de las de una máquina virtual que se utilice para el desarrollo de programas. 2. Utilización compartida de recursos: Un sistema operativo debe lograr que se compartan los recursos de un ordenador entre un cierto número de usuarios que trabajen de forma simultánea. La finalidad de esto es la de incrementar la disponibilidad del ordenador con respecto a sus usuarios y, al mismo tiempo, maximizar la utilización de recursos tales como procesadores centrales, memoria y dispositivos de E/S.

5 1.3 Estructura, Elementos Y Funciones Evolución De Los Sistemas Operativos: Primera Etapa: Procesamiento En Serie Al principio no existían sistemas operativos, programándose sobre el hardware básico. Los programas se escribían en lenguaje máquina, y se introducían en el ordenador, junto a los datos, en octal o hexadecimal mediante una consola con interruptores manuales. Se iniciaban los programas cargando el registro contador de programa con la dirección de memoria de la primera instrucción del programa. Los resultados de la ejecución se obtenían examinando el contenido de los registros y posiciones de memoria relevantes. Los dispositivos de E/S se controlaban directamente, escribiendo y leyendo en los puertos de E/S. La programación del hardware básico da una baja productividad. El proceso largo y tedioso de la introducción de programas y datos excluye prácticamente la ejecución de programas medios y grandes. Posteriormente, la evolución viene con la llegada de los dispositivos de E/S, tales como lectores de tarjetas y de cintas de papel perforadas. También aparecen los traductores de lenguajes. Los programas, codificados ahora en un lenguaje simbólico, se traducen a forma ejecutable mediante un traductor. Otro programa, llamado cargador, automatiza la carga de programas ejecutables en memoria. El usuario pone un programa y sus datos de entrada en un dispositivo de entrada, y el cargador transfiere información desde el dispositivo de entrada a memoria. Después, se transfiere el control, mediante medios manuales o automáticos, al programa cargado para su ejecución. El programa en ejecución lee sus entradas desde el dispositivo de entrada designado y puede producir alguna salida en un dispositivo de salida, como la impresora o la pantalla. Una vez en memoria, el programa se puede reejecutar con un conjunto diferente de datos de entrada. El mecanismo de desarrollo de programas era una secuencia típica; Se carga el programa editor para preparar el código fuente del programa de usuario. El siguiente paso es cargar y ejecutar el traductor, y alimentarlo con el código fuente del programa de usuario. Los traductores de paso múltiple pueden requerir que se vuelva a poner el código fuente durante cada paso para leerlo. Una vez corregido sintácticamente el programa se ejecuta el código objeto. Si se detectan errores en la ejecución, se puede examinar y modificar el contenido de la máquina mediante los interruptores de la consola, o con la ayuda de un programa denominado depurador. La mayoría de los programas utilizaban dispositivos de E/S. Una mejora lógica fue el proporcionar unas rutinas estándares de E/S que fueran usadas

6 por todos los programas. Al principio, las rutinas de E/S se introducían con las demás tarjetas del programa de usuario. Posteriormente, se guardaba en memoria las rutinas compiladas, y mediante un programa enlazador se combinaban con el código objeto del usuario. En estos sistemas las rutinas de E/S y el programa cargador constituyen una forma rudimentaria de sistema operativo. Los traductores, editores y depuradores son programas de sistema, pero no forman parte del sistema operativo. Segunda Etapa: Procesamiento Por Lotes Anteriormente, el rendimiento del procesador es muy baja, porque el tiempo empleado en leer un programa almacenado en tarjetas suele ser mucho mayor que el empleado en ejecutar el programa. Cuando aparecieron las cintas magnéticas, cuya lectura y escritura era muy inferior en tiempo a las tarjetas, se pensó que se utilizaría más el procesador si todas las entradas y salidas se realizaban sobre cintas. Para realizar esto se utilizó una técnica de offlining (fuera de línea). Se dedicaba un ordenador periférico, de menor costo y potencia, a convertir las tarjetas o la cinta perforada en información sobre cinta magnética, y la salida sobre cinta magnética en salida sobre impresora o cinta perforada. Una vez que se procesaban varios trabajos a cinta, ésta se desmontaba del ordenador periférico, y se llevaba a mano para su procesamiento por el ordenador principal. Cuando el ordenador principal llenaba una cinta de salida, ésta se llevaba al ordenador periférico para su paso a impresora o cinta perforada. Una de las implicaciones de esta forma de trabajo era que en una cinta de entrada podían existir los trabajos de varios programadores. Con esta forma de trabajo se esperaban horas hasta que el programa proporcionara su salida. La falta de un punto y coma al final de una línea de un programa podía provocar un error sintáctico, y la pérdida de estas horas de espera. Por otro lado, debido a que la cinta magnética es un medio de almacenamiento serie, no había opción alguna de orden de ejecución de las tareas que no fuese el orden en que éstas se habían presentado al ordenador. De cara a eliminar la dependencia de las E/S en lugar de tan sólo reducirla, hay que emplear técnicas mediante las cuales se puedan superponer las E/S al proceso a ejecutar. Ello es posible con la ayuda de dos elementos del hardware: el canal y la interrupción. Un canal es un elemento que controla uno o más dispositivos, llevando a cabo transferencias de datos entre estos dispositivos y la memoria sin involucrar prácticamente al procesador central. Una interrupción es una señal que transfiere el control del procesador central a una posición fija de memoria, almacenando al mismo tiempo el valor anterior del contador de programa, y, posiblemente, la palabra de estado del procesador. De esta forma, se suspende temporalmente la ejecución del programa que estaba siendo llevado a cabo en el momento de la interrupción, aunque podrá reemprenderse dicha ejecución más tarde (o sea, el programa es interrumpido). Una interrupción de un canal actúa como una señal que indica que se ha completado una transferencia de datos. De esta forma es posible que el procesador central inicie una transferencia a un dispositivo, continúe el proceso que estaba llevando a cabo mientras el canal controla la transmisión y reciba a través de una

7 interrupción la notificación de haberse completado dicha transferencia. Es posible ahora leer las tareas a ejecutar guardándolas en un soporte adecuado (normalmente disco), y ejecutarlas una a una al mismo tiempo que se van leyendo otras. Para ello ha habido que añadir a nuestro sistema operativo una rutina de gestión de las interrupciones y otra que decida cuál de las tareas almacenadas en disco será la siguiente en ser ejecutada. Esta última función, que recibe el nombre de sheduling, deriva del empleo del disco (caracterizado por un acceso aleatorio) como medio de almacenamiento de las distintas tareas en lugar de la cinta magnética, caracterizada por un acceso serie. Un sistema que trabaje de esta forma recibe el nombre de monitor de batch de flujo único (en inglés, single stream batch monitor). El concepto de flujo único lleva implícita la idea de una sola tarea ejecutándose a la vez. Tercera Etapa: Multiprogramación Y Tiempo Compartido La desventaja de un sistema de flujo único es la total dedicación de la máquina a la ejecución de una sola tarea, no importa lo larga o lo corta que sea. Este inconveniente se soluciona mediante la multiprogramación, que es la ejecución simultánea de varios programas que residen en la memoria principal, dividiendo el procesador central su tiempo entre ellos de acuerdo con los recursos (canales o dispositivos) que necesite en cada momento cada uno de ellos. De esta forma es posible, teniendo almacenado un conjunto adecuado de tareas en cada momento, obtener una utilización óptima de los recursos disponibles. Ello incluye la utilización del procesador central, ya que en tanto que una tarea esté esperando el final de una transferencia de E/S, este procesador puede pasar a trabajar en alguna otra tarea que esté pendiente en la máquina. La carga que recae sobre el sistema operativo consiste en el control de los recursos, así como la protección de cada tarea frente a las actividades de las otras. Un sistema operativo de este tipo recibe el nombre de monitor de batch de varios flujos. Sin embargo, desde el punto de vista del usuario el sistema posee falta de interactividad. Para hacer posible esta interacción, el sistema de batch de varios flujos debe modificarse con el fin de que pueda adquirir la información que le suministren los usuarios desde los respectivos terminales: es decir, debe convertirse en un sistema multiusuario. Un sistema de este tipo, en el cual existen varios usuarios con un terminal en línea (usuarios interactivos), se llama sistema de tiempo compartido. En estos sistemas se divide el tiempo del procesador central, y de los demás recursos del ordenador, de forma que cada usuario tiene la ilusión de que todo el ordenador se le dedica exclusivamente a él, al recibir unos tiempos de respuesta aceptables. En un sistema de tiempo compartido los usuarios suelen ejecutar programas cortos (por ejemplo, compilar un programa), frente a los programas largos (por ejemplo, ordenar una cinta de un millón de datos) que se suelen dar en los sistemas batch. Por último hay que indicar que algunos sistemas operativos permiten tanto usuarios interactivos como lotes de trabajos batch. En estos sistemas se atiende a los usuarios interactivos con mayor prioridad, ejecutándose los programas batch cuando no hay programas de usuario.

8 Cuarta Etapa: Redes De Ordenadores En una red de ordenadores se tiene una configuración de varios ordenadores conectados físicamente. Los ordenadores de una red pueden tener sistemas operativos de red o sistemas operativos distribuidos. En un sistema operativo de red los usuarios son conscientes de la existencia de varios ordenadores, y pueden conectarse con máquinas remotas para, por ejemplo, copiar ficheros. Cada máquina ejecuta su propio sistema operativo local y tiene su propio usuario (o grupo de usuarios). Los sistemas operativos de red no difieren de los sistemas operativos tradicionales de un sólo procesador. Necesitan un controlador de red, algunas rutinas de E/S para utilizar dicho controlador, y programas que permitan la conexión y el acceso a ordenadores remotos, pero esas características adicionales no modifican la estructura esencial del sistema operativo. En un sistema distribuido los ficheros que utiliza un usuario (así como el procesador en el que se ejecutan sus programas) pueden estar situados en cualquier ordenador de la red. Además, esto es transparente al usuario. Los sistemas operativos distribuidos requieren algo más que añadir un poco de código a un sistema operativo de un único procesador, ya que los sistemas distribuidos difieren en aspectos críticos de los sistemas centralizados. Actualmente toman fuerza nuevas tendencias como el Multiprocesamiento Simétrico, donde todas las CPU s que forman el sistema comparten una única copia del código y los datos del kernel, frente a Multiprocesamiento Asimétrico, donde cada CPU tiene su propio kernel y datos locales Interfaces Con El Sistema Operativo Las Llamadas Al Sistema Anteriormente se comentó que el sistema operativo es una interfaz que oculta las peculiaridades del hardware. Para ello ofrece una serie de servicios que constituyen una máquina virtual más fácil de usar que el hardware básico. Estos servicios se solicitan mediante llamadas al sistema, consistente en colocar una serie de parámetros en un lugar específico (como los registros del procesador), para después ejecutar una instrucción del lenguaje máquina del procesador denominada trap, en castellano, trampa. La ejecución de esta instrucción máquina hace que el hardware guarde el contador de programa y la palabra de estado del procesador en un lugar seguro de la memoria, cargándose un nuevo contador de programa y una nueva palabra de estado del procesador. Este nuevo contador de programa contiene una dirección de memoria donde reside una parte (un programa) del sistema operativo, el cual se encarga de llevar a cabo el servicio solicitado. Cuando el sistema operativo finaliza el servicio, coloca un código de estado en un

9 registro para indicar si hubo éxito o fracaso, y ejecuta una instrucción return from trap, esta instrucción provoca que el hardware restituya el contador de programa y la palabra de estado del procesador del programa que realizó la llamada al sistema, prosiguiéndose así su ejecución. Normalmente los lenguajes de alto nivel tienen una (o varias) rutinas de biblioteca por cada llamada al sistema. Dentro de estos procedimientos se aísla el código (normalmente en ensamblador) correspondiente a la carga de registros con parámetros, a la instrucción trap, y a obtener el código de estado a partir de un registro. La finalidad de estos procedimientos de biblioteca es ocultar los detalles de la llamada al sistema, ofreciendo una interfaz de llamada a procedimiento. Como una llamada al sistema depende del hardware (por ejemplo, del tipo de registros del procesador), la utilización de rutinas de biblioteca hace el código portable. El número y tipo de llamadas al sistema varía de un sistema operativo a otro. Existen, por lo general, llamadas al sistema para ejecutar ficheros que contienen programas, pedir más memoria dinámica para un programa, realizar labores de E/S, etc. El Intérprete De Órdenes Cuando un usuario se conecta a un ordenador se inicia un intérprete de órdenes, en entornos UNIX, son llamados shells. El intérprete de órdenes es un programa que muestra un indicador (prompt) formado por algunos caracteres, que pueden incluir el directorio de trabajo, que indica al usuario que es posible introducir una orden. En un entorno UNIX, o MS DOS, la primera palabra es el nombre de un fichero que contiene un programa, siendo el resto de la línea una serie de argumentos, separados por espacios, que toma dicho programa. Una excepción a esto son las órdenes internas, que el intérprete implementa como rutinas suyas, y que no tienen, por tanto, un programa asociado guardado en disco. El intérprete de órdenes realiza entonces una o varias llamadas al sistema para ejecutar dicho programa. Cuando el programa finalice (al realizar una llamada al sistema exit) el control vuelve al programa que lo lanzó (el intérprete de órdenes), mostrando éste otra vez el indicador, y repitiéndose el ciclo. Así pues, el intérprete de órdenes es un programa que sirve de interfaz entre el sistema operativo y un usuario, utilizándolo este último para ejecutar programas. A diferencia de un programador, un usuario final realiza todas las llamadas al sistema indirectamente, a través de las llamadas al sistema de los programas que ejecuta. En muchos sistemas se ha optado por sustituir el intérprete de órdenes por un programa que utiliza ventanas, como en el caso de sistemas operativos Windows. En estos programas aparecen iconos que el usuario puede seleccionar mediante un ratón. Cuando el usuario selecciona un icono que representa un programa se realizan llamadas al sistema para ejecutar un fichero, asociado al icono, que contiene el programa. Por lo tanto, se sustituye la interfaz del usuario para ejecutar programas, pero la interfaz con el sistema operativo no cambia. Existen una serie de programas muy importantes (como traductores, editores de texto, ensambladores, enlazadores e intérpretes de órdenes) que ayudan al programador a realizar sus programas, y que

10 vienen en el lote con cualquier sistema operativo. Estos programas, que forman parte de los programas de sistema o software de sistemas, utilizan llamadas al sistema, pero no son parte del sistema operativo. El sistema operativo es el código que acepta llamadas al sistema, y realiza un procesamiento para satisfacer dichas llamadas. Llamadas Al Sistema Y Protección En los sistemas de multiprogramación se pueden ejecutar varios programas a la vez. Cuando se ejecutan simultáneamente varios programas, por ejemplo de distintos usuarios, hay que proteger a un programa de la acción de los demás. Para llevar a cabo esta protección, el sistema operativo se apoya en varios mecanismos proporcionados por el hardware. Los mecanismos de protección de memoria se verán más adelante en la de gestión de memoria. La mayoría de los procesadores tienen un modo supervisor (o modo núcleo) y el modo usuario, un bit de la palabra de estado del procesador indica el modo de funcionamiento. En modo supervisor está permitido la ejecución de cualquier instrucción máquina, sin embargo, en modo usuario no se permite la ejecución de algunas instrucciones reservadas que llevan a cabo funciones tales como: 1. autorizar e inhibir las interrupciones. 2. conmutar un procesador entre distintos procesos (programa en ejecución). 3. acceder a los registros utilizados por el hardware de protección de la memoria. 4. realizar operaciones de E/S. 5. parar la CPU. El sistema operativo se ejecuta en modo supervisor con acceso total al hardware, mientras que los programas de usuario se ejecutan en modo usuario. Cuando un programa necesita utilizar un recurso hardware, por ejemplo, quiere realizar una operación de E/S, debe realizar una llamada al sistema para que el sistema operativo lleve a cabo la operación por él. La realización de una llamada al sistema conmuta automáticamente la CPU a modo supervisor. Así se garantiza que, por ejemplo, un usuario al que no se le ha concedido una impresora utilice instrucciones máquina para acceder directamente al controlador de la impresora, interfiriendo con el programa al que se le concedió la impresora. La vuelta al modo usuario desde el modo supervisor se lleva a cabo mediante una instrucción, también reservada.

11 1.3.3 Estructura De Los Sistemas Operativos En este apartado se analizará el interior del sistema operativo, examinando las formas posibles de estructurar el código de un sistema operativo. Sistemas Monolíticos Este tipo de organización es la más común. El sistema operativo se escribe como una colección de procedimientos, cada uno de los cuales puede llamar a los demás cada vez que así lo requiera. Cuando se usa esta técnica, cada procedimiento del sistema tiene una interfaz bien definida en términos de parámetros y resultados, y cada uno de ellos es libre de llamar a cualquier otro, si éste último proporciona un cálculo útil para el primero. Para construir el programa objeto real del sistema operativo siguiendo este punto de vista, se compilan de forma individual los procedimientos, o los ficheros que contienen los procedimientos, y después se enlazan en un sólo fichero objeto con el enlazador. La ocultación de la información es prácticamente nula, puesto que cada procedimiento es visible a los demás. Las llamadas al sistema que proporciona el sistema operativo se solicitan colocando los parámetros en lugares bien definidos, como los registros o la pila, para después ejecutar una instrucción especial de trampa, a veces referida como llamada al núcleo o llamada al supervisor. Esta instrucción cambia la máquina del modo usuario al modo supervisor y transfiere el control al sistema operativo (evento 1 de la Figura 2). El sistema operativo examina entonces los parámetros de la llamada para determinar cual de ellas se desea realizar (evento 2 de la Figura 2). A continuación, el sistema operativo analiza una tabla que contiene en la entrada k un puntero al procedimiento que implementa la k-ésima llamada al sistema (evento 3 de la Figura 2), identifica el procedimiento de servicio, al cual se llama. Por último, la llamada al sistema termina y el control vuelve al programa del usuario.

12 Figura 2. Llamada al sistema. Esta organización sugiere una estructura básica del sistema operativo: 1. Un programa principal que llama al procedimiento del servicio solicitado. 2. Un conjunto de procedimientos de servicio que lleva a cabo las llamadas al sistema. 3. Un conjunto de procedimientos de utilidades que ayudan a los procedimientos de servicio.

13 Modelo Cliente-servidor Los sistemas operativos modernos trasladan el código a capas superiores y eliminan la mayor parte posible del sistema operativo para mantener un núcleo mínimo. Generalmente, se implantan la mayoría de las funciones del sistema operativo como procesos de usuario. Para solicitar un servicio, como la lectura de un bloque de cierto fichero, un proceso de usuario, ó proceso cliente, envía la solicitud a un proceso servidor, que realiza el trabajo y devuelve la respuesta. En este modelo lo único que hace el núcleo es controlar la comunicación entre los clientes y los servidores. Al separar el sistema operativo en partes, cada una de ellas controla un aspecto del sistema, como el servicio a ficheros, servicio a procesos, servicio a terminales o servicio a la memoria; cada aspecto es pequeño y controlable. Además, puesto que todos los servidores se ejecutan como procesos en modo usuario, y no en modo núcleo, no tienen acceso directo al hardware. En consecuencia, si hay un error en el servidor de ficheros éste puede fallar, pero esto no afectará en general a toda la máquina. Figura 3. El modelo cliente-servidor Otra ventaja del modelo cliente-servidor es su capacidad de adaptación para su uso en sistemas distribuidos. Si un cliente se comunica con un servidor mediante mensajes, el cliente no necesita saber si el mensaje se gestiona de forma local, en su máquina, o si se envía por medio de una red a un servidor en una máquina remota. La idea anterior de un núcleo que sólo controla el transporte de mensajes de clientes a servidores, y viceversa, no es totalmente real. Algunas funciones del sistema operativo, como la introducción de órdenes en los registros físicos de los controladores de E/S, son difíciles o imposibles de realizar, a partir de programas de usuario. La solución radicaría en hacer que algunos procesos de servidores críticos (por ejemplo, los gestores de los dispositivos de E/S) se ejecuten en realidad en modo núcleo, con acceso total al hardware, pero de forma que se comuniquen con los demás procesos mediante el mecanismo normal de mensajes.

14 Figura 4. El modelo cliente-servidor en un sistema distribuido. Máquina Virtual Esta estructura proporciona un conjunto de máquinas abstractas, cada una de la cuales actúa casi como una copia idéntica del hardware subyacente. Esta estructura funciona simulando individualmente cada máquina abstracta sobre la máquina base real. Así, para cada usuario del sistema, este aparece como si el tuviera su propia copia del hardware subyacente, de forma que obtiene la protección y seguridad de manera directa. El problema de esta estructura es que el rendimiento del sistema operativo se va degradando, puesto que la simulación es costosa, mientras que la principal ventaja es que permite implementar varios sistemas operativos sobre cada máquina virtual. Sin embargo, los sistemas operativos de cada máquina virtual son disjuntos, por lo que no se podrían utilizar las interacciones, compartimiento, y comunicación necesarios en los sistemas actuales.

15 Estructuras Orientadas A Objetos En ellas los servicios del sistema operativo se implementan como una colección de objetos, los cuales se definen como segmentos protegidos por capacidades. Cada objeto tiene un tipo que designa sus propiedades: procesos, directorios, archivos, etc. Un objeto tiene un conjunto de operaciones mediante las cuales se puede acceder y modificar su segmento interno. Antes de que un usuario solicite un servicio de un objeto, este debe adquirir sus capacidades, incluidos los derechos de las operaciones permitidas. El kernel tiene la responsabilidad de proteger las capacidades frente a accesos erróneos o malintencionados.

16 1.3.4 Clasificación De Los Sistemas Operativos: Los sistema operativos se pueden clasificar atendiendo a diferentes criterios, como son: Modo de trabajo del usuario: Se pueden clasificar en on line (o interactivos) y off line (o batch o por lotes). Un ejemplo del primer tipo son los sistemas de tiempo compartido, los sistemas interactivos son útiles, entre otros, en entornos de desarrollo de programas, de procesamiento de textos y de ejecución de programas interactivos. Un ejemplo del segundo tipo son los sistemas por lotes. Los sistemas batch se caracterizan porque una vez introducida una tarea en el ordenador, el usuario no mantiene contacto alguno con ella hasta que finaliza su ejecución. Número de usuarios: Atendiendo al número de usuarios se encuentran los sistemas monousuario y multiusuario. En el primer tipo se puede acceder al ordenador mediante un único terminal, mientras que los segundos permiten varios terminales de acceso simultáneo. Un ejemplo muy claro de sistemas operativos monousuario es MS DOS y CP/M. Ejemplos de sistemas multiusuario son UNIX y AS/400. Propósito del usuario: En base al uso que quieran dar los usuarios al ordenador, se encuentran sistema operativos de propósito específico y de propósito general. Un ejemplo de sistema de propósito específico es un sistema de tiempo real, estos sistemas se usan en entornos donde se deben aceptar y procesar en tiempo breve un gran número de sucesos como por ejemplo aplicaciones para el equipamiento telefónico conmutado o para control de vuelo. Los sistemas de propósito general se caracterizan por el gran número de usuarios trabajando sobre un amplio abanico de aplicaciones. Número de procesadores: Los ordenadores con varias CPU`s se clasifican en multiprocesadores y en sistemas distribuidos. En un multiprocesador los procesadores comparten memoria y reloj, puesto que son asíncronos, mientras que en un sistema distribuido tenemos varios procesadores con su propia memoria y además no están sincronizados.

17 1.3.5 Procesos. Los sistemas operativos multiprogramados necesitan el concepto de proceso. El sistema operativo debe entremezclar la ejecución de un número de procesos para aumentar el rendimiento de los recursos del ordenador, a la vez que los sistemas de tiempo compartido deben proporcionar un tiempo de respuesta razonable, por lo que el sistema operativo debe asignar recursos a los procesos de acuerdo con una política específica, mientras impide los interbloqueos. Además, el sistema operativo debe ofrecer un soporte para llevar a cabo la comunicación entre procesos. Definición de proceso Un programa es una secuencia de instrucciones escrita en un lenguaje, mientras que un proceso es una instancia de ejecución de un programa, con sus propios contador de programa, palabra de estado, registros del procesador, datos, etc. Un programa puede ser ejecutado por varios usuarios en un sistema multiusuario, por cada una de estas ejecuciones existirá un proceso, con su contador de programa, registros, etc. El sistema operativo necesita el concepto de proceso para poder gestionar el procesador mediante la técnica de multiprogramación o de tiempo compartido, de hecho, el proceso es la unidad planificable, o de asignación de la CPU. Estados de un proceso Un proceso puede pasar por una serie de estados discretos, algunos son: En ejecución: El proceso se está ejecutando y ocupa la CPU en ese instante. Listo o preparado: El proceso dispone de todos los recursos para su ejecución, pero tan sólo le falta la CPU. Bloqueado: Al proceso le falta algún recurso para poder seguir ejecutándose, además de la CPU. Por recurso se pueden entender un dispositivo, un dato, etc. El proceso necesita que ocurra algún evento que le permita poder proseguir su ejecución.

18 Transiciones de estado de los procesos A continuación se dan ejemplos de eventos que pueden provocar transiciones de estado en un proceso en este modelo de tres estados: En ejecución a Bloqueado: al iniciar una operación de E/S, al realizar una operación WAIT sobre un semáforo a cero, al solicitar un recurso no compartible asignado a otro proceso. En ejecución a Listo: por ejemplo, en un sistema de tiempo compartido, cuando el proceso que ocupa la CPU lleva demasiado tiempo ejecutándose continuamente (agota su cuanto), el sistema operativo decide que otro proceso ocupe la CPU, pasando el proceso que ocupaba la CPU a estado listo. Listo a en ejecución: cuando lo requiere el planificador de la CPU. Bloqueado a Listo: se dispone del recurso por el que se había bloqueado el proceso. Por ejemplo, termina la operación de E/S, o se produce una operación SIGNAL sobre el semáforo en que se bloqueó el proceso, no habiendo otros procesos bloqueados en el semáforo. Es importante ver, que de las cuatro transiciones de estado posibles, la única iniciada por el proceso de usuario es el bloqueo, las otras tres son iniciadas por entidades externas al proceso. Figura 5. Transiciones de estado de los procesos. El bloque de control de proceso (PCB) Asociado a cada proceso hay una serie de atributos que utiliza el sistema operativo para el control del proceso. Estos atributos se agrupan en una estructura de datos que se conoce como bloque de control de proceso (Process Control Block, PCB) o descriptor de proceso. Al conjunto formado por el programa, datos, pila y atributos se le llama imagen del proceso.

19 El bloque de control de proceso es la estructura de datos central más importante de un sistema operativo. Cada bloque de control de proceso contiene toda la información de un proceso que necesita un sistema operativo para su control. Estos bloques son leídos y/o modificados por casi todos los módulos de un sistema operativo, especialmente para la planificación, la asignación de recursos, el tratamiento de interrupciones y el análisis y supervisión del rendimiento. En definitiva, el conjunto de los bloques de control de procesos definen el estado del sistema operativo. El conjunto de todos los PCB s se guarda en una estructura del sistema operativo llamada tabla de procesos, la cual se implementa como un vector o una lista enlazada. La tabla de procesos reside en memoria principal, debido a la alta frecuencia de su consulta. En un sistema de multiprogramación, se necesita una gran cantidad de información de cada proceso para su administración. Esta información se organiza de modo diferente. En general, la información de los PCB s se agrupa en tres categorías: Identificación del proceso. Información de estado del procesador. Información de control del proceso. La identificación del proceso se asigna a cada proceso un identificador numérico único (ID), para localizar al proceso dentro de la tabla de procesos. Cuando se permite que los procesos creen otros procesos, se utilizan identificadores para señalar al padre y a los descendientes de cada proceso. Además, un proceso también puede tener un identificador de usuario, que indica a quién pertenece el proceso (UID). La información de estado del procesador, está formada por el contenido de los registros del procesador. Cuando se interrumpe el proceso, toda la información de los registros debe salvarse de forma que pueda restaurarse cuando el proceso reanude su ejecución. Normalmente, en el conjunto de registros se incluyen los registros visibles para el usuario, los registros de control y de estado (contador de programa y palabra de estado) y los punteros pila. La información de control de proceso es la información adicional necesaria para que el sistema operativo controle y coordine los diferentes procesos activos, por ejemplo, la información de planificación y estado (estado del proceso, su prioridad, información de planificación, suceso), punteros a estructuras de datos (los procesos que esperan en un semáforo), punteros a zonas de memoria del proceso, recursos controlados por el proceso (ficheros abiertos), etc. En resumen, el PCB es la entidad que define un proceso en el sistema operativo.

20 Operaciones con procesos Los sistemas que administran procesos deben ser capaces de realizar ciertas operaciones sobre y con los procesos, como: crear y destruir un proceso. suspender y reanudar un proceso. cambiar la prioridad de un proceso. bloquear y desbloquear un proceso. planificar un proceso (asignarle la CPU). permitir que un proceso se comunique con otro. Crear un proceso implica muchas operaciones, como: buscarle un identificador insertarlo en la tabla de procesos determinar la prioridad inicial del proceso crear el PCB asignar los recursos iniciales al proceso Un proceso puede crear un nuevo proceso. Si lo hace, el proceso creador se denomina proceso padre, y el proceso creado, proceso hijo. Sólo se necesita un padre para crear un hijo. Esto da lugar a la aparición de una estructura jerárquica de procesos, en la que cada hijo tiene sólo un padre, pero un padre puede tener muchos hijos. En el sistema operativo UNIX la llamada al sistema fork crea un proceso hijo. Destruir un proceso implica eliminarlo del sistema. Se borra de las tablas o listas del sistema, sus recursos se devuelven al sistema y su PCB se borra. La destrucción de un proceso es más difícil cuando éste ha creado otros procesos. En algunos sistemas un proceso hijo se destruye automáticamente cuando su padre es destruido, mientras que en otros sistemas son independientes de su padre. Al modelo anterior de tres estados (Listo, En ejecución y Bloqueado) se añaden un nuevo estado el suspendido. La suspensión de un proceso implica su desalojo de la memoria principal y su transferencia a disco. Un proceso

21 suspendido no puede proseguir sino hasta que lo reanuda otro proceso. Muchas veces, el sistema efectúa las suspensiones para eliminar temporalmente ciertos procesos, y así reducir la carga del sistema durante una situación de carga máxima. Cuando hay suspensiones largas se debe liberar los recursos del proceso. La memoria principal debe ser liberada de inmediato cuando se suspenda un proceso. Reanudar (o activar) un proceso implica reiniciarlo a partir del punto en el que se suspendió. Cambiar la prioridad de un proceso normalmente no implica más que modificar el valor de la prioridad en el PCB. Figura 6. Transiciones de estado de los procesos.

22 Control de un proceso Modos de Ejecución Ciertas instrucciones máquina pueden ejecutarse sólo en modo privilegiado. Entre éstas están la lectura o modificación de registros de control (como la palabra de estado), instrucciones primitivas de E/S e instrucciones relativas a la gestión de memoria. Y solamente se puede acceder a ciertas zonas de memoria en el modo privilegiado. El modo de menor privilegio se conoce como modo usuario, y el de mayor privilegio como modo de sistema, supervisor o núcleo. Se usan dos modos porque es necesario proteger al sistema operativo y a las estructuras de datos importantes, tales como los bloques de control de procesos, de las inferencias de los programas de usuario. En el modo núcleo, el software tiene control completo del procesador y de todas las instrucciones, registros y memoria. El procesador conoce en que modo se está ejecutando por un bit en la palabra de estado del procesador que indica el modo de ejecución. El bit se cambia como respuesta a ciertos sucesos tales como una llamada al sistema. Cambio de Proceso En cierto momento, un proceso que se está ejecutando se interrumpe, el sistema operativo pone a otro proceso en el estado de ejecución y pasa el control a dicho proceso. Para comprender mejor este aspecto hay que aclarar la siguiente cuestión: Qué eventos provocan el cambio de proceso?. Un cambio de proceso puede suceder en cualquier instante en el que el sistema operativo gana el control de la CPU. En primer lugar, se van a tener en cuenta las interrupciones del sistema. Se pueden distinguir dos clases de interrupciones del sistema. La primera es originada por algún tipo de suceso que es externo e independiente del proceso que se está ejecutando, como la terminación de una E/S. La segunda tiene que ver con una condición de error o excepción generada dentro del proceso que se está ejecutando, como un intento ilegal de acceso a un fichero, una división entre cero, una instrucción máquina con código de operación no contemplado. En una interrupción ordinaria, el control se transfiere primero al gestor de interrupciones, quien lleva a cabo algunas tareas básicas y, después, se salta a la rutina del sistema operativo que se ocupa del tipo de interrupción que se ha producido. Algunos ejemplos de estas interrupciones son: Interrupción de reloj: Un reloj es un dispositivo que genera interrupciones periódicamente. Ante una interrupción de este, el sistema operativo de tiempo compartido determina si el proceso en ejecución ha alcanzado el máximo tiempo de ejecución que se le concedió (cuanto). Si es así, el proceso pasará a estado listo, y se asignará la CPU a otro proceso. Interrupción de E/S: El sistema operativo determina exactamente qué acción de E/S ha ocurrido. Si se trata de un evento por el que esperaban uno o más procesos, entonces el sistema operativo traslada todos los procesos bloqueados en dicho evento al estado listo, y determina si reanuda la ejecución del proceso interrumpido o pasa a otro de mayor prioridad.

23 Fallo de memoria: Un proceso hace una referencia a una dirección que no se encuentra en memoria y que debe traerse de memoria secundaria. Después de hacer la solicitud de E/S para traer esa o esas direcciones de memoria, el sistema operativo lleva a cabo un cambio de contexto para reanudar la ejecución de otro proceso; el proceso que cometió el fallo de memoria se pasa al estado bloqueado. Después de que las direcciones aludidas se carguen en memoria, dicho proceso se pondrá en estado listo. En una interrupción del segundo tipo, el sistema operativo determina si el error es fatal. Si lo es, el proceso que se estaba ejecutando es eliminado, y se produce un cambio de proceso. Si no es fatal, la acción del sistema operativo dependerá de la naturaleza del error y del diseño del sistema operativo. Se puede hacer un cambio de proceso o, simplemente, reanudar el mismo proceso que se estaba ejecutando. Finalmente, el sistema operativo puede activarse mediante una llamada al sistema desde el programa que se está ejecutando. Cambio de Contexto Si existe una interrupción pendiente es necesario: Salvar el contexto (PC, registros del procesador, información de la pila) del programa en ejecución. Poner la dirección del programa de tratamiento de la interrupción en el bus de direcciones, que suele constar de unas pocas tareas básicas. Lo que constituye el contexto que se debe salvar es la información que pueda ser necesaria para reanudar el programa interrumpido. Por lo que, debe guardarse la parte del bloque de control del proceso denominada información de estado del procesador. Esto incluye al contador de programa, otros registros del procesador y la información de la pila. La rutina de tratamiento de la interrupción es normalmente un programa corto que lleva a cabo unas pocas tareas básicas relacionadas con una interrupción. Por ejemplo, si la interrupción está relacionada con un suceso de E/S, el gestor de interrupciones comprobará condiciones de error. Si se ha producido un error, la rutina de tratamiento puede enviar una señal al proceso que solicitó originalmente la operación de E/S. La interrupción puede ir seguida de un cambio de proceso o no. La ocurrencia de una interrupción no siempre causa el cambio de proceso. Es posible que después de que el gestor de interrupciones se haya ejecutado, el proceso que estaba ejecutándose reanude su ejecución. En ese caso, tan sólo hay que guardar la información de estado del procesador y restaurarla para que pueda reanudarse correctamente el proceso interrumpido. Por tanto, el cambio de contexto es un concepto distinto al cambio de proceso. Puede ocurrir un cambio de contexto sin cambiar el estado del proceso que está actualmente en estado de ejecución. En tal caso, salvar el contexto y restaurarlo posteriormente involucra un pequeño coste extra. Sin embargo, si el proceso que estaba ejecutándose tiene que pasar a otro estado (listo o bloqueado), el sistema operativo tiene que llevar a cabo cambios importantes en su entorno.

24 Los pasos de un cambio completo de proceso son los siguientes: 1. Salvar el contexto del procesador, incluyendo el contador de programa y otros registros. 2. Actualizar el PCB que estaba en estado de ejecución. Esto implica cambiar el estado del proceso a alguno de los otros estados (listo, bloqueado, suspendido_listo). 3. Mover el PCB a la cola apropiada (listos, bloqueados por el suceso i, suspendido_listo). 4. Seleccionar otro proceso para su ejecución. 5. Actualizar el PCB del proceso seleccionado. 6. Actualizar las estructuras de datos de gestión de la memoria. 7. Restaurar el contexto del procesador a aquél que existía en el momento en el que el proceso seleccionado dejó por última vez el estado de en ejecución, cargando los valores previos del contador de programa y de otros registros. En definitiva, el cambio de proceso, que implica un cambio de contexto, requiere un esfuerzo considerablemente superior al de un cambio de contexto. Procesos y Threads El concepto de proceso engloba dos conceptos separados e independientes: Unidad que posee recursos: A un proceso se le asigna un espacio de memoria y se le puede asignar otros recursos, como dispositivos de E/S o ficheros. Unidad a la que se le asigna el procesador: Un proceso es un flujo de ejecución (una traza) a través de uno o más programas. Esta ejecución se entremezcla con la de otros procesos. La unidad planificada y expedida por el sistema operativo es el proceso. Estas dos características son, de hecho, la esencia de un proceso. Sin embargo, son independientes, y pueden ser tratadas como tales por el sistema operativo. Esta distinción ha conducido en los sistemas operativos actuales a desarrollar la construcción conocida como thread, cuyas traducciones más frecuentes son hilo, hebra y, por error, proceso ligero. Si se tiene esta división de características, la unidad de asignación de la CPU se conoce como hilo, mientras que a la unidad que posee recursos se le llama proceso. Dentro de un proceso puede haber uno o más hilos de control, cada uno con:

25 1. Un estado de ejecución (en ejecución, listo, bloqueado). 2. Un contexto de procesador, que se salva cuando no esté ejecutándose. 3. Una pila de ejecución. 4. Algún almacenamiento estático para variables locales. 5. Acceso a la memoria y a los recursos de ese trabajo que comparte con los otros hilos. Los beneficios clave de los hilos se derivan de las implicaciones del rendimiento: se tarda menos tiempo en crear un nuevo hilo de un proceso que ya existe, en terminarlo, y en hacer un cambio de contexto entre hilos de un mismo proceso. Al someter a un mismo proceso a varios flujos de ejecución se mantiene una única copia en memoria del código, y no varias. Planificación de procesos Se van a analizar todos los aspectos relacionados con el problema de cuándo asignar un procesador y a qué proceso. Se distinguirán tres niveles o tipos de planificación: a largo, medio y corto plazo. Niveles de Planificación. Se define el scheduling (planificación) como el conjunto de políticas y mecanismos construidos dentro del sistema operativo que gobiernan la forma de conseguir que los procesos a ejecutar lleguen a ejecutarse. El scheduling está asociado a las cuestiones de: cuándo introducir un nuevo proceso en el sistema. determinar el orden de ejecución de los procesos del sistema. Y muy relacionado con la gestión de los recursos. Existen tres niveles de scheduling, son: Planificador de la CPU, o a corto plazo. Planificador a medio plazo. Planificador a largo plazo.

Unidad II: Administración de Procesos y del procesador

Unidad II: Administración de Procesos y del procesador Unidad II: Administración de Procesos y del procesador 2.1 Concepto de proceso Un proceso no es más que un programa en ejecución, e incluye los valores actuales del contador de programa, los registros

Más detalles

Requerimientos Principales de un Sistema Operativo. Descripción y Control de Procesos. Proceso

Requerimientos Principales de un Sistema Operativo. Descripción y Control de Procesos. Proceso Requerimientos Principales de un Sistema Operativo Descripción y Control de Procesos Capítulo 3 Entrelazar la ejecución de varios procesos para maximizar el uso del procesador a la vez que se mantiene

Más detalles

Fundamentos de Sistemas Operativos

Fundamentos de Sistemas Operativos Fundamentos de Sistemas Operativos Sistemas Informáticos Fede Pérez Índice TEMA Fundamentos de Sistemas Operativos 1. - Introducción 2. - El Sistema Operativo como parte de un Sistema de Computación 2.1

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas

Más detalles

Procesos. Procesos. Concurrencia de procesos. Qué es un proceso? Estados de un proceso. Modelo de 2 estados. (C) 2008 Mario Medina 1

Procesos. Procesos. Concurrencia de procesos. Qué es un proceso? Estados de un proceso. Modelo de 2 estados. (C) 2008 Mario Medina 1 Procesos Procesos Mario Medina [email protected] El sistema operativo como administrador de procesos Controla la ejecución de procesos para optimizar criterios Asigna recursos a procesos Facilita sincronización

Más detalles

1. Sistema Operativo Unix

1. Sistema Operativo Unix 1. Sistema Operativo Unix 1.1 Introducción al S.O. Unix y su entorno 1.2 Subsistema de Archivos 1.3 Subsistema de Procesos 1.4 Políticas de Gestión de Memoria Dpto. Lenguajes y Sistemas Informáticos. Universidad

Más detalles

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña Sistemas Operativos Pedro Cabalar Depto. de Computación Universidade da Coruña TEMA III. PROCESOS. P. Cabalar Sistemas( Operativos Depto. de Computación Universidade Tema da Coruña III. Procesos ) 1 /

Más detalles

Introducción a los Sistemas Operativos

Introducción a los Sistemas Operativos Introducción a los Sistemas Operativos 2º Ingeniero de Telecomunicación (Sonido e Imagen) Departamento de Ingeniería Telemática Universidad Carlos III de Madrid 2 Qué vamos a ver hoy? Qué es un sistema

Más detalles

Tema 4. Gestión de entrada/salida

Tema 4. Gestión de entrada/salida Tema 4. Gestión de entrada/salida 1. Principios de la gestión de E/S. 1.Problemática de los dispositivos de E/S. 2.Objetivos generales del software de E/S. 3.Principios hardware de E/S. 1. E/S controlada

Más detalles

Tema 2: Implementación del núcleo de un Sistema Operativo

Tema 2: Implementación del núcleo de un Sistema Operativo Tema 2: Implementación del núcleo de un Sistema Operativo 1. Sistema Operativo Unix 2. Sistema Operativo Windows (a partir de NT) Dpto. Lenguajes y Sistemas Informáticos. Universidad de Granada 1 1. Sistema

Más detalles

Requerimientos principales de un sistema operativo

Requerimientos principales de un sistema operativo Descripción y control de procesos Requerimientos principales de un sistema operativo Intercalar la ejecución de varios procesos para maximizar el uso del procesador proporcionando un tiempo de respuesta

Más detalles

Señal de petición de Interrupción

Señal de petición de Interrupción Consideren una tarea que require tomar caracteres desde un teclado y mostrarlos en la pantalla de un monitor. La tasa de transferencia desde un teclado a un computador está limitado por la velocidad del

Más detalles

SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008

SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008 SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008 1.- INTRODUCCIÓN A LOS PROCESOS 1.1.- Concepto 1.2.- Composición y estructura 1.3.- Estados y transiciones 2.- COMUNICACIÓN ENTRE PROCESOS

Más detalles

TEMA 1: VISIÓN GENERAL DE LOS SISTEMAS OPERATIVOS

TEMA 1: VISIÓN GENERAL DE LOS SISTEMAS OPERATIVOS TEMA 1: VISIÓN GENERAL DE LOS SISTEMAS OPERATIVOS 1. Concepto de Sistema Operativo. Funciones Un sistema operativo (S.O.) es un programa o conjunto de programas de control que tiene por objeto facilitar

Más detalles

Tema 2. Procesos. 1. Concepto de proceso

Tema 2. Procesos. 1. Concepto de proceso Tema 2. Procesos 1. Concepto de proceso. 2. Principios de la Programación concurrente. 1. Concurrencia. Programación concurrente. 2. Áreas de comunicación entre procesos. 1. Exclusión mutua. 2. Sincronización.

Más detalles

Procesos. Planificación del Procesador.

Procesos. Planificación del Procesador. Procesos. Planificación del Procesador. Sistemas Operativos. Tema 2. Concepto de Proceso. Una definición sencilla: Programa en ejecución. Entidad pasiva Programa RECURSOS CPU Memoria Ficheros Dispositivos

Más detalles

Tema 11. Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. 11.1.1. MULTIPROGRAMACIÓN.

Tema 11. Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. 11.1.1. MULTIPROGRAMACIÓN. Tema 11 Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. El sistema operativo es básicamente un programa que controla los recursos del computador, proporciona servicios a

Más detalles

Estructuras de Sistemas Operativos

Estructuras de Sistemas Operativos Estructuras de Sistemas Operativos Definicion de Sistema Operativos Un sistema operativo es un programa que actua como inter entre el usuario y el hardware de un computador y su proposito es proporcionar

Más detalles

TEMA 6: GESTIÓN DE ENTRADA/SALIDA

TEMA 6: GESTIÓN DE ENTRADA/SALIDA 1. Introducción TEMA 6: GESTIÓN DE ENTRADA/SALIDA Función principal de un S.O.: controlar todos los dispositivos de E/S de la computadora. El Subsistema de E/S se encarga de Emitir órdenes a los dispositivos

Más detalles

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 Módulo 1. Fundamentos de Computadores Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 1 CONTENIDO Tema 1. Introducción

Más detalles

Sistemas Operativos. Curso 2016 Procesos

Sistemas Operativos. Curso 2016 Procesos Sistemas Operativos Curso 2016 Procesos Agenda Proceso. Definición de proceso. Contador de programa. Memoria de los procesos. Estados de los procesos. Transiciones entre los estados. Bloque descriptor

Más detalles

CÓMO TRABAJA TU SISTEMA OPERATIVO?

CÓMO TRABAJA TU SISTEMA OPERATIVO? CÓMO TRABAJA TU SISTEMA OPERATIVO? AUTORÍA MARÍA CATALÁ CARBONERO TEMÁTICA SISTEMAS OPERATIVOS ETAPA CICLO MEDIO Y SUPERIOR DE INFORMÁTICA Resumen Los sistemas operativos nacen de la informática. Su función

Más detalles

Tema 8 Procesos. * Definición informal: un proceso es un programa en ejecución

Tema 8 Procesos. * Definición informal: un proceso es un programa en ejecución Tema 8 Procesos 8.1 Aspectos básicos de los procesos 8.1.1 Concepto de proceso * Definición informal: un proceso es un programa en ejecución Un programa ejecutable es un conjunto de instrucciones y datos

Más detalles

Capítulo 4 Gestión de memoria

Capítulo 4 Gestión de memoria Sistemas operativos: una visión aplicada Capítulo 4 Gestión de memoria Contenido Objetivos del sistema de gestión de memoria Modelo de memoria de un proceso Esquemas de memoria basados en asignación contigua

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 2: Estructura de los sistemas de computación. 2.1 Funcionamiento de los sistemas de computación. 2.2 Ejecución de instrucciones e interrupciones

Más detalles

Tema 1. Conceptos fundamentales de los Sistemas Operativos

Tema 1. Conceptos fundamentales de los Sistemas Operativos Tema 1. Conceptos fundamentales de los Sistemas Operativos 1. Introducción a los Sistemas Operativos. 1. Concepto de Sistema Operativo. Niveles del software. 2. Funciones principales de un Sistema Operativo.

Más detalles

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática Tema 1 Introducción. Arquitectura básica y Sistemas Operativos Fundamentos de Informática Índice Descripción de un ordenador Concepto básico de Sistema Operativo Codificación de la información 2 1 Descripción

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 1: Introducción: 1.1 Introducción: Qué es un sistema operativo?. 1.2 Conceptos clave de un sistema operativo. 1.3 El sistema operativo como administrador

Más detalles

La memoria principal. Los subsistemas de E/S. Los buses del sistema

La memoria principal. Los subsistemas de E/S. Los buses del sistema GUIA 23: MEMORIA E/S La estructura básica de la mayoría de los ordenadores actuales se representa mediante los siguientes elementos básicos: La Unidad Central de Procesamiento, CPU La memoria principal

Más detalles

SISTEMAS OPERATIVOS AVANZADOS

SISTEMAS OPERATIVOS AVANZADOS SISTEMAS OPERATIVOS AVANZADOS TEMA 3 CLAVE: MIS 204 PROFESOR: M.C. ALEJA DRO GUTIÉRREZ DÍAZ 3. PROCESOS CONCURRENTES 3.1 Conceptos de programación concurrente 3.2 El problema de la sección crítica 3.3

Más detalles

Unidad 2: Gestión de Procesos

Unidad 2: Gestión de Procesos Unidad 2: Gestión de Procesos Tema 4, Procesos: 4.1 El concepto de proceso. 4.2 Planificación de procesos. 4.3 Procesos cooperativos. 4.4 Hilos (threads). Informática (Segovia) 1 4.1 El concepto de proceso.

Más detalles

Control y temporización Comunicación con la CPU Comunicación con el dispositivo externo Almacén temporal de datos Detección de errores

Control y temporización Comunicación con la CPU Comunicación con el dispositivo externo Almacén temporal de datos Detección de errores UNIDAD DE ENTRADA SALIDA Conceptos Unidad de entrada-salida (E/S): Elemento que proporciona un método de comunicación eficaz entre el sistema central y el periférico. Funciones Control y temporización

Más detalles

Introducción a las bases de datos

Introducción a las bases de datos Introducción a las bases de datos Juan Ignacio Rodríguez de León Abstract Aplicaciones de los sistemas de bases de datos. Sistemas de bases de datos frente a sistemas de archivos. Visión de los datos.

Más detalles

Capitulo V Administración de memoria

Capitulo V Administración de memoria Capitulo V Administración de memoria Introducción. Una de las tareas más importantes y complejas de un sistema operativo es la gestión de memoria. La gestión de memoria implica tratar la memoria principal

Más detalles

Computación Tercer Año

Computación Tercer Año Colegio Bosque Del Plata Computación Tercer Año UNIDAD 3 Sistemas Operativos E-mail: [email protected] Profesor: Fernando J. Garcia Ingeniero en Sistemas de Información Sistemas Operativos Generaciones

Más detalles

PROGRAMACION CONCURRENTE. I.2 Recursos para la concurrencia.

PROGRAMACION CONCURRENTE. I.2 Recursos para la concurrencia. PROGRAMACION CONCURRENTE I.2 Recursos para la concurrencia. J.M. Drake 1 Procesos Concurrentes Concepto de proceso. Estructura de los procesos. Estados de un proceso. Gestión de los procesos. 2 2 Plataforma

Más detalles

Manual de Procedimientos

Manual de Procedimientos 1 de 13 Elaborado por: Oficina de Planeación y Desarrollo Institucional -Área de Calidad y Mejoramiento- Revisado por: Aprobado por: Coordinador Área de Jefe de la Oficina de Informática y Telecomunicaciones

Más detalles

Contenidos. Sistemas operativos Tema 3: Estructura del sistema operativo. Componentes típicos de un SO. Gestión de procesos.

Contenidos. Sistemas operativos Tema 3: Estructura del sistema operativo. Componentes típicos de un SO. Gestión de procesos. Contenidos Sistemas operativos Tema 3: Estructura del sistema operativo Componentes típicos del SO Servicios del SO Llamadas al sistema Programas del sistema El núcleo o kernel Modelos de diseño del SO

Más detalles

TEMA 38: Conceptos en seguridad de los sistemas de información: Confidencialidad, integridad, disponibilidad y trazabilidad.

TEMA 38: Conceptos en seguridad de los sistemas de información: Confidencialidad, integridad, disponibilidad y trazabilidad. Tema 38 Conceptos de seguridad TEMA 38: Conceptos en seguridad de los sistemas de información: Confidencialidad, integridad, disponibilidad y trazabilidad. Índice 1 INTRODUCCIÓN 1 2 CONCEPTOS GENERALES

Más detalles

SISTEMAS OPERATIVOS Estructura del SO. Amilcar Meneses Viveros [email protected]

SISTEMAS OPERATIVOS Estructura del SO. Amilcar Meneses Viveros ameneses@computacion.cs.cinvestav.mx SISTEMAS OPERATIVOS Estructura del SO Amilcar Meneses Viveros [email protected] Presentación Componentes de un SO Servicios de un SO Llamados al sistema Programas del sistema Estructura

Más detalles

Hilos, comunicación y competencia entre procesos. Dr. Alonso Ramírez Manzanares 2-Sep-2010

Hilos, comunicación y competencia entre procesos. Dr. Alonso Ramírez Manzanares 2-Sep-2010 Hilos, comunicación y competencia entre procesos Dr. Alonso Ramírez Manzanares 2-Sep-2010 Implementación de procesos Se mantiene una tabla de procesos con una entrada por cada proceso: Con lo cual tenemos

Más detalles

HISTORIA Y EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS

HISTORIA Y EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS HISTORIA Y EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS Las primeras computadoras eran enormes máquinas que se ejecutaban desde una consola. El programador, quien además operaba el sistema de computación, debía

Más detalles

SENA CEET, Distrito Capital ADSI Instructor: Ing. Espec. Javier V.aquiro

SENA CEET, Distrito Capital ADSI Instructor: Ing. Espec. Javier V.aquiro SENA CEET, Distrito Capital ADSI Instructor: Ing. Espec. Javier V.aquiro Que hace un Sistema Operativo? El SO viste a la máquina desnuda * 4º INFORMÁTICA * La máquina desnuda es el ordenador sin S.O Definición

Más detalles

Bienvenido al curso Ofimática Unidad 1 Conociendo lo básico

Bienvenido al curso Ofimática Unidad 1 Conociendo lo básico Bienvenido al curso Ofimática Unidad 1 Conociendo lo básico Historia de la ofimática La ofimática comienza a desarrollarse en la década del 70, con la masificación de los equipos de oficina que comienzan

Más detalles

TEMA 8: GESTIÓN DE MEMORIA.

TEMA 8: GESTIÓN DE MEMORIA. TEMA 8: GESTIÓN DE MEMORIA. 1. Direccionamiento.. 2 1.1.- Asignación de direcciones... 2 2. Jerarquía del almacenamiento... 3 3. Gestión de memoria.. 3 3.1.- Monoprogramación. 3 3.2.- Multiprogramación..

Más detalles

GLOSARIO DE TÉRMINOS

GLOSARIO DE TÉRMINOS MINISTERIO DE EDUCACIÓN, CULTURA Y DEPORTE SECRETARÍA DE ESTADO DE EDUCACIÓN Y FORMACIÓN PROFESIONAL DIRECCIÓN GENERAL DE FORMACIÓN PROFESIONAL INSTITUTO NACIONAL DE LAS CUALIFICACIONES GLOSARIO DE TÉRMINOS

Más detalles

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. ARQUITECTURAS DE COMPUTADORES 2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. Unidad de E/S 1 Unidad de E/S Indice Introducción.

Más detalles

Procesos. Bibliografía. Threads y procesos. Definiciones

Procesos. Bibliografía. Threads y procesos. Definiciones Procesos Prof. Mariela Curiel Bibliografía A. Tanembaum & M. Van Steen. Sistemas Distribuidos. Principios y Paradigmas. 2da. Edición. Smith & Nair. The Architecture of Virtual Machines. IEEE Computer.

Más detalles

2. Sistema Operativo Windows

2. Sistema Operativo Windows 2. Sistema Operativo Windows 2.1 Introducción al S.O. Windows NT y Windows 2000 2.2 Subsistema de Archivos 2.3 Subsistema de Procesos 2.4 Gestión de Memoria Dpto. Lenguajes Tema y 2: Sistemas 2. Sistema

Más detalles

Capítulo 1: Marco teórico

Capítulo 1: Marco teórico Capítulo 1: Marco teórico Área de Soporte Técnico Dentro de Oracle, como en cualquier compañía de software existe el área de Soporte Técnico, cuyo objetivo principal es el de brindar asistencia y proveer

Más detalles

Convivencia. Gestión del Sistema de Entrada/Salida

Convivencia. Gestión del Sistema de Entrada/Salida Convivencia Gestión del Sistema de Entrada/Salida Dra. Carolina Carolina Mañoso Mañoso Dpto. Dpto. Imformática Informática y y Automática.UNED Introducción (1/2) El sistema de Entrada/Salida es la parte

Más detalles

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R índice Módulo A Unidad didáctica 1: Introducción a las Bases de Datos Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos 3 19 Módulo B Unidad didáctica 1: Fase de análisis de requisitos Modelo

Más detalles

Conceptos Básicos. Capítulo 1. 1.1 Informática

Conceptos Básicos. Capítulo 1. 1.1 Informática Capítulo 1 Conceptos Básicos 1.1 Informática... 17 1.2 Computador... 18 1.3 Sistema operativo... 19 1.4 Aplicaciones... 20 1.5 Algoritmos y programas... 21 1.6 Ejercicios... 27 1.7 Comentarios bibliográficos...

Más detalles

Sistemas Operativos - Funciones del sistema operativo» Cargar y ejecutar programas (procesos)» Facilitar funciones de E/S» Controlar y distribuir el acceso a los recursos» Controlar errores Componentes

Más detalles

Evaluar el rendimiento de los servicios de comunicaciones. ANEXO CLIV

Evaluar el rendimiento de los servicios de comunicaciones. ANEXO CLIV 746 Miércoles 5 octubre 2005 Suplemento del BOE núm. 238 CE2.1 Identificar los distintos sistemas de archivo utilizables en un dispositivo de almacenamiento dado para optimizar los procesos de registro

Más detalles

Módulo Profesional 01: Bases de datos (código: 0484).

Módulo Profesional 01: Bases de datos (código: 0484). Módulo Profesional 01: Bases de datos (código: 0484). Actividades de enseñanza-aprendizaje que permiten alcanzar los objetivos del módulo. Interpretar diseños lógicos de bases de datos. Realizar el diseño

Más detalles

El tema de esta presentación es los conceptos básicos relacionados con Sistemas Operativos.

El tema de esta presentación es los conceptos básicos relacionados con Sistemas Operativos. 1 El tema de esta presentación es los conceptos básicos relacionados con Sistemas Operativos. 2 Qué es un sistema operativo Un sistema operativo es un programa que tiene encomendadas una serie de funciones

Más detalles

Conceptos Básicos de Software. Clase III

Conceptos Básicos de Software. Clase III Clase III Definición de Sistema Operativo El sistema operativo es el programa (o software) más importante de una computadora. Para que funcionen los otros programas, cada computadora de uso general debe

Más detalles

El soporte del sistema operativo. Hace que un computador sea más fácil de usar. Permite que los recursos del computador se aprovechen mejor.

El soporte del sistema operativo. Hace que un computador sea más fácil de usar. Permite que los recursos del computador se aprovechen mejor. El soporte del sistema operativo Objetivos y funciones del sistema operativo Comodidad Hace que un computador sea más fácil de usar. Eficiencia Permite que los recursos del computador se aprovechen mejor.

Más detalles

LABORATORIO REMOTO DE MÁQUINAS DE CORRIENTE ALTERNA

LABORATORIO REMOTO DE MÁQUINAS DE CORRIENTE ALTERNA LABORATORIO REMOTO DE MÁQUINAS DE CORRIENTE ALTERNA Calidad y Materiales educativos y Herramientas Tecnológicas en Educación a Distancia Chacón Rafael, Hernández Edwin [email protected], [email protected]

Más detalles

Tema 4. Diseño arquitectónico.

Tema 4. Diseño arquitectónico. Tema 4. Diseño arquitectónico. Introducción, Objetivos del Diseño. Ingeniería del Software II 2011 Para la transformación del modelo de análisis en un modelo de diseño del sistema, se definen los objetivos

Más detalles

Digital Preservation Made Easy.

Digital Preservation Made Easy. Digital Preservation Made Easy. LIBSAFE: DISEÑO Y EJECUCIÓN DE SU PLAN DE PRESERVACIÓN DIGITAL. La plataforma libsafe es la solución de libnova para preservación digital y está especialmente indicada para

Más detalles

Windows XP Transferencia de archivos y configuraciones

Windows XP Transferencia de archivos y configuraciones Servicio de Informática Atención al Usuario Windows XP Transferencia de archivos y configuraciones Sección de Atención al Usuario Ultima modificación: 01 de Julio de 2.003 Transferencia de archivos y configuraciones

Más detalles

TIPOS DE SISTEMAS OPERATIVOS

TIPOS DE SISTEMAS OPERATIVOS TIPOS DE SISTEMAS OPERATIVOS En esta sección se describirán las características que clasifican a los sistemas operativos, básicamente se cubrirán tres clasificaciones: sistemas operativos por su estructura

Más detalles

SISTEMAS GESTORES DE BASE DE DATOS

SISTEMAS GESTORES DE BASE DE DATOS SISTEMAS GESTORES DE BASE DE DATOS AUTORÍA RAQUEL ZAMBRANO RAMÍREZ TEMÁTICA INFORMÁTICA ETAPA CICLO FORMATIVO GRADO MEDIO Resumen Introducción a los sistemas gestores de bases de datos. Se comienza explicando

Más detalles

Sistemas de Operación II

Sistemas de Operación II Sistemas de Operación II Sistemas de Archivos Distribuidos Prof. Carlos Figueira Basado en material de Yudith Cardinale (USB) Andrew Tanembaum y Marteen van Steen Contenido Introducción Requisitos Aspectos

Más detalles

Índice. http://www.dicampus.es

Índice. http://www.dicampus.es Módulo 2 UML Índice Introducción a UML Lenguaje Unificado de Modelado (UML) Diagramas UML Diagramas de casos de uso Diagramas estructurales: Clases Diagramas estructurales: Objetos Diagramas de interacción:

Más detalles

Capítulo 1 Introducción a la Computación

Capítulo 1 Introducción a la Computación Capítulo 1 Introducción a la Computación 1 MEMORIA PRINCIPAL (RAM) DISPOSITIVOS DE ENTRADA (Teclado, Ratón, etc) C P U DISPOSITIVOS DE SALIDA (Monitor, Impresora, etc.) ALMACENAMIENTO (Memoria Secundaria:

Más detalles

SITEMAS OPERATIVOS PROFESORA ELIZABETH ARIAS INFORMATICA SECCION F 3 SEMESTRE YORDAN ALEXANDER MARIN CUBIDES

SITEMAS OPERATIVOS PROFESORA ELIZABETH ARIAS INFORMATICA SECCION F 3 SEMESTRE YORDAN ALEXANDER MARIN CUBIDES REPUBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PORDER POPULAR PARA LA EDUCACION INSTITUTO UNIVERSITARIO POLITECNICO SANTIAGO MARIÑO EXTENSION MARACAIBO SITEMAS OPERATIVOS PROFESORA ELIZABETH ARIAS INFORMATICA

Más detalles

Act 1: Revisión de Presaberes. Lectura No. 1. Título de la Lectura: El Computador

Act 1: Revisión de Presaberes. Lectura No. 1. Título de la Lectura: El Computador Act 1: Revisión de Presaberes Lectura No. 1 Título de la Lectura: El Computador Computador, dispositivo electrónico capaz de recibir un conjunto de instrucciones (input) y ejecutarlas realizando cálculos

Más detalles

Capítulo 4. Diseño de un sistema para reconocimiento y consulta de las tarjetas Hu

Capítulo 4. Diseño de un sistema para reconocimiento y consulta de las tarjetas Hu Capítulo 4. Diseño de un sistema para reconocimiento y consulta de las tarjetas Hu En este capítulo se describe el diseño de un sistema, denominado HuSystem, planteado para cumplir dos objetivos: Búsqueda

Más detalles

1. Objetivos generales del título

1. Objetivos generales del título 1. Objetivos generales del título a) Organizar los componentes físicos y lógicos que forman un sistema microinformático, interpretando su documentación técnica, para aplicar los medios y métodos adecuados

Más detalles

Manual de usuario del Directorio Activo

Manual de usuario del Directorio Activo Manual de usuario del Directorio Activo Arranque e inicio de la sesión La imágenes que se muestran en el proceso de arranque de un ordenador dado de alta en el Directorio Activo, cuando carga el sistema

Más detalles

UNIVERSIDAD ESTATAL DE MILAGRO

UNIVERSIDAD ESTATAL DE MILAGRO UNIVERSIDAD ESTATAL DE MILAGRO TRABAJO DE INVESTIGACION DE BASE DE DATOS TEMA: SISTEMAS DISTRIBUIDOS NOMBRE: ANGEL SAUL NOBOA BARRENO PROFESOR: ING. RICHARD RAMIREZ CURSO: 6 To SEMESTRE C SISTEMAS DISTRIBUIDOS

Más detalles

Programación estructurada (Interfaces Windows y Unix)

Programación estructurada (Interfaces Windows y Unix) Programación estructurada (Interfaces Windows y Unix) M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 15-P. Sergio Luis Pérez (UAM CUAJIMALPA) Curso de programación estructurada

Más detalles

Práctica 0. Emulador XENON de la computadora CESIUS

Práctica 0. Emulador XENON de la computadora CESIUS Práctica 0. Emulador XENON de la computadora CESIUS 1. Introducción El objeto de la presente práctica es permitir al alumno ensayar y familiarizarse con los conceptos de programación de computadoras digitales

Más detalles

INTERRUPCIONES. La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales:

INTERRUPCIONES. La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales: INTERRUPCIONES La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales: a)consultas (POLLING): Se comprueban cíclicamente,

Más detalles

TÍTULO : NORMAS TÉCNICAS PARA LA SEGURIDAD E INTEGRIDAD DE LA INFORMACIÓN QUE SE PROCESA EN EL SENCICO

TÍTULO : NORMAS TÉCNICAS PARA LA SEGURIDAD E INTEGRIDAD DE LA INFORMACIÓN QUE SE PROCESA EN EL SENCICO DIRECTIVA CODIGO: GG-OAF-DI-020-2004 SENCICO TÍTULO : NORMAS TÉCNICAS PARA LA SEGURIDAD E INTEGRIDAD DE LA INFORMACIÓN QUE SE PROCESA EN EL SENCICO Aprobado por : Reemplaza a: Gerencia General Ninguna

Más detalles

Diari Oficial de la Generalitat de Catalunya Núm. 4257 10.11.2004

Diari Oficial de la Generalitat de Catalunya Núm. 4257 10.11.2004 22508 DEPARTAMENTO DE EDUCACIÓN DECRETO 423/2004, de 2 de noviembre, por el que se establece el currículum del ciclo formativo de grado medio de técnico en explotación de sistemas informáticos. El Real

Más detalles

Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas.

Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas. Contenido Sistema de archivos Operaciones sobre archivos Métodos de acceso a archivos Directorio Sistema de archivos por capas Espacio libre Sistema de archivos Proporciona el mecanismo para el almacenamiento

Más detalles

Marco Teórico MARCO TEÓRICO. AGNI GERMÁN ANDRACA GUTIERREZ

Marco Teórico MARCO TEÓRICO. AGNI GERMÁN ANDRACA GUTIERREZ MARCO TEÓRICO. 13 14 Virtualización Hablar de virtualización es hablar de un concepto que describe la posibilidad de tener varios sistemas operativos funcionando al mismo tiempo en un mismo equipo físico.

Más detalles

Aplicaciones clientes servidor y sockets

Aplicaciones clientes servidor y sockets Aplicaciones clientes servidor y sockets Ejercicio 1. Desarrollar un servidor que permita obtener la hora, la fecha y el día de la semana en la que cae un dia determinado. Diseñar y desarrollar el cliente

Más detalles

GLOSARIO DE TÉRMINOS

GLOSARIO DE TÉRMINOS MINISTERIO DE EDUCACIÓN, CULTURA Y DEPORTE SECRETARÍA DE ESTADO DE EDUCACIÓN, FORMACIÓN PROFESIONAL Y UNIVERSIDADES DIRECCIÓN GENERAL DE FORMACIÓN PROFESIONAL INSTITUTO NACIONAL DE LAS CUALIFICACIONES

Más detalles

El conjunto de conocimientos científicos y técnicos que hacen posible la resolución de forma automática de problemas por medio de las computadoras.

El conjunto de conocimientos científicos y técnicos que hacen posible la resolución de forma automática de problemas por medio de las computadoras. 1 Conceptos Generales 1.1 Definición de Informática Una posible definición de informática podría ser: El conjunto de conocimientos científicos y técnicos que hacen posible la resolución de forma automática

Más detalles

Microsoft Office: EXCEL. Objetivos curso

Microsoft Office: EXCEL. Objetivos curso Objetivos curso Conocer las aplicaciones ofimáticas de Microsoft Office y las utilidades a las que se orientan cada una de ellas, con el objetivo que cada formado descubra las posibilidades concretas de

Más detalles

BASE DE DATOS Heterogéneas

BASE DE DATOS Heterogéneas Arquitecturas de los sistemas de base de datos: La arquitectura de un sistema de bases de datos está influida en gran medida por el sistema informático subyacente en el que se ejecuta, en concreto por

Más detalles

IAP 1003 - ENTORNOS INFORMATIZADOS CON SISTEMAS DE BASES DE DATOS

IAP 1003 - ENTORNOS INFORMATIZADOS CON SISTEMAS DE BASES DE DATOS IAP 1003 - ENTORNOS INFORMATIZADOS CON SISTEMAS DE BASES DE DATOS Introducción 1. El propósito de esta Declaración es prestar apoyo al auditor a la implantación de la NIA 400, "Evaluación del Riesgo y

Más detalles

MÁSTER ONLINE EN ADMINISTRACIÓN LINUX

MÁSTER ONLINE EN ADMINISTRACIÓN LINUX MÁSTER ONLINE EN ADMINISTRACIÓN LINUX Módulo 1 Hardware & Arquitectura de sistemas - 20 horas Este módulo permite conocer y configurar los elementos básicos del hardware del sistema, como también otros

Más detalles

Estructura de clases. Estructura de Objetos. Arquitectura de módulos. Arquitectura de procesos

Estructura de clases. Estructura de Objetos. Arquitectura de módulos. Arquitectura de procesos 3.3 EL MÉTODO DE BOOCH. 3.3. Introducción. El método cuenta con una notación expresiva y bien definida que le permite al diseñador comunicar sus ideas y concentrarse en problemas más serios. Para la captura

Más detalles

TEMA 7. Archivos y Bases de Datos. Álvarez, S., Bravo, S., Departamento de Informática y automática Universidad de Salamanca

TEMA 7. Archivos y Bases de Datos. Álvarez, S., Bravo, S., Departamento de Informática y automática Universidad de Salamanca TEMA 7 Archivos y Bases de Datos Álvarez, S., Bravo, S., Departamento de Informática y automática Universidad de Salamanca Introducción Anteriormente a la explosión de la informática, el almacenamiento

Más detalles

Objetivos curso. Microsoft Office: WORD

Objetivos curso. Microsoft Office: WORD Objetivos curso Conocer las aplicaciones ofimáticas de Microsoft Office y las utilidades a las que se orientan cada una de ellas, con el objetivo que cada formado descubra las posibilidades concretas de

Más detalles

Introducción a la Computación

Introducción a la Computación UNIVERSIDAD RAFAEL BELLOSO CHACÍN INTRODUCCIÓN A LA COMPUTACION UNIDAD II: http://www.urbe.edu/info-consultas/web-profesor/12697883/ DEFINICIÓN Es el conjunto de los programas de cómputo, procedimientos,

Más detalles

Posibilidad de varios periféricos operando mediante interrupciones.

Posibilidad de varios periféricos operando mediante interrupciones. Posibilidad de varios periféricos operando mediante interrupciones. Juan Zamorano Flores 1 Introducción. En clases previas se ha presentado el mecanismo básico de las interrupciones. Se ha definido cómo

Más detalles

Procesadores Superescalares: Paralelismo Implícito a Nivel de Instrucción

Procesadores Superescalares: Paralelismo Implícito a Nivel de Instrucción Tema 7 Procesadores Superescalares: Paralelismo Implícito a Nivel de Instrucción Se denomina arquitectura superescalar a aquella implementación capaz de ejecutar más de una instrucción por ciclo de reloj.

Más detalles

Definición arquitectura cliente servidor

Definición arquitectura cliente servidor www.monografias.com Definición arquitectura cliente servidor 1. Introducción 2. Elementos principales 3. En resumen 4. Algunos antecedentes, Por qué fue creado? 5. Evolución de la arquitectura cliente

Más detalles

Bases para la Creación de un Servidor y Base de Datos para el Monitoreo de Instalaciones Fotovoltaicas

Bases para la Creación de un Servidor y Base de Datos para el Monitoreo de Instalaciones Fotovoltaicas Bases para la Creación de un Servidor y Base de Datos para el Monitoreo de Instalaciones Fotovoltaicas Índice Índice... 2 Introducción y contexto... 3 Problemática y situación actual... 4 Actividad 1 -

Más detalles

Tema 1 Fundamentos de Computación

Tema 1 Fundamentos de Computación Tema 1 Fundamentos de Computación Clase 2 Prof. María Alejandra Quintero Asignatura: Informática Escuela de Ingeniería Forestal Puntos a tratar Continuación hardware Memoria principal Dispositivos de almacenamiento

Más detalles

2. Conceptos básicos Abstracción La abstracción como un proceso mental natural La abstracción en el desarrollo de software

2. Conceptos básicos Abstracción La abstracción como un proceso mental natural La abstracción en el desarrollo de software 2. Conceptos básicos Hoy en día las aplicaciones son demasiado voluminosas y complejas para ser manejadas por una sola persona. Las aplicaciones de software son complejas porque modelan la complejidad

Más detalles

4. Programación Paralela

4. Programación Paralela 4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios

Más detalles

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 17 CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC303_3 Versión 5 Situación RD 1201/2007 Actualización Competencia

Más detalles
Sitemap