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
.i.
ResponderEliminar