sábado, 30 de enero de 2016

Paginación y Segmentación de la memoria principal SO



Resumen Paginación y segmentación de la memoria  

    1.INTRODUCCIÓN

Los sistemas operativos con el pasar de los años han buscado ser más eficiente, es por eso que es vital que el uso de la memoria principal como lo es la RAM sea de la manera más inteligente posible,  para que los sistemas operativos sean más eficientes.

La segmentación es un proceso de dividir el programa en unidades lógicas, como subsunciones, arreglos, variables, etc. consiguiendo tener procesos divididos en trozos para que sea fácil de acceder a cada uno de los procesos que este conlleva a su ejecución. La paginación divide así mismo así mismo el programa en trozos pequeños pero sin mirar lo que coge.

2. OBJETIVO

Conocer conceptos sobre la paginación y segmentación de los sistemas operativos.

3. MARCO TEÓRICO

3.1. SISTEMA DE PAGINACIÓN / SEGMENTACIÓN 

Tanto la Segmentación como la paginación ofrecen significativas ventajas, algunos sistemas (Multics y la Serie 370 de IBM) combinan ambas técnicas en donde los segmentos tienen un tamaño múltiplo de página. Este método utiliza Segmentación y Paginación tal y como su nombre lo indica, el proceso es el siguiente, Se hace la solicitud de acceso por medio de una dirección “V” la cual contiene los campos Segmento, Pagina y Desplazamiento, Con el campo Segmento, lo que se trata es de acceso a una tabla de segmentos, cada campo de dicha tabla apunta directamente a la tabla de páginas asignada para ese segmento conteniendo una dirección que será sumada a una dirección en la Tabla Asociativa para por fin formar una dirección real con el desplazamiento de “V”. (Quintuña, et al., 2010)

3.2.      PAGINACIÓN

Es una técnica de manejo de memoria, en la cual el espacio de memoria se divide en secciones físicas de igual tamaño, denominadas marcos de página los programas se dividen en unidades lógicas, denominadas páginas, que tienen el mismo tamaño que los marcos de páginas de esta forma, se puede cargar una página de información en cualquier marco de página. (Quintuña, et al., 2010)

Las páginas sirven como unidad de almacenamiento de información y de transferencia entre memoria principal y memoria auxiliar o secundaria cada marco se identifica por la dirección de marco, que está en la posición física de la primera palabra en el marco de página. (Quintuña, et al., 2010)

Para tener el control de las páginas, debe mantenerse una tabla en memoria que se denomina tabla de Mapas de Pagina (PMT) para cada uno de los procesos hasta ahora, los métodos que hemos visto de la administración de la memoria principal, nos han dejado con un problema: fragmentación, (huecos en la memoria que no pueden usarse debido a lo pequeño de su espacio) lo que nos provoca un desperdicio de memoria principal. (Quintuña, et al., 2010)

Una posible solución para la fragmentación externa es permitir que espacio de direcciones lógicas lleve a cabo un proceso en direcciones no contiguas, así permitiendo al proceso ubicarse en cualquier espacio de memoria física que esté disponible, aunque esté dividida. (Quintuña, et al., 2010)


Figura 1. Esquema de traducciones direcciones.

El almacenamiento a un sólo nivel puede llevarse a cabo mediante una técnica llamada paginación, según la cual el espacio de direcciones virtuales se divide en páginas del mismo tamaño, la memoria principal se divide también en marcos o páginas físicas del mismo tamaño, estos marcos son compartidos entre los distintos procesos que haya en el sistema, de forma que en cualquier momento un proceso dado tendrá unas cuantas páginas residentes en la memoria principal (sus páginas activas) y el resto en la memoria secundaria (sus páginas inactivas). (Quintuña, et al., 2010)

3.2.1.  CARACTERÍSTICAS DE LA PAGINACIÓN

El espacio de direcciones lógico de un proceso puede ser no contiguo. 

• Se divide la memoria física en bloques de tamaño fijo llamados marcos (frames). 

• Se divide la memoria en bloques de tamaño llamados páginas. 

• Se mantiene información en los marcos libres. 

• Para correr un programa de n páginas de tamaño, se necesitan encontrar n marcos y cargar el programa. 

• Se establece una tabla de páginas para trasladar las direcciones lógicas a físicas. 

• Se produce fragmentación interna. (Quintuña, et al., 2010)

3.2.2.  VENTAJAS DE LA PAGINACIÓN 

1. Es posible comenzar a ejecutar un programa, cargando solo una parte del mismo en memoria, y el resto se cargara bajo la solicitud. 

2. No es necesario que las paginas estén contiguas en memoria, por lo que no se necesitan procesos de compactación cuando existen marcos de páginas libres dispersos en la memoria. (Quintuña, et al., 2010)

3. Es fácil controlar todas las páginas, ya que tienen el mismo tamaño. 

4. El mecanismo de traducción de direcciones (DAT) permite separar los conceptos de espacio de direcciones y espacios de memoria. 

5. Se libera al programador de la restricción de programar para un tamaño físico de memoria, con lo que s e aumenta su productividad. 

6. Al no necesitarse cargar un programa completo en memoria para su ejecución, se puede aumentar el número de programas multiprogramándose. (Quintuña, et al., 2010)


3.2.3.   DESVENTAJAS DE LA PAGINACIÓN 

1. El costo de hardware y software se incrementa, por la nueva información que debe manejarse y el mecanismo de traducción de direcciones necesario. Se consume mucho más recursos de memoria, tiempo en el CPU para su implantación. (Quintuña, et al., 2010)
2. Se deben reservar áreas de memoria para las PMT de los procesos. Al no ser fija el tamaño de estas, se crea un problema semejante al de los programas (Quintuña, et al., 2010)

3. Aparece el problema de fragmentación interna. Así, si se requieren 5K para un programa, pero las paginas son de 4K, deberán asignárseles 2 páginas (8k), con lo que quedan 3K sin utilizar. La suma de los espacios libres dejados de esta forma puede ser mayor que el de varias páginas, pero no podrá ser utilizado. Debe asignarse un tamaño promedio a las páginas, evitando que si son muy pequeñas, se necesiten TABLAS BMT y PMT muy grandes, y si son muy grandes, se incremente el grado de fragmentación interna. (Quintuña, et al., 2010)

3.3.   SEGMENTACIÓN
 
Es un esquema de manejo de memoria mediante el cual la estructura del programa refleja su división lógica; llevándose a cabo una agrupación lógica de la información en bloques de tamaño variable denominados segmentos, cada uno de ellos tienen información lógica del programa: subrutina, arreglo, etc. Luego, cada espacio de direcciones de programa consiste de una colección de segmentos, que generalmente reflejan la división lógica del programa. (Quintuña, et al., 2010) 

Modularidad de programas: cada rutina del programa puede ser un bloque sujeto a cambios y recopilaciones, sin afectar por ello al resto del programa.
Estructuras de datos de largo variable: ejm. Stack, donde cada estructura tiene su propio tamaño y este puede variar. 

Protección: se puede proteger los módulos del segmento contra accesos no autorizados. Quintuña, et al., 2010)

Comparación: dos o más procesos pueden ser un mismo segmento, bajo reglas de protección; aunque no sean propietarios de los mismos.
Enlace dinámico entre segmentos: puede evitarse realizar todo el proceso de enlace antes de comenzar a ejecutar un programa. ( Quintuña, et al., 2010)

Dado que en cada proceso se manejan direcciones lógicas, el sistema operativo debe obtener una dirección lógica el sistema operativo debe también asegurarse de que cada dirección lógica esté dentro del rango de direcciones empleado por el proceso para esto el sistema operativo implementa la tabla de segmentos (Quintuña, et al., 2010)


Figura 2. Segmentación
3.3.1.  ORGANIZACIÓN

En el estudio de la segmentación simple, se llegó a la conclusión de que cada proceso tiene su propia tabla de segmento y que, cuando todos los segmentos se encuentran en la memoria principal, la tabla de segmentos del proceso se crea y se carga en la memoria. Cada entrada de la tabla contiene la dirección de comienzo del segmento correspondiente de la memoria principal, así como su longitud.

La misma estructura se necesitará al hablar de un esquema de memoria virtual basado en la segmentación donde las entradas de la tabla de segmentos pasan a ser más complejas. Puesto que sólo algunos de los segmentos de un proceso estarán en la memoria principal, se necesita un bit en cada entrada de la tabla de segmentos para indicar si el segmento correspondiente está presente en la memoria principal. Si el bit indica que el segmento está en la memoria, la entrada incluye también la dirección de comienzo y la longitud del segmento. (Boscan, et al., 2011)

3.3.2.  PROTECCIÓN Y COMPARTIMIENTO

Además la segmentación se presta a la implementación de políticas de protección, puesto que cada entrada de la tabla de segmentos incluye la longitud, además de la dirección base, un programa no podrá acceder por descuido a una posición de la memoria principal más allá de los límites de un segmento. 

Para conseguir la compartición, es posible que un segmento se referencia desde las tablas de segmentos de más de un proceso. Este mismo mecanismo es válido en un sistema de paginación. (Boscan, et al., 2011)
.
3.3.3.  HARDWARE DE SEGMENTACIÓN

Una dirección lógica consta de dos partes: un número de segmentos (s), y un desplazamiento de dicho segmento, (d). El número de segmentos se utiliza como un índice en la tabla de segmentos. El desplazamiento (d) de la dirección lógica debe estar entre 0 y el límite del segmento. De no ser así, se ocasiona una trampa al sistema operativo (intento de direccionamiento lógico más allá del final del segmento). Si este desplazamiento es legal, se agrega a la base del segmento para producir la dirección en la memoria física del byte deseado. (Boscan, et al., 2011)

3.3.3.  CON PAGINACIÓN: MULTICS

Si los segmentos son extensos, puede ser inconveniente (o incluso imposible) mantenerlos completos en memoria principal. Esto nos lleva a la idea de paginarlos, de manera que sólo las páginas que realmente se necesiten tengan que estar presentes. Varios sistemas importantes han soportado segmentos de páginas. En esta sección describiremos el primero: MULTICS. En la siguiente analizaremos uno más reciente: el Intel Pentium. . (Tanenbaum, 2009)

MULTICS operaba en las máquinas Honeywell 6000 y sus descendientes; proveía a cada programa con una memoria virtual de hasta 218 segmentos (más de 250,000), cada uno de los cuales podría ser de hasta 65,536 palabras (36 bits) de longitud. Para implementar esto, los diseñadores de MULTICS optaron por considerar a cada segmento como una memoria virtual y la paginaron, combinando las ventajas de la paginación (tamaño de página uniforme y no tener que mantener todo el segmento en la memoria, si sólo se está utilizando parte de él) con las ventajas de la segmentación (facilidad de programación, modularidad, protección, compartición).

Cada programa de MULTICS tiene una tabla de segmentos, con un descriptor por segmento. . (Tanenbaum, 2009)

Como hay en potencia más de un cuarto de millón de entradas en la tabla, la tabla de segmentos es en sí un segmento y se página. Un descriptor de segmentos contiene una indicación acerca de si el segmento está en memoria principal o no. Si cualquier parte del segmento está en memoria, se considera que el segmento está en memoria y su tabla de páginas estará en memoria. Si el segmento está en memoria, su descriptor contiene un apuntador de 18 bits a su tabla de página. Como las direcciones físicas son de 24 bits y las páginas se alinean en límites de 64 bytes (implicando que los 6 bits de menor orden de las direcciones de página son 000000), sólo se necesitan 18 bits en el descriptor para almacenar una dirección de la tabla de páginas. El descriptor también contiene el tamaño del segmento, los bits de protección y unos cuantos elementos más. ilustra un descriptor de segmento de MULTICS. La dirección del segmento en la memoria secundaria no está en el descriptor de segmentos, sino en otra tabla utilizada por el manejador de fallos de segmento. Cada segmento es un espacio de direcciones virtual ordinario y se página de la misma forma que la memoria paginada no segmentada descrita anteriormente en este capítulo. El tamaño normal de página es de 1024 palabras (aunque unos cuantos segmentos utilizados por MULTICS en sí no están paginados o están paginados en unidades de 64 palabras para ahorrar memoria física).

Una dirección en MULTICS consiste en dos partes: el segmento y la dirección dentro del segmento. . (Tanenbaum, 2009)

La dirección dentro del segmento se divide aún más en un número de página y en una palabra dentro de la página. Cuando ocurre una referencia memoria, se lleva a cabo el siguiente algoritmo. (Tanenbaum, 2009)

Figura 3. La memoria virtual Multicast


3.3.4.  VENTAJAS DE LA SEGMENTACIÓN 

El programador puede conocer las unidades lógicas de su programa, dándoles un tratamiento particular. 

• Es posible compilar módulos separados como segmentos el enlace entre los segmentos puede suponer hasta tanto se haga una referencia entre segmentos. 

• Debido a que es posible separar los módulos se hace más fácil la modificación de los mismos. Cambios dentro de un módulo no afecta al resto de los módulos. (Quintuña, et al., 2010)

• Es fácil el compartir segmentos. 

• Es posible que los segmentos crezcan dinámicamente según las necesidades del programa en ejecución. 

• Existe la posibilidad de definir segmentos que aún no existan. Así, no se asignara memoria, sino a partir del momento que sea necesario hacer usos del segmento. Un ejemplo de esto, serían los arreglos cuya dimensión no se conoce hasta tanto no se comienza a ejecutar el programa. (Quintuña, et al., 2010)

3.3.5.   DESVENTAJAS DE LA SEGMENTACIÓN 

Hay un incremento en los costos de hardware y de software para llevar a cabo la implantación, así como un mayor consumo de recursos: memoria, tiempo de CPU, etc. 

• Debido a que los segmentos tienen un tamaño variable se pueden presentar problemas de fragmentación externas, lo que puede ameritar un plan de reubicación de segmentos en memoria principal. (Quintuña, et al., 2010) 

• Se complica el mane-jo de memoria virtual, ya que los discos almacenan la información en bloques de tamaños fijos, mientras los segmentos son de tamaño variable. Esto hace necesaria la existencia de mecanismos más costosos que los existentes para paginación.
• Al permitir que los segmentos varíen de tamaño, puede ser necesarios planes de reubicación a nivel de los discos, si los segmentos son devueltos a dicho dispositivo; lo que conlleva a nuevos costos. (Quintuña, et al., 2010) 

• No se puede garantizar, que al salir un segmento de la memoria, este pueda ser traído fácilmente de nuevo, ya que será necesario encontrar nuevamente un área de memoria libre ajustada a su tamaño. 

• La compartición de segmentos permite ahorrar memoria, pero requiere de mecanismos adicionales da hardware y software. (Quintuña, et al., 2010)

4. CONCLUSIÓN

En la memoria RAM o memoria principal son ejecutados todos los programas y procesos de un ordenador y es el espacio real que existe en memoria para que se ejecuten los procesos que estos conllevan.

• La paginación y la segmentación es una técnica de gestión de memoria que divide un programa cuando esta ejecución en segmentos para así acceder a las tareas necesarias cuando este lo requiera sin tener que mirar todo el proceso entero.

5.   BIBLIOGRAFÍA

Boscan, J. Morrillo, D. Carrasco, G. 2011. Paginación y segmentación. (En Línea). Consultado el 30 de Enero. 2016. Formato HTML. Disponible en: http://es.slideshare.net/menes21/paginacion-y-segmentacion-de-memoria

Tanenbaum, A. 2009. Sistemas Operativos Modernos. 3 ed. México. D. F. PEARSON EDUCACIÓN. p. 275-276

 Quintuña, C. Mullo, X. Trujillo, M. 2010. Sistemas de segmentación y paginación. (En Línea). Consultado el 30 de Enero. 2016. Formato HTML. Disponible en: http://arqordenadores.wiki-site.com/index.php/Paginaci%C3%B3n_y_Segmentaci%C3%B3n

miércoles, 13 de enero de 2016

COMUNICACION ENTRE PROCESOS Y MS- DOS



Resumen  de la clase dictada  9 y 16 de diciembre 2015 

1.     INTRODUCCIÓN

Dentro de las operaciones más básicas y a las ves complejas de una computadora encontramos a los procesos. Ya que si no existiera procesos el computador de que nos serviría.  La comunicación entre procesos a veces es muy dificultoso para los sistemas operativos, pero es muy útil ya que mediante esta comunicación los procesos  en el sistema operativo se llevan de una manera más eficiente.
Los comandos MS-DOS permiten funcionar un equipo con pocas órdenes concretas y mejorarlo a su vez.


2.  OBJETIVO

Conocer comunicación entre procesos y características del MS-DOS y comandos básicos.


3. MARCO TEÓRICO

3.1. COMUNICACIÓN ENTRE PROCESOS

Con frecuencia, los procesos necesitan comunicarse con otros procesos. Por ejemplo, en una canalización del shell, la salida del primer proceso se debe pasar al segundo proceso y así sucesivamente.

Por ende, existe una necesidad de comunicación entre procesos, de preferencia en una forma bien estructurada sin utilizar interrupciones. En las siguientes secciones analizaremos algunas de las cuestiones relacionadas con esta comunicación entre procesos o IPC.

En resumen, hay tres cuestiones aquí. La primera se alude a lo anterior: 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í; por ejemplo, dos procesos en un sistema de reservaciones de una aerolínea, cada uno de los cuales trata de obtener el último asiento en un avión para un cliente distinto. 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. En la siguiente sección analizaremos las tres cuestiones.




 Figura1. Dos procesos desean acceder a la memoria compartida al mismo tiempo.

3.2. CONDICIONES DE CARRERA

En algunos sistemas operativos, 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 (posiblemente en una estructura de datos del kernel) 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. Para ver cómo funciona la comunicación entre procesos en la práctica, consideremos un ejemplo simple pero común: un spooler de impresión. Cuando un proceso desea imprimir un archivo, introduce el nombre del archivo en un directorio de spooler especial.
Otro proceso, el demonio de impresión, comprueba en forma periódica si hay archivos que deban imprimirse y si los hay, los imprime y luego elimina sus nombres del directorio.


3.3. REGIONES CRÍTICAS

¿Cómo evitamos las condiciones de carrera? La clave para evitar problemas aquí y en muchas otras situaciones en las que se 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. Dicho en otras palabras, lo que necesitamos es exclusión mutua, cierta forma de asegurar que si un proceso está utilizando una variable o archivo compartido, los demás procesos se excluirán de hacer lo mismo. La dificultad antes mencionada ocurrió debido a que el proceso B empezó a utilizar una de las variables compartidas antes de que el proceso A terminara con ella.

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 o 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 pudiéramos ordenar las cosas de manera que dos procesos nunca estuvieran en sus regiones críticas al mismo tiempo, podríamos evitar las carreras.
Figura2. Exclusión mutua mediante el uso de regiones críticas.


3.4. INTRODUCCIÓN A MS-DOS

En un sistema operativo monousuario y monotarea, es decir, dedica los recursos del sistema a un solo usuario y a un solo proceso. MS-DOS son las siglas de MicroSoft Disk Operating System –algo así como <<Sistema Operativo en Disco>>-.
Una de sus características principales es que permite hacer funcionar un equipo con pocas órdenes concretas. Esto implica que en un simple disquete se pueden almacenar las órdenes o comandos necesarios y el propio núcleo del SO.
3.5. CARACTERÍSTICAS GENERALES DE MS-DOS

Podemos decir, que las principales características de este SO son:
  • Monousuario: el ordenador solo puede ser usado por un solo usuario a la vez
  • Monotarea: sólo es capaz de ejecutar un proceso a la vez. La CPU destina su tiempo a dicho proceso hasta que este haya terminado.
  • Interfaz modo texto o de línea de comandos: la comunicación entre el usuario y el sistema se realiza mediante comandos formados por cadenas de caracteres.
  • Gestión de memoria y periféricos: coordina todas las operaciones de E/S, los accesos y la gestión de memoria.
3.6. GESTIÓN DE MEMORIA

Por lo general, MS-DOS tiene una forma específica de estructurar y gestionar la memoria principal del equipo. Esta, se divide principalmente en tres bloques:
  • Memoria convencional: ocupa los primeros 640 KB de RAM
  • Área de memoria superior: desde los 641 KB hasta los 1024 KB (1 MB).
  • Memoria Extendida: desde el primer MB hasta lo que disponga el equipo.
3.6. MEMORIA CONVENCIONAL

Esta memoria se usa, principalmente, para ejecutar todos los programas del S.O. La mayor parte de los ficheros incluidos en MS-DOS están destinados a gestionar esta memoria con el fin de liberarla al máximo. Cuanta más memoria convencional esté libre, mayor podrá el programa a ejecutar.

El propio MS-DOS solo utilizará unos 2 KB aproximadamente. En esta zona, se almacena las IRQ’s (tablas de interrupciones), la tabla de características de la máquina, etc. A continuación, se encuentra el núcleo (Kernel) del MS-DOS, el cual está constituido por dos programas: el IO.SYS y el MS-DOS.SYS, los cuales definiremos un poco más adelante.
La zona de órdenes de fichero contiene las órdenes del fichero CONFIG.SYS, las cuales se instalan en memoria de forma residente. Hay cinco órdenes básicas del propio CONFIG.SYS que se almacenan en esta zona: BUFFERS, FCBS, FILES, LASTDRIVE y STACKS.

A continuación, encontramos la zona de controladores de dispositivo, donde se almacenan todos ellos. Estos controladores se cargan en el CONFIG.SYS mediante la orden DEVICE.

Posteriormente se ubica el COMMAND.COM. Este programa es el intérprete de comandos del SO y contiene todos los comandos del DOS que se cargan en memoria en el momento del arranque –es decir, los llamados <<comandos internos>>-.

Por último, en la zona de programas residentes de usuario, se cargan en primer lugar los programas que se cargar desde el AUTOEXEC.BAT –como son el KEYB, DOSKEY, PRINT, etc-. A partir del último programa residente, la memoria que queda libre es la que podemos usar para cargar los programas del usuario.

3.7. MEMORIA SUPERIOR

Su misión es almacenar programas del sistema y rutinas de inicialización y control. Se divide en varios segmentos:
  • La memoria de vídeo: compuesta por chips de RAM, almacena los caracteres y atributos que se visualizan en pantalla. Dicha RAM suele residir en chips situados en la propia gráfica.
  • La BIOS: conjunto de rutinas básicas que gestionan las operaciones de Entrada/Salida del sistema; dichas rutinas se almacenan en la ROM.
  • Los huecos que quedan entre los bloques mencionados se denominan UMB (Upper Memory Blocks, <<bloque de memoria superior>>) y se usan para cargar controladores de los distintos periféricos.
  • La memoria expandida (EMS): es un tipo de gestión de memoria que surge como solución a la limitación original de los primeros equipos. Dicha gestión se realiza en 4 bloques de 16 KB (64 KB en total) ubicados en memoria superior. Gracias a la EMS, se podrá utilizar la Memoria Extendida (XMS): como MS-DOS no puede acceder directamente a la información por encima de los 1024 KB, utiliza la EMS (lo que hace es crear un marco de página en una zona a la que puede acceder el ordenador y, a través de dicho marco, se puede redireccionar hacia la XMS).
  •  
3.8. MEMORIA EXTENDIDA (XMS)

Como ya hemos dicho, por sí mismo MS-DOS no es capaz de gestionar la RAM a partir de 1024 KB, pero con la aparición de dispositivos como RAMDRIVE.SYS, se pueden crear “discos virtuales” en memoria extendida. Así, cuando vamos a usar programas que son demasiado grandes para la memoria convencional, éstos se cargan en el disco virtual formado en la memoria extendida.

3.9. MEMORIA ALTA (HMA)

Es la zona de memoria expandida que va desde los 1025 a los 1088 KB. Esta zona permite instalar el núcleo del sistema, liberando a la memoria convencional de 44 KB para poder ejecutar aplicaciones.

3.10. PRINCIPALES COMANDOS MS-DOS
  • COMANDO: MD
  • ACCIÓN: Crea directorios
  • SINTAXIS: MD [unidad:\ruta\] <nombre>
  • COMANDO: RD
  • ACCIÓN: Borra directorios (solo si se encuentra vacío)
  • SINTAXIS: RD [unidad:\ruta\] <nombre>
  • COMANDO: CD ; CD.. ; CD\
  • ACCIÓN: Sirve para moverse por los distintos directorios
  • SINTAXIS: CD <nombre de la carpeta> , CD.. , CD\
  • COMANDO: TREE
  • ACCIÓN: Muestra la el árbol de directorios de la unidad
  • SINTAXIS: TREE [Unidad:\ruta]
  • PRINICPALES MODIFICADORES:  /F Presenta los nombres de los archivos que contiene cada directorio.  /A Utiliza caracteres de texto en lugar de caracteres gráficos.
  • COMANDO: VOL
  • ACCIÓN: Muestra el número de serie del disco o unidad
  • SINTAXIS: VOLCOMANDO: DELTREE
  • ACCIÓN: Borra el directorio aunque no esté vacío.
  • SINTAXIS: DELTREE [unidad:\ruta\] <nombre>
  • PRINICPALES MODIFICADORES: /Y No pide confirmación antes de borrar.
  • COMANDO: DIR
  • ACCIÓN: Muestra el contenido de un directorio
  • SINTAXIS: DIR [unidad:\directorio]
  • PRINICPALES MODIFICADORES: /P Pausa la pantalla para poder ver todo. /S Muestra también subdirectorios.
  • COMANDO: MOVE
  • ACCIÓN: Mueve ficheros de un directorio a otro
  • SINTAXIS: MOVE <origen> <destino>
  • PRINICPALES MODIFICADORES: /Y No pregunta por la confirmación de reemplazo
  • COMANDO: TYPE
  • ACCIÓN: Visualiza archivos de texto
  • SINTAXIS: TYPE [Unidad:\ruta\Archivo]
  • COMANDO: XCOPY
  • ACCIÓN: Copia directorios enteros
  • SINTAXIS: XCOPY <Origen> <destino>
  • PRINICPALES MODIFICADORES:  /P Pide confirmación antes de copiar cada archivo. /S La copia debe ser extensiva a todos los directorios (los vacíos no). /E Copia también los directorios Vacíos.
  • COMANDO: REN / RENAME
  • ACCIÓN: Renombra ficheros
  • SINTAXIS: RENAME <nombre actual> <nombre nuevo>
  • COMANDO: DEL
  • ACCIÓN: Elimina ficheros
  • SINTAXIS: DEL [Unidad:\ruta\Archivo]
  • PRINICPALES MODIFICADORES: /P Pide confirmación.
  • COMANDO: UNDELETE
  • ACCIÓN: Recupera archivos borrados con DEL
  • SINTAXIS: UNDELETE <fichero>
  • PRINICPALES MODIFICADORES: /LIST Presenta una lista de los archivos recuperables. /ALL Recupera todos los archivos.
  • COMANDO: FC
  • ACCIÓN: Compara que 2 ficheros sean iguales
  • SINTAXIS: FC fichero1 fichero2
  • COMANDO: EDIT
  • ACCIÓN: Editor de texto
  • SINTAXIS: EDIT <fichero>

  • COMANDO: FORMAT
  • ACCIÓN: Formatea unidades
  • SINTAXIS: FORMAT <Unidad:>
  • PRINICPALES MODIFICADORES:  /Q  Da un formato rápido. /S  Copia al disco los archivos de sistema.
  • COMANDO: SYS
  • ACCIÓN: Copia el sistema a otra unidad
  • SINTAXIS: SYS <Unidad:>
  • COMANDO: CHKDSK
  • ACCIÓN: Chequea el disco y nos muestra información sobre él.
  • SINTAXIS: CHKDSK [Unidad:][fichero]
  • COMANDO: DISKCOPY
  • ACCIÓN: Copia el contenido total de un disco, sirve para hacer copias de seguridad.
  • SINTAXIS: DISKCOPY <Unidad origen> <Unidad destino>
  • COMANDO: CLS
  • ACCIÓN: Limpia la pantalla
  • SINTAXIS: CLS
  • COMANDO: VER
  • ACCIÓN: Nos muestra la versión de MSDOS que utilizamos
  • SINTAXIS: VER
  • COMANDO:DATE
  • ACCIÓN: Muestra y cambia la fecha
  • SINTAXIS: DATE
  • COMANDO: TIME
  • ACCIÓN: Muestra y cambia la hora
  • SINTAXIS: TIME
  • COMANDO: FIND
  • ACCIÓN: Busca una cadena específica de texto
  • SINTAXIS: FIND [modificadores] “Cadena” [Unidad:\ruta\archivo]  (“Cadena”= Texto a buscar)
  • PRINICPALES MODIFICADORES:  /V Presenta todas las líneas que no contengan la cadena especificada. /I   Indica que no se haga distinción entre mayúsculas y minúsculas.
  • COMANDO: LABEL
  • ACCIÓN: Cambia la etiqueta del disco
  • SINTAXIS: LABEL
  • COMANDO: VOL
  • ACCIÓN: Muestra el número de serie del disco o unidad
  • SINTAXIS: VOL

  • COMANDO: ATTRIB
  • ACCIÓN: Asocia a los archivos distintos atributos
  • SINTAXIS: ATTRIB [Modificadores] <Fichero>

4. CONCLUSIÓN

La comunicación es de gran utilidad para los sistemas operativos porque permite que las tareas se realicen de una manera eficiente, comunicando un proceso con el otro aunque para los sistemas operativos muchas veces es muy dificultoso ya que estos no se cumplen debido a bloqueos y otros. Existen maneras de mejorar nuestro sistema operativos es mediante los comandos MS-DOS que permite editar archivos del sistema.


5.   BIBLIOGRAFÍA
 
Delgado, P.2012. MS-DOS. (En Línea). Consultado el 27 de Dic. 2015. Formato HTML. Disponible en: http://todobytes.es/2012/07/ms-dos-introduccion-i-breve-introduccion-caracteristicas-generales-y-gestion-de-memoria/
Tanenbaum, A. 2009. Sistemas Operativos Modernos. 3 ed. México. D. F. PEARSON EDUCACIÓN. p. 62-79