Unidad 5 Introducci贸n a los sistemas operativos M.C. Juan Carlos Olivares Rojas
Temario 5.1 Definici贸n y diferencias 5.2 Fundamentos de D.O.S. 5.3 Comandos internos 5.4 Diferencia entre archivos y directorios 5.5 Trabajo con directorios 5.5.1 Presentaci贸n de contenido de directorio 5.5.2 Cambio de directorio 5.5.3 Creaci贸n de directorio 5.5.4 Eliminaci贸n de directorio
Unidad 5 Introducci贸n a los sistemas operativos 5.6 Cambio de unidades 5.7 Manejo de rutas para archivos 5.8 Nombres de archivos y directorios 5.8.1 Uso de extensiones 5.8.2 Uso de comodines
5.9 Creaci贸n de archivos 5.10 Comando format 5.11 Copia de archivos 5.12 Eliminaci贸n y cambio de nombre a los archivos
5.1 Definición y diferencias • ¿Qué es un sistema operativo? • Es el software que controla la computadora, sirve de interfaz hombre-máquina. Administra los recursos de un sistema de cómputo hardware y software.
Sistemas Operativos • La finalidad de un sistema operativo es poder operar (manejar) una computadora. • Es el software principal de la computadora que se encarga al encenderlo. • Existen sistemas operativos muy básicos, por ejemplo las consolas actuales de videojuegos cuentan con un sistema operativo en ROM para realizar muchas cosas.
Sistemas Operativos • El desarrollo de los sistemas operativos está influenciado por el desarrollo tecnológico, el cual tiene como premisas (función objetivo): • Reducir el esfuerzo (minimizar la frontera hombre-máquina). • Maximizar el rendimiento de los recursos
Sistemas Operativos • Los principales recursos que administra un sistema operativo son: • Administración de procesos (programas en ejecución, tareas) • Administración de E/S (dispositivos, periféricos) • Administración de memoria • Administración de archivos
Sistemas Operativos • La parte esencial de cualquier sistema operativo se llama núcleo (kernel). • Un sistema operativo es un software que se ejecuta en modo supervisor, por lo que puede acceder a toda la funcionalidad del microprocesador. Los programas normales se ejecutan en modo usuario, y no tienen acceso a todas las funciones del micro
Sistemas Operativo • Dependiendo del tipo de sistema operativo dependerá las acciones a realizar el sistema operativo. • No es la misma administración de recursos para un sistema monousuario que para uno multiusuario, que por ejemplo la administración de procesos en un sistema multitarea o de tiempo compartido.
Sistemas Operativos • Los sistemas operativos son totalmente dependiente de la arquitectura de computadoras. • Por este motivo sistemas operativos como Windows no pueden ejecutarse sobre arquitecturas como Power PC, sino que estå ligado a una arquitectura Intel x86.
Sistemas Operativos • Recientemente han aparecido microprocesadores con palabras de 64 bits, para ellos se utilizan variaciones del sistema operativo para un manejo óptimo de los recursos. • Actualmente los sistemas operativos soportan multitarea y concurrencia de manera nativa soportando sistemas de múltiples procesadores y/o núcleos.
Sistemas Operativos • Para el bueno uso de los recursos se utilizarán políticas y mecanismos de control. Por lo que un sistema operativo se encarga de planificar, controlar, dirigir y ejecutar operaciones del sistema. • Los programas pueden acceder directamente a algunas funciones en modo supervisor del sistema haciendo llamadas al sistema.
Sistemas Operativos • Un sistema operativo por lo tanto tiene una interfaz hacia el usuario y otra interfaz hacia los programas (programadores). • En UNIX esa distinción no existía. • Así como el hardware y software son recursos no excluyentes (son un binomio). El sistema operativo está en la mitad de esos dos recursos.
Sistemas Operativos • Toda computadora tiene un sistema operativo aunque este sea muy básico. Por ejemplo una calculadora científica puede contar con un menú de administración. • Esto a dado hincapié a sistemas operativos cada vez más especializados y robustos.
Sistemas Operativos • Actualmente la tendencia es hacia los sistemas operativos para dispositivos empotrados: ATM, Relojes, PDAs, celulares, electrodomésticos, etc. • Los otros tipos de sistemas operativos que están en boga son los de tiempo real. • Ejemplos de sistemas operativos son: DOS, Windows, Unix, Linux, Mac OS X, entre otros.
5.2 Fundamentos de D.O.S. • DOS (Disk Operating System, Sistema Operativo de Disco) fue el primer sistema operativo para las IBM-PC. • Desarrollado por la compañía Microsoft en 1981 se vendía junto con la computadora personal de IBM, recibiendo IBM las regalías. • Es un sistema operativo compacto con muchas limitaciones actualmente, pero funcional.
DOS • Es un sistema operativo monotarea, multiusuario capaz de ejecutarse a través de un disco flexible (recordar que las primeras PCs no tenían disco duro) • Es un sistema operativo basado en línea de comandos, por lo que el usuario para poder trabajar con la máquina ocupa saber comandos.
DOS • El sistema operativo cuenta con comandos que son reconocidos como válidos los cuales se pueden encontrar en el proceso principal o en utilerías. • Cualquier programa tiene que acceder al sistema operativo para el manejo de los recursos, pero DOS es muy tolerante en el acceso al hardware
DOS • La administración de procesos es simple, dado que sólo existe una tarea activa. • El sistema puede manejar interrupciones y ejecutar otra tarea. • Los procesos pueden ser .com o .exe, donde los primeros sólo ocupan un segmento.
DOS • La memoria está administrada a través de un esquema de segmentación. Cada segmento tiene un tamaño de 64 KB. El sistema operativo sólo puede acceder a 640 KB. • El microprocesador 8086 puede direccionar hata un MB de memoria RAM por lo que queda una zona de memoria alta entre 640 KB y 1 MB llamada memoria alta.
DOS • El sistema no puede acceder a más de 1 MB de RAM, por lo que se encuentra limitado en el número de programas que se mantiene en memoria. • A la memoria entre un 640 KB y 1 MB se le llama memoria expandida, después del 1 MB y superior se le llama memoria extendida. Esta limitante motivo el surgimiento de Windows.
DOS • La administración de Entrada/Salida (Periféricos) es sencilla ya que no hay compartición de los mismos. Cada programa necesita instalar el controlador del dispositivo para que pueda trabajar de forma eficiente. • La administración de archivos se basa en un esquema jerárquico tipo árbol, en donde la raíz corresponda cada letra de una unidad de almacenamiento.
DOS • Los archivos deben tener un nombre máximo de 8 caracteres seguidos de una extensión de máximo tres caracteres. • Las nuevas versiones de DOS permiten nombres de archivos más grande. • Los directorios permiten administrar de forma eficiente los archivos. Los directorios son contenedores de archivos.
DOS • Al encender la computadora, el DOS carga dos archivos fundamentales: autoexec.bat y config.sys • Autoexec.bat es un archivo por lotes que contiene algunos comandos para inicializar el sistema. Config.sys es un archivo que permite cargar dispositivos al sistema y otras configuraciones.
DOS • El sistema de archivos que se maneja es FAT • El sistema operativo es muy pequeño, ya casi no se utiliza y su uso ha estado limitado por el crecimiento de Windows, pero la esencia básica no ha muerto. • La computación ha cambiado radicalmente en los últimos años que DOS ya no es funcional para las necesidades actuales de los usuarios.
5.3 Comandos internos • Son aquellos que se cargan en memoria por lo que no se necesita el disco para poder ejecutarlo. • Se encuentran en el programa command. Com o en nuevas versiones de Windows en cmd.exe • Los comandos internos están presentes en cualquier versión de DOS aunque pueden tener diferencias como en PC-DOS, DR-DOS, FreeDOS, etc.
Comandos internos • Los comandos internos proveen la funcionalidad básica del sistema. • Los comandos externos son aquellos que se encuentran fuera del proceso command.com, necesitan del programa especificado para poder funcionar. En muchas ocasiones se les considera como utilerías.
Comandos internos • Ejemplos de comandos internos son: • DATE: cambia la fecha del sistema operativo, muy útil en sistemas antiguos que no tenían un reloj físico. • El comando HELP muestra la ayuda del sistema, en general permite ver la sintaxis detallada y ejemplo de uso del sistema.
Comandos internos • Si se escribe mal el nombre de un comando, el sistema operativo marca error indicando que no existe el archivo o comando especificado. • Otra forma de obtener ayuda de los coamndos del sistema es a través del parámetro /? • Los parámetros de los comandos se introducen con el carácter “/” seguido de una letra que indica la opción y opcionalmente el valor
Comandos internos • TYPE: permite visualizar un archivo en pantalla. • CHDIR: Muestra la ruta del directorio actual de trabajo. • CLS: limpia pantalla. • Time: permite cambiar la hora del sistema
Comandos internos • VOL: muestra información sobre una unidad de almacenamiento del sistema. • Los archivos .bat son archivos de texto que contienen instrucciones ejecutables (comandos del sistema) que pueden ejecutarse de manera no interactiva. Permiten realizar muchas actividades tediosas del sistema.
Comandos internos • Otros ejemplos de comandos internos: copy, atrib, prompt, set, echo • Ejemplos de comandos externos son: append, asign, backup, chkdsk, comp, diskcomp, discopy, fdisk, find.
5.4 Diferencia entre archivos y directorios • La diferencia fundanmental entre un archivo y un directorio es en cuestión semántica. Los directorios no pueden ser procesados para almacenamiento de datos de programa sólo contienen archivos. • En la estructura jerárquica del sistema de archivos, los directorios son todos aquellos que no se encuentran hasta el final.
Diferencia entre archivos y directorios
• El comando tree permite visualizar en forma jerárquica los directorios y los archivos que contiene cierta ruta. • Aunque básicamente se realizan las mismas operaciones, los comandos son distintos para archivos como directorios.
5.5 Trabajo con directorios 5.5.1 Presentaci贸n de contenido de directorio 5.5.2 Cambio de directorio 5.5.3 Creaci贸n de directorio 5.5.4 Eliminaci贸n de directorio
5.5.1 Presentación de contenido de directorio • Para visualizar el contenido de un directorio se utiliza el comando DIR • DIR permite visualizar el contenido de diversas formas, por ejemplo el parámetro /p hace una pausa al visualizar el archivo. La opción /w los muestra en columnas. La opción /a muestra todos los archivos
Presentación de contenidos de un directorio • En general los directorios aunque estén vacíos presentan dos archivos: el “.”, y el “..”, los cuales hacen referencia al directorio actual y al padre respectivamente. • Se puede distinguir un directorio de un archivo por que los directorios tienen la palabra <dir> y los archivos muestran su tamaño en bytes al desplegar su contenido.
5.5.2 Cambio de directorio • Para cambiar de directorio se ocupa el comando CD. El cual si es un nombre válido podemos visualizar su contenido. • Mientras se este en un directorio, dicho directorio no puede borrase se necesita retroceder una posición actual, esto puede hacerse a través del comando cd ..
5.5.3 Creación de directorio • El comando MD o MKDIR permite crear nuevos directorios. • Al crear un directorio sencillamente se crea un contenedor de archivos, muchos programas utilizan directorios para organizar eficiente la información. • Hasta que se crea un directorio, se pueden subir archivos a él.
5.5.4 Eliminación de directorio • Para borrar un directorio se utiliza la instrucción RMDIR o RD. • El directorio debe estar vacío de lo contrario no se podrá borrar (se pueden utilizar la opción /s para borrar todo el árbol). • Con la combinación de teclas F3 y arriba/abajo se pueden obtener los comandos anteriores o con F1 se obtienen letra por letra el comando
5.6 Cambio de unidades • Las unidades son el punto raíz del sistema de archivo. Una unidad representa generalmente un dispositivo de almacenamiento como una unidad flexible (A: B:), disco duro (C:, D: y otras letras si existen particione su otros discos duros), discos ópticomos como CD, DVD (D:, E:) y otras unidades como Discos ZIP, memorias USB, etc. • Para cambiar de directorio simplemente se pone la unidad seguido de dos puntos.
5.7 Manejo de rutas para archivos • El manejo de rutas es muy importante ya que determinan la ubicación de todos los recursos de la máquina. • Las rutas pueden ser relativas en base a donde se encuentra actualmente el usuario, o absolutas la cual indica la forma de acceder a X recurso desde cualquier parte. • Las rutas absolutas se escriben completas, por ejemplo: c:\datos\archivo.txt
5.8 Nombres de archivos y directorios 5.8.1 Uso de extensiones 5.8.2 Uso de comodines
5.8.1 Uso de extensiones • Las extensiones permiten indicarle a las aplicaciones de que archivos se trata, en la mayoría de los casos son más útiles al usuario que a el sistema operativo • Los comandos se pueden abortar con la combinación de teclas Ctrl+C. La máquina se puede reiniciar con Ctrl+Alt+Supr
5.8.2 Uso de comodines • Los comodines sirven para simplificar el proceso de manejo de archivos y rutas de directorio en el sistema. • Los comodines son expresiones regulares que permiten acotar cadenas de texto • El comodín * puede ser utilizado para sustituir de 0 a n caracteres en el nombre de un archivo.
Uso de comodines • El comodín ? Sustituye un carácter. • Por ejemplo: • DIR f*.doc, muestra todos los archivos cuyo nombre comience con f seguido de cualquier carácter.
5.9 Creación de archivos • Los archivos se crean a través de cualquier aplicación. Por ejemplo, se pueden crear archivos de texto plano con la utilería edit del sistema, crear un programa en C con un compilador como Turbo C, un dibujo en CorelDraw, etc. • Como el manejo de archivos puede ser díficil a través de comandos existen interfaces más agradables como el dosshell o el Peter Norton commander.
5.10 Comando format • Es un comando externo que nos permite darle formato a una unidad o volumen. • Dar formato consiste en preparar un disco para que acepte el sistema de archivos del sistema operativo. • Si no se le da formato a un disco simplemente no se puede guardar la información.
Comando format • Una vez que un disco tiene formato ya no se tiene que volverle a dar formato. • Se pueden asignar diferentes capacidades de formatos así como si se quiere tener un disco de arranque del sistema con el comando sys a: • Se puede utilizar el ratón en sistemas modo texto ocupando un controlador especial.
5.11 Copia de archivos • La copia de archivos se hace a través de copy, se tiene que indicar el archivo o ruta origen y la ruta destino. Se pueden utilizar comodines para simplificar el proceso. • Existen utilerías que simplifican el proceso de copiado como diskcopy, que copia información de un disco a otro.
5.12 Eliminación y cambio de nombre a los archivos
• El comando REN o RENAME permite cambiar el nombre de un archivo. • El comando DEL o DELETE permite borrar un archivo del sistema. • Desde la versión 5.0 de DOS se cuenta con el comando undelete para recuperar archivos eliminados por equivocación.
Procesos por Lotes • D.O.S. permite simplificar procesos agrupando comandos en un archivo con extensión .bat (BATch Files). • Un ejemplo de un archivo de proceso por lotes puede ser el siguiente: CLS DIR
Procesos por Lotes • Se pueden agregar cualquier comando de D.O.S. o programa ejecutable, más las siguientes instrucciones: – REM para comentarios – CALL para mandar llamar otros procesos por lotes – SHIFT para desplazar los argumentos de entrada – IF para instrucciones condicionales – FOR para ciclos – GOTO para cambiar el flujo de programa
Procesos por Lotes • Los archivos .bat estructurada, en incondicionales con anteponiéndole :y Ejemplo, :etiqueta1
no utilizan programación su lugar utilizan saltos goto, las etiquetas se crean un nombre de etiqueta.
• Existen variables especiales en D.O.S. para representar los argumentos que se piden en línea de comando: %1, %2 dependiendo del número de argumentos. %0 indica el nombre del programa.
Procesos por lotes • Un proceso por lotes útil consiste en mover un archivo de una ubicación a otra, dicho comando no existe en D.O.S. de forma nativa pero puede implementarse como sigue: • COPY %1 %2 • DEL %1 • El cual primero copia un archivo de un lugar a otro y luego borra el original.
Procesos por lotes • El comando si se llamara mover.bat desde el prompt de sistema se ejecutaría así: mover archivo1.txt rutanuevaarchivo • Este script la desventaja que presenta es que si los argumentos se dan en forma incorrecta podría borrar el archivo original sin copiarlo en el nuevo destino. Para evitar este problema se ocupa validar los argumentos.
Procesos por lotes • La instrucción IF nos permite validar un conjunto de datos, tiene tres diferentes modos: • IF “%1” == “A” comprueba que dos cadenas sean iguales • IF [NOT] EXISTS comprueba que exista un archivo • IF [NOT] ERRORLEVEL comprueba que no se haya producido algún error.
Procesos por lotes • Si se modifica el archivo por lotes anterior para que valide argumentos quedaría así: REM programa para mover un archivo IF NOT EXIST %1 GOTO error IF NOT EXIST %2 GOTO error COPY %1 %2 DEL %1 ECHO Archivo movido con éxito
Procesos por Lotes • • • • •
GOTO fin :error ECHO. Alguno de los argumentos no existe ECHO. No se pudo mover el archivo :fin
• La instrucción ECHO. Permite omitir visualización del comando al ejecutarse.
la
Procesos por Lotes • La instrucción IF no tiene opción de ELSE por lo que la siguiente instrucción siempre se ejecuta a menos que se haga un salto. • Tampoco existen ciclos como tal, se deben realizar a través de un salto al inicio de las acciones que se quieran repetir. Por ejemplo, si se desea saber cuantos argumentos introdujo el usuario se tendría que hacer un .bat como el siguiente:
Procesos por Lotes @echo off REM Programa para contar el número de argumentos :ciclo IF “%1” == “” GOTO salir ECHO. $1 SHIFT GOTO ciclo :salir
Procesos por Lotes • Una mejor forma de validación en D.O.S es ver si algún programa generó un error. Esto lo comprobamos con IF y la variable %ERROR_LEVEL %. El programa mover validando errores quedaría así: @ECHO OFF COPY %1 %2 IF ERRORLEVEL 1 GOTO error1 DEL %1
Procesos por Lotes IF ERRORLEVEL 1 GOTO error2 ECHO. Archivo movido con ĂŠxito GOTO fin :error1 ECHO. No se pudo copiar el archivo GOTO fin :error2 ECHO. No se pudo borrar el archivo fuente :fin
Bibliografía • Microsoft MS-DOS 5.0. Guía del Usuario (1991). Microsoft Corporation. • Harvey, Greg, Yarborough. Kary. PC/MS-DOS. Referencia Instantánea (1989). Macrobit, México. • Sanders, Donald (1995). Informática Presente y Futuro. México, McGraw Hill.
多Preguntas?