miércoles, 30 de diciembre de 2015

COMUNICACIÓN ENTRE PROCESOS Y MS - DOS



RESUMEN DE LA CLASE DEL 9 AL 16 DE DICIEMBRE DEL 2015



1. INTRODUCCIÓN

En los sistemas operativos actuales (multiprogramación) surge el concepto de procesos, que está relacionado con la ejecución de un programa. Por lo tanto, la comunicación entre procesos es una función básica e importante en los sistemas operativos, que proporcionan un mecanismo que permite a los procesos comunicarse entre sí, lo cual admite que un proceso conozca lo que otro realiza, para evitar que se repita una misma acción durante un mismo tiempo, permitiendo realizar de manera adecuada cada una de las diferentes acciones que se presenten en un sistema.

El MS-DOS es un Sistema Operativo perteneciente a la familia DOS y comercializado por Microsoft. Fue el producto clave en la transformación de Microsoft desde sus orígenes en los años 70 como proveedor especializado en lenguajes de programación a su actual estado como gigante en la industria informática.


2. OBJETIVO

Analizar la comunicación entre procesos de un Sistema Operativo e instruirse de conceptos a MS-DOS y sus comandos básicos.

3. MARCO TEÓRICO


3.1. COMUNICACIÓN ENTRE PROCESOS

A menudo, existe una necesidad de comunicación entre procesos, existen tres razones principales:
  • La primera se alude a cómo un proceso puede pasar información a otro.
  • La segunda está relacionada con hacer que dos o más procesos no se interpongan entre sí.
  • La tercera trata acerca de obtener la secuencia apropiada cuando hay dependencias presentes: si el proceso A produce datos y el proceso B los imprime, B tiene que esperar hasta que A haya producido algunos datos antes de empezar a imprimir.


3.1.1. CONDICIONES DE CARRERA

Los procesos que trabajan en conjunto pueden compartir cierto espacio de almacenamiento en el que pueden leer y escribir datos. El almacenamiento compartido puede estar en la memoria principal o puede ser un archivo compartido; la ubicación de la memoria compartida no cambia la naturaleza de la comunicación o los problemas que surgen.


3.1.2. REGIONES CRÍTICAS

La clave para evitar problemas en situaciones que involucran la memoria compartida, los archivos compartidos y todo lo demás compartido es buscar alguna manera de prohibir que más de un proceso lea y escriba los datos compartidos al mismo tiempo, o sea lo que se necesita es exclusión mutua.

El problema de evitar las condiciones de carrera también se puede formular de una manera abstracta. Parte del tiempo, un proceso está ocupado realizando cálculos internos y otras cosas que no producen condiciones de carrera. Sin embargo, algunas veces un proceso tiene que acceder a la memoria compartida, a archivos compartidos, o hacer otras cosas críticas que pueden producir carreras. Esa parte del programa en la que se accede a la memoria compartida se conoce como región crítica o sección crítica.


Si se pudiesen ordenar las cosas de manera que dos procesos nunca estuvieran en sus regiones críticas al mismo tiempo, se podría evitar las carreras. Aunque este requerimiento evita las condiciones de carrera, no es suficiente para que los procesos en paralelo cooperen de la manera correcta y eficiente al utilizar datos compartidos. Se necesitan cumplir con cuatro condiciones para tener una buena solución:

  1. No puede haber dos procesos de manera simultánea dentro de sus regiones críticas.
  2. No pueden hacerse suposiciones acerca de las velocidades o el número de CPUs.
  3. Ningún proceso que se ejecute fuera de su región crítica puede bloquear otros procesos.
  4. Ningún proceso tiene que esperar para siempre para entrar a su región crítica. 

3.2. INTRODUCCIÓN A MS-DOS

De las siglas Microsoft Disk Operating System (Sistema Operativo de Disco), es un sistema operativo monousuario y monoprogramación (monotarea); es decir, que dedica los recursos del ordenador a un sólo usuario y no puede procesar simultáneamente (en segundo plano) más de una aplicación. Otra de sus características fundamentales es que hace funcionar un ordenador con pocos comandos u órdenes concretas.


3.2.1. ESTRUCTURA DEL MS-DOS

Las unidades son los discos del ordenador, los ficheros son los datos que se almacenan en los discos y los directorios son como pequeños compartimentos que se crean en el disco para almacenar ficheros y poder organizarlos cómodamente. 

Hay dos tipos de unidades:

  1. Las unidades físicas: Son las unidades hardware, por ejemplo, si un ordenador posee una unidad de disquetes y un disco duro, tiene dos unidades físicas. 
  2. Las unidades lógicas: Son la representación que el SO hace de cada unidad física. Las unidades lógicas se nombran mediante una letra del alfabeto de la A a la Z seguida del carácter dos puntos “:”, por ejemplo, A:, B:, C:, etc. En realidad, no se asocia una unidad lógica para cada unidad física de disco duro, sino una unidad lógica por cada partición de un disco duro. Una unidad física de disco duro puede dividirse en varias particiones. Por tanto, un disco duro (una unidad física) puede tener una o más particiones (una o más unidades lógicas). 

3.2.2. PRINCIPALES COMANDOS Y SUS FUNCIONES

  • rd: Borra directorios y subdirectorios
  • format: Le da formato a la unidades de almacenamiento
  • chkdsk: Revisa el estado de las unidades de almacenamiento
  • edit: Crea archivos
  • tree: Muestra la jerarquía de directorios, subdirectorios y archivos
  • diskcopy: Realiza una copia fiel de disco a disco
  • sys: Contiene los controladores de configuración
  • prompt: Muestra la unidad en la que estamos trabajando
  • type: Lee el contenido de un archivo siguiente
  • date: Muestra la fecha actual
  • time: Muestra el contenido de un archivo
  • vol: Muestra el volumen de la unidad de almacenamiento
  • ver: Muestra la versión del sistema operativo que estamos utilizando
  • label: Muestra la etiqueta del disco
  • help: Muestra la ayuda de algún comando
  • fdisk: Permite particionar un disco y tener 2 sistemas operativos en un ordenador 


3.2.3. COMODINES

Es un carácter que representa cualquier otro carácter o cadena de caracteres; comúnmente para sustituir palabras no recordadas por el usuario. Algunos de estos son:


*   %   _   ?   .


3.2.4. NOMBRE DE ARCHIVOS


El nombre del archivo es más restringido, sólo puede tener una longitud máxima de 8 caracteres y una extensión de 3 caracteres.

Además, los archivos sólo pueden contener los siguientes caracteres: letras de la A a la Z números del 0 al 9 los siguientes caracteres especiales: $~! # % & - { } ( ) @ _ ^ 


Por lo tanto, los nombres de los archivos no deben contener: 

  • Espacios 
  • Comas 
  • Barra inversa 
  • Punto


3.2.5. RUTAS DE ARCHIVOS

Es la forma de referenciar un archivo informático o directorio en un sistema de archivos. Una ruta señala la localización exacta de un archivo o directorio mediante una cadena de caracteres concreta. 

En líneas generales se compondrá de los nombres de los directorios que conforman el camino hasta nuestro archivo o directorio a lo largo del árbol de directorios, y finalmente estará el nombre del archivo o directorio que se quiere referenciar. Estos nombres estarán separados por un carácter delimitador que usualmente será "\" en sistemas MS-DOS/Windows(Microsoft).


3.2.6. REFERENCIAS ABSOLUTAS Y RELATIVAS

Las rutas absolutas, señalan la ubicación de un archivo o directorio desde el directorio raíz del sistema de archivos. Por ejemplo es una ruta absoluta /home/dir1/arc1.fil que señala la ubicación de arc1.fil desde la raíz del sistema de archivos.

Las rutas relativas, señalan la ubicación de un archivo o directorio a partir de la posición actual del sistema operativo en el sistema de archivos. Por ejemplo es una ruta relativa dir1/arc1.fil que señala al archivo arc1.fil dentro del directorio dir1 en la ubicación actual.


4. CONCLUSIÓN

La comunicación entre procesos en un Sistema Operativo se trata de dejar que otro proceso sepa que ha ocurrido algún evento, es también la transferencia de datos de un proceso a otro.

MS-DOS es un sistema operativo antiguo que permite hacer cualquier cosa con determinados comandos como por ejemplo crear, acceder, borrar y modificar archivos y directorios, etc. El MS-DOS, debido a sus características de Monotarea y Monousuario solamente puede ejecutar un proceso y ocupar un usuario a la vez.


5. BIBLIOGRAFÍA

Harrison, A. 2012. Sistema Operativo MS-DOS. (En línea). Disponible en: http://www.slideshare.net/AlbertoHarrison1964/sistema-operativo-ms-dos-15227855?related=1

Moreno, J. 2007. Sistema Operativo MS-DOS. (En línea). Disponible en: http://www.slideshare.net/jcmoreno/tema-6-sistema-operativo-msdos

Tanenbaum, A. 2009. Sistemas Operativos Modernos. 3 ed. México. DF. PEARSON EDUCACIÓN.




domingo, 6 de diciembre de 2015

CONCEPTO Y ESTRUCTURA DE LOS SISTEMAS OPERATIVOS, PROCESOS E HILOS



RESUMEN DE LA CLASE DEL 11 AL 18 DE NOVIEMBRE Y DEL 2 DE DICIEMBRE DEL 2015


1. INTRODUCCIÓN

Los conceptos básicos en los que se basan todos los sistemas operativos son los procesos, la administración de memoria, la administración de E/S, el sistema de archivos y la seguridad.

El corazón de cualquier sistema operativo es el conjunto de llamadas al sistema que puede manejar, estas llamadas indican lo que realmente hace el sistema operativo. Para UNIX, tenemos cuatro grupos de llamadas al sistema: el primer grupo se relaciona con la creación y terminación de procesos, el segundo grupo es para leer y escribir en archivos, el tercer grupo es para administrar directorios, y el cuarto grupo contiene una miscelánea de llamadas.

Los sistemas operativos se pueden estructurar en varias formas, las más comunes son: como un sistema monolítico, una jerarquía de capas, microkernel, cliente-servidor, máquina virtual o exokernel.

2. OBJETIVO

Comprender conceptos y estructura sobre los sistemas operativos, y conocer acerca de los procesos e hilos de éstos.

3. MARCO TEÓRICO

3.1. CONCEPTOS DE LOS SISTEMAS OPERATIVOS

La mayoría de los sistemas operativos proporcionan ciertos conceptos básicos y abstracciones tales como procesos, espacios de direcciones y archivos, que son la base para comprender su funcionamiento.

3.1.1. PROCESOS

Es un programa en ejecución. Cada proceso tiene asociado un espacio de direcciones que contiene el programa ejecutable, los datos del programa y su pila. También hay asociado a cada proceso un conjunto de recursos, que incluye información necesaria para ejecutar el programa. En muchos sistemas operativos, la información acerca de cada proceso se almacena en una tabla de procesos. Las llamadas al sistema de administración de procesos clave son las que se encargan de la creación y la terminación de los procesos. Un proceso puede crear uno o más procesos aparte y estos procesos a su vez pueden crear procesos hijos.

Figura 1. Un árbol de proceso. El proceso A creó dos procesos hijos, B y C. El proceso B creó tres procesos hijos, D, E y F
Cada persona autorizada para utilizar un sistema recibe una UID (User Identification) que el administrador del sistema le asigna. Cada proceso iniciado tiene el UID de la persona que lo inició. Un proceso hijo tiene el mismo UID que su padre. Los usuarios pueden ser miembros de grupos, cada uno de los cuales tiene una GID (Group Identification).

3.1.2. ESPACIOS DE DIRECCIONES

Cada computadora tiene cierta memoria principal que utiliza para mantener los programas en ejecución. En un sistema operativo muy simple sólo hay un programa a la vez en la memoria. Para ejecutar un segundo programa se tiene que quitar el primero y colocar el segundo en la memoria. Los sistemas operativos más sofisticados permiten colocar varios programas en memoria al mismo tiempo. Hoy en día existe una técnica llamada memoria virtual, en la cual el sistema operativo mantiene una parte del espacio de direcciones en memoria principal y otra parte en el disco, moviendo pedazos de un lugar a otro según sea necesario.

3.1.3. ARCHIVOS

Un sistema de archivos es un conjunto de tipo de datos abstractos que son implementados para el almacenamiento, la organización jerárquica, la manipulación, el acceso, el direccionamiento y la recuperación de datos. Los sistemas de archivos comparten mucho en común con la tecnología de las bases de datos. Los sistemas de archivos pueden ser representados de forma textual (ej.: el shell de DOS) o gráficamente (ej.: Explorador de archivos en Windows) utilizando un gestor de archivos.


Figura 2. Administración de archivos por el sistema operativo
Los archivos son administrados por el sistema operativo como se muestra en la Fig. 2. Su estructura, nombre, forma de acceso, uso, protección e implantación son temas fundamentales en el diseño de un sistema operativo.

3.1.4. ENTRADA/SALIDA

Todas las computadoras tienen dispositivos físicos para adquirir entrada y producir salida. Existen muchos tipos de dispositivos de entrada y de salida, incluyendo teclados, monitores, impresoras, etc. Es responsabilidad del sistema operativo administrar estos dispositivos. En consecuencia, cada sistema operativo tiene un subsistema de E/S para administrar sus dispositivos de E/S.

3.1.5. PROTECCIÓN

Las computadoras contienen grandes cantidades de información que los usuarios comúnmente desean proteger y mantener de manera confidencial. Es responsabilidad del sistema operativo administrar la seguridad del sistema de manera que los archivos, por ejemplo, sólo sean accesibles para los usuarios autorizados. Además de la protección de archivos, existen muchas otras cuestiones de seguridad. Una de ellas es proteger el sistema de los intrusos no deseados, tanto humanos como no humanos (por ejemplo, virus).

3.1.6. EL SHELL

El intérprete de comandos es la interfaz entre el usuario y el sistema operativo, por este motivo se le da el nombre "shell", que en castellano significa "caparazón".

Figura 3. Shell

Por lo tanto, el shell es un archivo ejecutable que actúa como un intermediario entre el sistema operativo y el usuario utilizando líneas de comando introducidas por dicho usuario. Su función consiste en la lectura de la línea de comandos, la interpretación de su significado, la ejecución del comando y luego la devolución del resultado a través de las salidas. Existen muchos tipos de shell: Los más comunes son: sh (llamado "Bourne shell"), bash ("Bourne again shell"), csh ("C Shell"), Tcsh ("Tenex C shell"), ksh ("Korn shell"), y zsh ("Zero shell"). Generalmente, sus nombres coinciden con el nombre del ejecutable. Cada usuario tiene un shell predeterminado, que se activará al abrirse el aviso del comando.

3.1.7. LLAMADAS AL SISTEMA

Cada SO implementa un conjunto propio de llamadas al sistema. Ese conjunto de llamadas es la interfaz del SO frente a las aplicaciones. Constituyen el lenguaje que deben usar las aplicaciones para comunicarse con el SO. Todo procesador moderno posee al menos dos modos de funcionamiento distintos modo kernel y modo usuario. A grandes rasgos las diferencias entre estos dos modos son las siguientes:
  • En modo kernel se encuentran disponibles todas las instrucciones y funcionalidades que la arquitectura del procesador es capaz de brindar. Es en este modo en el cual corre el kernel (núcleo) del sistema operativo.
  • En modo usuario tan sólo un subconjunto de las instrucciones y funcionalidades que la arquitectura del procesador ofrece se encuentran disponibles. En este modo se ejecutan los procesos de los usuarios del sistema.

La interface entre los programas de usuario y el sistema operativo se define mediante un conjunto de llamadas al sistema, Linux proporciona unas llamadas definidas en el sistema por un nombre “open”, “read”, “mmap”,… y tiene alrededor de 200 llamadas al sistema, idénticas a UNIX V7 (estándar POSIX). En nombre, función y parámetros. Existe unas librerías de procedimientos en /usr/lib/ para poder realizar llamadas desde un programa escrito en C.
Ejemplo de llamada: count = read(file, buffer, nbyte);
  • read.- Nombre de la llamada al sistema.
  • file.- Fichero de donde leer.
  • buffer.- Zona de memoria donde colocar los datos.
  • nbytes.- Nº de bytes a leer.
  • count.- Nº de bytes leídos, si count es - 1, hay error, que se coloca en la variable global errno.

3.1.7.1. LLAMADAS AL SISTEMA LLAMADAS AL SISTEMA PARA LA ADMINISTRACIÓN DE PROCESOS, ARCHIVOS Y DIRECTORIOS.

El primer grupo de llamadas en la figura se encarga de la administración de los procesos. fork es la única manera de crear un nuevo proceso en POSIX. Crea un duplicado exacto del proceso original, incluyendo todos los descriptores de archivos, registros y todo lo demás. Después de fork, el proceso original y la copia (el padre y el hijo) se van por caminos separados.

Figura 4. Algunas de las principales llamadas al sistema POSIX.

3.1.7.2. MISCELÁNEA DE LLAMADAS AL SISTEMA

También existe una variedad de otras llamadas al sistema. Sólo analizaremos cuatro de ellas aquí. La llamada a chdir, chmod, kill, y time.

Figura 5. Llamadas varias al sistema POSIX

3.1.7.3. LA API WIN32 DE WINDOWS

Un programa de UNIX consiste en código que realiza una cosa u otra, haciendo llamadas al sistema para realizar ciertos servicios. En contraste, un programa de Windows es por lo general manejado por eventos. El programa principal espera a que ocurra cierto evento y después llama a un procedimiento para manejarlo. Los eventos comunes son las teclas que se oprimen, el ratón que se desplaza, un botón de ratón que se oprime o un CD-ROM que se inserta. Desde luego que Windows también tiene llamadas al sistema. Microsoft ha definido un conjunto de procedimientos conocidos como API Win32 (Application Program Interface, Interfaz de programación de aplicaciones) que los programadores deben utilizar para obtener los servicios del sistema operativo. Esta interfaz se proporciona (parcialmente) en todas las versiones de Windows. Win32 significa la interfaz que soportan todas las versiones de Windows. La API Win32 tiene un gran número de llamadas para administrar ventanas, figuras geométricas, texto, tipos de letras, barras de desplazamiento, cuadros de diálogo, menús y otras características de la GUI.

3.2. ESTRUCTURA DE UN SISTEMA OPERATIVO

Analizamos seis estructuras las cuales son: sistemas monolíticos, sistemas de capas, microkernels, sistemas cliente-servidor, máquinas virtuales y exokernels.

3.2.1. SISTEMAS MONOLÍTICOS

Se considera como la organización más común, todo el sistema se escribe como una colección de procedimientos, enlazados entre sí en un solo programa binario ejecutable extenso en modo kernel. Esta organización sugiere una estructura básica para el sistema operativo:
  • Un programa principal que invoca el procedimiento de servicio solicitado.
  • Un conjunto de procedimientos de servicio que llevan a cabo las llamadas al sistema.
  • Un conjunto de procedimientos utilitarios que ayudan a los procedimientos de servicio.

3.2.2. SISTEMAS DE CAPAS

Organiza el sistema operativo como una jerarquía de capas, cada una construida encima de la que tiene abajo. El primer sistema construido de esta forma fue el sistema THE, construido en Technische Hogeschool Eindhoven en Holanda por E. W. Dijkstra (1968) y sus estudiantes. El sistema THE era un sistema simple de procesamiento por lotes para una computadora holandesa, la Electrologica X8, que tenía 32K de palabras de 27 bits (los bits eran costosos en aquel entonces). El sistema tenía seis capas.

Figura 6. Estructura del sistema operativo THE.

3.2.3. MICROKERNELS

La idea básica detrás del diseño de microkernel es lograr una alta confiabilidad al dividir el sistema operativo en módulos pequeños y bien definidos, de los cuales solo el microkernel se ejecuta en modo kernel y el resto se ejecuta como procesos de usuario ordinarios. Son en especial comunes en las aplicaciones en tiempo real, industriales, aeronáuticas y militares que son de misión crítica y tienen requerimientos de confiabilidad muy altos. Algunos de los microkernels mejor conocidos son Integrity, K42, L4, PikeOS, QNX, Symbian y MINIX 3.

3.2.4. MODELO CLIENTE-SERVIDOR

Una ligera variación de la idea del microkernel es diferenciar dos clases de procesos: los servidores, cada uno de los cuales proporciona cierto servicio, y los clientes, que utilizan estos servicios. Este modelo se conoce como cliente-servidor. La comunicación entre clientes y servidores se lleva a cabo comúnmente mediante el paso de mensajes. Para obtener un servicio, un proceso cliente construye un mensaje indicando lo que desea y lo envía al servicio apropiado. Después el servicio hace el trabajo y envía de vuelta la respuesta.

3.2.5. MÁQUINAS VIRTUALES

Una máquina virtual (VM) es una implementación de software de un ambiente de computación en el que se puede instalar y ejecutar un sistema operativo o programa. Se crean dentro de una capa de virtualización que funciona sobre un sistema operativo servidor o cliente. La VM normalmente emula un ambiente de computación físico pero las demandas de CPU, memoria, disco duro, red y otros recursos de hardware son gestionadas por una capa de virtualización que traduce estas solicitudes a la infraestructura de hardware físico subyacente.

Normalmente, los sistemas operativos huéspedes y los programas, no son conscientes de que operan en una plataforma virtual y, siempre que la plataforma virtual de la VM esté respaldada, se puede instalar este software de igual forma que si fuera un servidor físico.

3.2.6. EXOKERNELS

En vez de clonar la máquina actual, como se hace con las máquinas virtuales, otra estrategia es particionarla; es decir, a cada usuario se le proporciona un subconjunto de los recursos. En la capa inferior, que se ejecuta en el modo kernel, hay un programa llamado exokernel, su trabajo es asignar recursos a las máquinas virtuales y después comprobar los intentos de utilizarlos, para asegurar que ninguna máquina trate de usar los recursos de otra. La ventaja del esquema del exokernel es que ahorra una capa de asignación, ya que todo lo que tiene que hacer el exokernel es mantener las máquinas virtuales separadas unas de las otras.

3.3. PROCESOS

Un proceso es cualquier programa en ejecución. Este necesita ciertos recursos para realizar satisfactoriamente su tarea:
  • Tiempo de CPU.
  • Memoria.
  • Archivos.
  • Dispositivos de E/S.

Necesitamos mecanismos para crear y terminar procesos.

3.3.1. CREACIÓN DE UN PROCESO

Existen 4 eventos principales que permiten la creación de un proceso:
  • Inicio del sistema.- Procesos interactivos (primer plano) VS demonios (segundo plano)
  • Llamada al sistema para crear eventos.- Unix fork() +exec(), Win32.
  • El usuario inicia un proceso.- Ya sea mediante modo gráfico o alfanumérico.
  • Inicio de un trabajo por lotes.- Sistema mainframe.

3.3.2. TERMINACIÓN DE UN PROCESO

Una vez que se crea un proceso empieza a ejecutarse y realiza el trabajo al que está destinado. Sin embargo tarde o temprano termina ese proceso. Por lo general se debe:
  • Salida normal
  • Salida por error
  • Error fatal
  • Eliminado por otro proceso

3.3.3. JERARQUÍA DE PROCESOS

Un proceso (padre) crea a otro (hijo). El proceso hijo puede crear más procesos creando una jerarquía. Un proceso solo tiene un padre y 0 o más hijos. En Windows no hay jerarquía: todos son iguales.

3.3.4. ESTADOS DE UN PROCESO

Un proceso puede encontrarse en estado “en ejecución”, “bloqueado” o “listo”. A medida que un proceso se ejecuta cambia de estado.

Figura 7. Transiciones entre los estados un proceso

3.4. HILOS

Los hilos son un concepto relativamente nuevo de los SO. En este contexto, un proceso recibe el nombre de proceso pesado, mientras que un hilo recibe el nombre de proceso ligero. El término hilo se refiere sintáctica y semánticamente a hilos de ejecución. El término multi-hilo hace referencia a la capacidad de un SO para mantener varios hilos de ejecución dentro del mismo proceso.

Figura 8. Hilos.

3.4.1. ESTADOS DE UN HILO

Los principales estados de un hilo son: ejecución, preparado y bloqueado; y hay cuatro operaciones básicas relacionadas con el cambio de estado de los hilos:
  • Creación
  • Bloqueo
  • Desbloqueo
  • Terminación

3.4.2. RECURSOS COMPARTIDOS Y NO COMPARTIDOS

Los hilos permiten la ejecución concurrente de varias secuencias de instrucciones asociadas a diferentes funciones dentro de un mismo proceso, comparten un mismo espacio de direcciones y las mismas estructuras de datos del núcleo.

3.4.2.1. RECURSOS COMPARTIDOS ENTRE LOS HILOS

  • Código (instrucciones).
  • Variables globales.
  • Ficheros y dispositivos abiertos.

3.4.2.2. RECURSOS NO COMPARTIDOS ENTRE LOS HILOS

  • Contador del programa: cada hilo puede ejecutar una sección distinta de código.
  • Registros de CPU.
  • Pila para las variables locales de los procedimientos a las que se invoca después de crear un hilo.
  • Estado: distintos hilos pueden estar en ejecución, listos o bloqueados esperando un evento.

4. CONCLUSIÓN

El estudio de la estructura de los sistemas operativos nos permite saber cómo trabajan los sistemas operativos, y a pesar que su estudio es complejo es muy interesante e importante conocer sus funcionalidades, por ejemplo el de los procesos, los cuales son programas ejecutables que guardan información requerida por un usuario para que realice cierta acción.


5. BIBLIOGRAFÍA

Ayala, I.; Francois, J.; Ortega, A.; Villagómez, C. 2015. Introducción al Shell. (En línea). Consultado, 5 de diciembre de 2015. Disponible en: http://es.ccm.net/contents/692-sistema-unix-el-shell

Bravo, D. 2009. Llamadas al Sistema en Linux. (En línea). Formato PDF. Consultado, 5 de diciembre de 2015. Disponible en: http://www.fceia.unr.edu.ar/~diegob/so/material/Llamadas_al_Sistema.pdf

Desai, A. 2011. Máquina Virtual VM - Definición. (En línea). Consultado, 5 de diciembre de 2015. Disponible en: http://searchdatacenter.techtarget.com/es/definicion/Copy-of-virtual-machine-VM

Martínez, M. s/f. Concepto de Sistema de archivos. (En línea). Consultado, 5 de diciembre de 2015. Disponible en: http://sistemasoperativos.angelfire.com/html/5.1.html

Tanenbaum, A. 2009. Sistemas Operativos Modernos. 3 ed. México. DF. PEARSON EDUCACIÓN. p. 37-71, 83-114

ULPGC, s/f. Universidad de Las Palmas de Gran Canaria - Llamadas al Sistema. (En línea). Formato PDF. Consultado, 5 de diciembre de 2015. Disponible en: http://sopa.dis.ulpgc.es/ii-dso/leclinux/miscelaneos/llamadas/LEC_llamadas.pdf

Velásquez, S. 2011. Llamadas al Sistema Operativo. (En línea). Consultado, 5 de diciembre de 2015. Disponible en: http://soribel-velasquez.blogspot.com/p/llamadas-al-sistema-operativo_25.html