Download Introducción a la ciencia de la computación

Document related concepts
Transcript
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.
• Los archivos con extensión .sys son esenciales
para el sistema operativo.
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 asociado.
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 anterior
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?