Fundamentos de Sistemas Operativos 1. Descripción del sistema operativo Para que un ordenador pueda hacer funcionar un programa informático (a veces conocido como aplicación o software), debe contar con la capacidad necesaria para realizar cierta cantidad de operaciones preparatorias que puedan garantizar el intercambio entre el procesador, la memoria y los recursos físicos (periféricos). El sistema operativo (a veces también citado mediante su forma abreviada OS en inglés) se encarga de crear el vínculo entre los recursos materiales, el y las aplicaciones (procesador de texto, videojuegos, etcétera). Cuando un programa desea acceder a un recurso material, no necesita enviar información específica a los dispositivos periféricos; simplemente envía la información al sistema operativo, el cual la transmite a los periféricos correspondientes a través de su driver (controlador). Si no existe ningún driver, cada programa debe reconocer y tener presente la comunicación con cada tipo de periférico.
De esta forma, el sistema operativo permite la "disociación" de programas y hardware, principalmente para simplificar la gestión de recursos y proporcionar una interfaz de (MMI por sus siglas en inglés) sencilla con el fin de reducir la complejidad del equipo. 2. Funciones del sistema operativo El sistema operativo cumple varias funciones: •
istración del procesador: el sistema operativo istra la distribución del procesador entre los distintos programas por medio de un algoritmo de programación. El tipo de programador depende completamente del sistema operativo, según el objetivo deseado.
•
•
•
•
•
•
Gestión de la memoria de aleatorio: el sistema operativo se encarga de gestionar el espacio de memoria asignado para cada aplicación y para cada , si resulta pertinente. Cuando la memoria física es insuficiente, el sistema operativo puede crear una zona de memoria en el disco duro, denominada "memoria virtual". La memoria virtual permite ejecutar aplicaciones que requieren una memoria superior a la memoria RAM disponible en el sistema. Sin embargo, esta memoria es mucho más lenta. Gestión de entradas/salidas: el sistema operativo permite unificar y controlar el de los programas a los recursos materiales a través de los drivers (también conocidos como es periféricos o de entrada/salida). Gestión de ejecución de aplicaciones: el sistema operativo se encarga de que las aplicaciones se ejecuten sin problemas asignándoles los recursos que éstas necesitan para funcionar. Esto significa que si una aplicación no responde correctamente puede "sucumbir". istración de autorizaciones: el sistema operativo se encarga de la seguridad en relación con la ejecución de programas garantizando que los recursos sean utilizados sólo por programas y s que posean las autorizaciones correspondientes. Gestión de archivos: el sistema operativo gestiona la lectura y escritura en el sistema de archivos, y las autorizaciones de a archivos de aplicaciones y s. Gestión de la información: el sistema operativo proporciona cierta cantidad de indicadores que pueden utilizarse para diagnosticar el funcionamiento correcto del equipo.
3. Componentes del sistema operativo El sistema operativo está compuesto por un conjunto de paquetes de software que pueden utilizarse para gestionar las interacciones con el hardware. Estos elementos se incluyen por lo general en este conjunto de software: •
•
•
El núcleo, que representa las funciones básicas del sistema operativo, como por ejemplo, la gestión de la memoria, de los procesos, de los archivos, de las entradas/salidas principales y de las funciones de comunicación. El intérprete de comandos, que posibilita la comunicación con el sistema operativo a través de un lenguaje de control, permitiendo al controlar los periféricos sin conocer las características del hardware utilizado, la gestión de las direcciones físicas, etcétera. El sistema de archivos, que permite que los archivos se registren en una estructura arbórea.
4. Clasificación según su modo de Operación 4.1 Sistemas de multiprocesos Un sistema operativo se denomina de multiprocesos cuando muchas "tareas" (también conocidas como procesos) se pueden ejecutar al mismo tiempo. Las aplicaciones consisten en una secuencia de instrucciones llamadas "procesos". Estos procesos permanecen activos, en espera, suspendidos, o se eliminan en forma alternativa, según la prioridad que se les haya concedido, o se pueden ejecutar en forma simultánea. Un sistema se considera preventivo cuando cuenta con un programador (también llamado planificador) el cual, según los criterios de prioridad, asigna el tiempo de los equipos entre varios procesos que lo solicitan. Se denomina sistema de tiempo compartido a un sistema cuando el programador asigna una cantidad determinada de tiempo a cada proceso. Éste es el caso de los sistemas de s múltiples que permiten a varios s utilizar aplicaciones diferentes o similares en el mismo equipo al mismo tiempo. De este modo, el sistema se denomina "sistema transaccional". Para realizar esto, el sistema asigna un período de tiempo a cada . 4.2 Sistemas de multiprocesadores La técnica de multiprocesamiento consiste en hacer funcionar varios procesadores en forma paralela para obtener un poder de cálculo mayor que el obtenido al usar un procesador de alta tecnología o al aumentar la disponibilidad del sistema (en el caso de fallas del procesador). Las siglas SMP (multiprocesamiento simétrico o multiprocesador simétrico) hacen referencia a la arquitectura en la que todos los procesadores acceden a la misma memoria compartida. Un sistema de multiprocesadores debe tener capacidad para gestionar la repartición de memoria entre varios procesadores, pero también debe distribuir la carga de trabajo. 4.3 Sistemas fijos Los sistemas fijos son sistemas operativos diseñados para funcionar en equipos pequeños, como los PDA (asistentes personales digitales) o los dispositivos electrónicos autónomos (sondas espaciales, robots,
vehículos con ordenador de a bordo, etcétera) con autonomía reducida. En consecuencia, una característica esencial de los sistemas fijos es su avanzada istración de energía y su capacidad de funcionar con recursos limitados. Los principales sistemas fijos de "uso general" para PDA son los siguientes: • •
PalmOS Windows CE / Windows Mobile / Window Smartphone
4.4 Sistemas de tiempo real Los sistemas de tiempo real se utilizan principalmente en la industria y son sistemas diseñados para funcionar en entornos con limitaciones de tiempo. Un sistema de tiempo real debe tener capacidad para operar en forma fiable según limitaciones de tiempo específicas; en otras palabras, debe tener capacidad para procesar adecuadamente la información recibida a intervalos definidos claramente (regulares o de otro tipo). Estos son algunos ejemplos de sistemas operativos de tiempo real: • • • •
OS-9; RTLinux (RealTime Linux); QNX; VxWorks.
5. Tipos de sistemas operativos Existen varios tipos de sistemas operativos, definidos según su capacidad para istrar simultáneamente información de 16 bits, 32 bits, 64 bits o más. Sistema
Programación
DOS
16 bits
único X
Windows3.1
16/32 bits
X
Windows95/98/Me WindowsNT/2000 WindowsXP Unix / Linux MAC/OS X VMS
32 bits 32 bits 32/64 bits 32/64 bits 32 bits 32 bits
X
múltiple
X X X X X
Tarea única X
Multitarea no preventivo cooperativo preventivo preventivo preventivo preventivo preventivo
6. Archivos Un archivo es un conjunto de información binaria; es decir, un conjunto que va de 0 a 1. Este archivo puede almacenarse para mantener un registro de esta información. Un archivo de texto es un archivo que contiene caracteres almacenados en forma de octetos (o bytes). Este archivo se guarda en el disco duro con la forma: "name_of_file.ext" (nombre_del_archivo.ext). ".ext" representa la extensión, la cual constituye una manera de reconocer el tipo de programa que se necesita para abrir el archivo (nota: esto no ofrece garantías respecto del tipo de archivo, ya que cuando se modifica la extensión, el tipo de archivo no cambia). El largo del nombre y de la extensión puede variar según el sistema operativo: • • •
8 caracteres para el nombre y 3 para la extensión en DOS y Windows 3.1. 256 caracteres para el nombre y la extensión en Windows 95, 98 y NT. 256 en sistemas UNIX.
En consecuencia, en DOS o en Windows 3.1, un archivo de Windows 9x tendrá un nombre acortado compuesto por los primeros 6 caracteres del nombre seguidos de ~x, donde x representa una cifra que aumentará cada vez que un archivo lleve el mismo nombre. Esto significa que si un archivo con el nombre "archivo~1" ya existe, el siguiente llevará el nombre "archivo~2". Además el archivo tiene un encabezado en el que se almacena información adicional, como el tipo y, en especial, el tamaño. También contiene un carácter al final del archivo que indica que la información que sigue a dicho carácter no pertenece al mismo archivo. Tal vez usted se pregunte qué sentido tiene incluir el tamaño del archivo en el encabezado cuando ya se conoce este dato A continuación se muestran dos ejemplos que justifican este fenómeno Archivos corruptos Es muy común que al descargar un archivo de Internet, el navegador se congele o el servidor que aloja al archivo interrumpa toda comunicación. Si se trata de un archivo de texto, sólo se perderá el final del texto,
pero si el archivo es binario (por ejemplo, un programa ejecutable) ejecutarlo puede ser peligroso, ya que faltará información. Por tanto, el sistema operativo compara el tamaño real con el tamaño que aparece en el encabezado para verificar la autenticidad del archivo. Generalmente, se denomina a esto integridad. En realidad, esta verificación se realiza por medio del uso de un algoritmo más eficaz llamado CRC (verificación de redundancia cíclica). Infección de virus Cuando un archivo se infecta con un virus, éste último agrega líneas de códigos. En consecuencia, la información sobre el tamaño del archivo incluida en el encabezado dejará de ser precisa (a menos que el virus se haya programado para modificar el encabezado) en cuyo caso podrá ser identificada. 7. Directorio Un directorio (también conocido como carpeta) es un elemento de informática que puede contener archivos. Es cómo un gran armario que contiene cajones en los que se guardan archivos u otros cajones. De hecho, un directorio puede contener: • •
archivos otros directorios
Relaciones relativas Tomando como referencia el ejemplo anterior, el armario sería la entidad más grande que contiene otras entidades, por lo tanto: no puede guardarse dentro de un cajón. En lenguaje informático, esta entidad se conoce como el directorio raíz (a veces llamado simplemente "raíz"): es la entidad de nivel más bajo, ya que puede contener archivos o directorios pero no puede hallarse ésta misma dentro de un directorio. Se designa con un "\" (en el entorno Windows) o con "/" (en el entorno UNIX/Linux). Existe sólo una raíz en el sistema UNIX y una para cada partición en Microsoft Windows. Un directorio que contiene otro directorio se denomina "directorio principal". Cuando se pasa de un directorio a un directorio principal, el último se designa con "..." en la mayoría de los sistemas (se debe escribir "cd..." en DOS o UNIX para acceder a un directorio principal).
Así es como se organiza un sistema de directorios en Windows 95:
En este ejemplo, el directorio2 es superior al directorio20 y al directorio 21. "Directorio2" se designará "..." en relación con "directorio20" La raíz (d:\) en relación con el "directorio20" se designará "..\..", ya que están separados entre sí por dos relaciones. El concepto de ruta La ruta es la sucesión de directorios que comienza en la raíz y va hasta el archivo solicitado. En sistemas Windows, una ruta se escribirá así: x:\directorio1\directorio2\, mientras que en un sistema Unix se escribirá /directorio1/directorio2/. 8. Formatos y extensiones de archivos Comentario: La siguiente lista de extensiones pueden tener programas propuestos para necesariamente los únicos o los
no es exhaustiva y algunos nombres varias funciones. En cuanto a los utilizar estos archivos, no son más adecuados.
Extensión Descripción 3ds ace
aif
aiff
aifc ani
Archivos de Autodesk 3d Studio 4
Programas asociados Studio 3d max a partir de la versión 3
Los archivos con extensión .ace son archivos Programas comprimidos. Para abrirlos se debe utilizar un descompresión programa de descompresión de archivos. Los archivos con extensión .aif, .aiff y .aifc son Reproductor clips de audio y se pueden reproducir con un multimedia reproductor multimedia. Los archivos con extensión .aif, .aiff y .aifc son Reproductor clips de audio y se pueden reproducir con un multimedia reproductor multimedia. Los archivos con extensión .aif, .aiff y .aifc son Reproductor clips de audio y se pueden reproducir con un multimedia reproductor multimedia. Los archivos con extensión .ani son cursores animados y se pueden utilizar como punteros para
de
arc
arj
el ratón. Los archivos con extensión .arc son archivos Programa de comprimidos. Para crearlos o abrirlos se debe descompresión utilizar un programa de descompresión de archivos. Los archivos con extensión .arj son archivos comprimidos que requieren un programa de descompresión, como arj.exe. La sintaxis para descomprimir este tipo de archivo en una línea de comandos es: arj x nombre_del_archivo_que se_descomprimirá.arj destino -va –r quickzip, WinArj El atributo -va indica que los archivos en varios volúmenes se procesarán automáticamente El atributo -r indica que la estructura de árbol se reconstruirá. La sintaxis para comprimir un archivo con ARJ es: arj un nombre_de_archivo.arj nombre_del_archivo_que se_descomprimirá -va -r
asp
avi
bak
bmp
bat
bin
c cab
Navegador para el Páginas del servidor activo (ASP) de Microsoft. cliente, servidor web Éstas son páginas web dinámicas generadas en el (Microsoft IIS) para servidor web. interpretarlas. Video clip; se puede reproducir por medio de un Reproductor reproductor multimedia. multimedia Archivo de copia de seguridad creado por un programa como medida de precaución. Este tipo de archivo no es esencial; se puede eliminar, aunque se recomienda conservarlo como copia de seguridad. Formato de imagen en mapa de bits. Se puede ver con casi cualquier programa de visualización de imágenes. Archivo por lotes. Se trata de archivos de texto que contienen una sucesión de comandos de MSDOS ejecutados en forma encadenada. El siguiente archivo por lotes debe ir en el Editor de texto directorio "c:/" y edita el archivo "config.sys". c: cd \edit config.sys Archivo que contiene información en lenguaje binario El programa CDR-WIN y algunos programas de software de grabación de CD utilizan esta extensión para las imágenes de CD. Archivo de origen de lenguaje C; contienen el programa en caracteres legibles. Estos archivos Editor de texto luego se compilan para ser ejecutados. Los archivos con extensión .cab son archivos CabView comprimidos. Es un formato empleado por Microsoft para comprimir aplicaciones. Se pueden descomprimir con aplicaciones de descompresión
recientes o con la utilidad CabView que viene incluida en el paquete Tweak UI. cda cdf cdr cfm cgi cgm chk class com e l
Archivos para CD de audio
Reproductor multimedia que reproduzca CD
Dibujo de Corel Draw Archivos ColdFusion. Se trata de páginas web dinámicas Secuencia de comandos de interfaz de pasarela común (Common Gateway Interface Script) Imagen vectorizada Clúster recuperado por medio de scandisk (o chkdsk en DOS) Applet de Java Archivo ejecutable. Precaución: esta extensión puede ocultar un virus. Es una portada de fax Módulo de de control (debe colocarse en "c:\windows\system" para que aparezca en el de control) Bloc de edit.exe
notas,
p
Archivo de origen C++
css cue cur
Hoja de estilo Archivo de imagen CDR-WIN CDR-Win Puntero del ratón .dat y system.dat son archivos esenciales que se encuentran en el registro Dispositivo independiente; formato de archivo de visro dvi texto compilado dBase III+, MonTableur, Clarisworks, DBF - Archivo de base de datos/base de datos de Paradox5, FoxPro consultas Database, Psion, Aston-Tate, dBASE, dBFast, DataBoss Imagen de mapa de bits reproductor de Archivo vacío comprimido en divx video+ códec adecuado Archivo que contiene información en modo textual Archivo de sistema Archivo de documento (Microsoft Word o Microsoft Word, Wordpad) OpenOffice Archivo para el sistema MS-DOS Plantilla de documento de Word Microsoft Word Driver Dibujo de Micrografx Draw o Designer Archivo de AutoCAD Autodesk AutoCAD Archivo de AutoCAD Autodesk en formato "de intercambio de dibujos de autodesk".
dat dvit
dbf
dib divx diz dll doc dos dot drv drw dwg dxf
ecd eps eqn exe fif flc fli fon for fot gif grp gz h hlp htm html icc ico icm idf iff iges ilbm inf ini jar jav java jpeg jpg lha lbm lib lnk log lzh m m3u max mid mkv mod
Archivo de Easy CD Easy CD Imagen de PostScript (PostScript encapsulado) Ecuación de WordPerfect Archivo ejecutable. Precaución: esta extensión puede ocultar un virus. Imagen fractal Animación de Autodesk Animator Animación de Autodesk Animator Fuente de caracteres Archivo de origen FORTRAN Fuente True Type Imagen de formato de intercambio de gráficos Grupos de aplicaciones para Windows Archivo comprimido con Gzip winzip, quick zip Archivo de encabezado de archivo .C Archivo de ayuda Archivo de hipertexto de Internet Archivo de hipertexto de Internet Perfil colorimétrico operado por los sistemas de gestión de colores Icono Perfil colorimétrico operado por los sistemas de gestión de colores Archivo de música en formato MIDI Imagen de Deluxe Paint Imagen de formato de especificaciones iniciales para intercambio de gráficos Imagen Archivo de información (específicamente para la descripción de material) Archivo de configuración Archivo de contención de Java. Archivo de implementación en servidores web de aplicación. Archivo de origen de Java Archivo de origen de Java Imagen en formato JPEG Imagen en formato JPEG Archivo comprimido Imagen de Deluxe Paint Biblioteca de datos para la programación de lenguajes directo a un documento Registro de eventos Archivo comprimido Winzip Fuente de Matlab Matlab Música Winamp Archivo 3D Archivo de audio en formato MIDI Winamp Archivo de Matroska Video. Se puede reproducir con un reproductor de video una vez instalados los Matroska.org códecs correspondientes Archivo de audio (módulo) Winamp
mov mp2 mp3 mpg
msi
n64 nfo nrg ocx old p pcd pct pcx pdf php
php3 pic pif pl pls png ppj pps
ppt prj ps psd psp pub pwl qt ra ram rar
Archivo de video de QuickTime Apple QuickTime Archivo de audio Mpeg Winamp Archivo de audio MP3 (MPEG-1 Layer 3) Winamp Película de video MPEG (grupo de expertos en imagen en movimiento) Instalador de Microsoft (Windows Paquete de instalación de Microsoft 9x), Instalador de Microsoft (Windows NT) ROM de Nintendo 64 Archivo de información Archivo de imagen de CD (imagen ISO) Nero Burning ROM Verificación OLE personalizada Copia de seguridad (normalmente se puede eliminar) Archivo de origen Pascal Imagen de Kodak PhotoCD Imagen de Macintosh PICT Imagen de mapa de bits Adobe Acrobat Archivo de Adobe Acrobat Reader Procesador de hipertexto PHP, versión 4 (PHP4). Cualquier navegador Son páginas web dinámicas generadas en el o servidor web que servidor. ita PHP Cualquier navegador Procesador de hipertexto PHP. Son páginas web o servidor web que dinámicas generadas en el servidor. ita PHP Imagen de Macintosh PICT Archivo de configuración de aplicaciones DOS en Windows 3.1, 95, o 98. Precaución: esta extensión puede ocultar un virus. Archivo fuente de Perl Lista de reproducción Winamp Imagen PNG (gráficos portátiles de red) Archivo de proyecto Adobe Premiere Microsoft PowerPoint, Archivo de PowerPoint Microsoft PowerPoint Viewer Microsoft PowerPoint, Archivo de PowerPoint Microsoft PowerPoint Viewer Proyecto de 3D Studio Autodesk o Turbo C 3D Studio Archivo en formato PostScript GhostScript Viewer Imagen de Adobe Photoshop Adobe Photoshop imagen de Paint Shop Pro Archivo de Microsoft Publisher Microsoft Publisher Lista de contraseñas Archivo de QuickTime QuickTime Archivo en formato Real Audio RealAudio Archivo en formato Real Audio RealAudio rar.exe, unrar.exe, Archivo comprimido WinRAR
reg rtf scr snd sql sys swf
swp tar tga tgz theme tif tiff tmp torrent ttf txt url uu uue vbs vivo voc vtc vue vxd wav wiz wmf wmv wpg wri xi xls xm xmi
Archivo de datos en el registro (se instala en Windows 95 haciendo clic con el botón derecho en el ratón y luego en instalar). Formato de texto enriquecido Protector de pantalla. Precaución: esta extensión es un ejecutable y puede ocultar un virus. Archivo de audio Winamp Lenguaje SQL Archivo de sistema Explorador que Archivo multimedia de Macromedia Shockwave contiene un Flash complemento de Flash Archivo de intercambio (SWAP; proporciona una simulación de memoria en el disco cuando no la memoria RAM no es suficiente) untar.exe, comando Archivo comprimido tar de UNIX Imagen de Targa Archivo Tar comprimido por medio de Gzip Archivo de tema para Microsoft Plus! o para Microsoft XP Imagen Imagen Archivo temporal Archivo de BitTorrent Cliente de BitTorrent Fuente True Type Documento de texto directo a Internet Archivo ASCII codificado con UUENCODE Archivo ASCII codificado con UUENCODE Archivo de VBScript. Precaución: esta extensión puede ocultar un virus. Video comprimido Archivo de audio SoudForge Archivo que contiene preferencias para un archivo Virtual Turn Tables de audio. Animación 3D Studio Driver de 32-bit en modo de protección Archivo de audio Winamp Asistente Imagen vectorizada (Windows Metalife) Media Player Classic, Windows Media Video, archivo de video de alta Windows Media definición Player, VLC,... Imagen Archivo de texto Write Archivo de instrumento Archivo de Microsoft Excel Microsoft Excel Archivo de música Formato de importación de archivo de modelado
UML
zip
Archivo comprimido
zoo
Archivo comprimido
gzip.exe, pkunzip.exe, pkzip.exe, Winzip, PowerArchiver, 7Zip, etcétera.
9. Extensión tipo MIME El tipo MIME (extensiones multipropósito de correo en Internet) es un estándar propuesto por los laboratorios Bell Communications en 1991 para ampliar las posibilidades del correo electrónico al incluir la posibilidad de insertar documentos (imágenes, sonidos y texto) en un mensaje. Desde entonces, el tipo MIME se usa para dar formato tanto los documentos adjuntos en un mensaje como a los documentos transferidos a través del protocolo HTTP. Así, durante una transacción entre un servidor web y un explorador de Internet, el servidor web envía en primer lugar el tipo MIME del archivo enviado al explorador para que éste sepa cómo se mostrará el documento. Un tipo MIME está compuesto de la siguiente manera: Content-type: tipo_mime_principal/subtipo_mime Por ejemplo, una imagen GIF tiene el siguiente tipo MIME: Content-type: image/gif Lista de tipos MIME Tipos MIME application/acad application/clariscad
Tipo de archivo Archivos de AutoCAD Archivos de ClarisCAD Archivos de bosquejo preliminar de application/drafting MATRA application/dxf Archivos de AutoCAD application/i-deas Archivos de SDRC I-deas application/iges Formato de intercambio CAO IGES application/octet-stream Archivos binarios no interpretados application/oda Archivos ODA application/pdf Archivos Adobe Acrobat application/postscript Archivos PostScript application/pro_eng Archivos de ProEngineer application/rtf Formato de texto enriquecido application/set Archivos CAO SET application/sla Archivos de estereolitografía application/solids Archivos solids de MATRA
Extensión asociada dwg ccad drw dxf unv igs, iges bin oda pdf ai, eps, ps prt rtf set stl dwg
application/step application/vda application/x-mif
Archivos de datos STEP Archivos de superficie Archivos de Framemaker Secuencia de comandos C-Shell application/x-csh (UNIX) application/x-dvi Archivos de texto dvi application/hdf Archivos de datos application/x-latex Archivos de LaTEX application/x-netcdf Archivos de NetCDF Secuencia de comandos Bourne application/x-sh Shell application/x-tcl Secuencia de comandos Tcl application/x-tex Archivos tex application/x-texinfo Archivos eMacs application/x-troff Archivos Troff application/x-troff-man Archivos Troff/macro man application/x-troff-me Archivos Troff/macro ME application/x-troff-ms Archivos Troff/macro MS application/x-wais-source Fuente Wais application/x-bio IO binario application/x-io IO Posix application/x-gtar Tar GNU application/x-shar Archivos Shell application/x-sv4io IO SVR4n application/x-sv4crc IO SVR4n con CRC application/x-tar Archivos tar comprimidos application/x-ustar Archivos tar Posix comprimidos application/zip Archivos ZIP comprimidos audio/basic Archivos de audio básicos audio/x-aiff Archivos de audio AIFF audio/x-wav Archivos de audio Wave image/gif Imágenes Gif Imágenes con formato de image/ief intercambio image/jpeg Imágenes jpeg image/tiff Imágenes tiff image/x-cmu-raster Ráster cmu image/x-portableArchivos Anymap PBM anymap image/x-portable-bitmap Archivos de mapa de bits PBM image/x-portableArchivos Graymap PBM graymap image/x-portable-pixmap Archivos Pixmap PBM image/x-rgb Imágenes RGB image/x-xbitmap Imágenes X Bitmap image/x-xpixmap Imágenes X Pixmap image/x-xwindowdump Imágenes de volcado X Window multipart/x-zip Archivos Zip almacenados multipart/x-gzip Archivos Zip GNU almacenados text/html Archivos HTML text/plain Archivos de texto sin formato
step vda mif dwg dvi hdf latex nc, cdf dwg tcl tex texinfo, texi t, tr, troff man me ms src bio io gtar shar sv4io sc4crc tar man man au, snd aif, aiff, aifc wav man ief jpg, jpeg, jpe tiff, tif cmu pnm pbm pgm ppm rgb xbm xpm man zip gz, gzip htm, html txt, g, h, c, cc, hh, m,
f90 Archivos de texto enriquecido rtx Archivos de texto con separación de text/tab-separated-value tsv valores text/x-setext Archivos de texto struct etx video/mpeg Video MPEG mpeg, mpg, mpe video/quicktime Videos de QuickTime qt, mov video/msvideo Videos de Microsoft Windows avi video/x-sgi-movie Videos de MoviePlayer movie text/richtext
10. Gestión de memoria La memoria física de un sistema se divide en dos categorías: • •
memoria de aleatorio: comprende circuitos integrados y es, en consecuencia, muy veloz. memoria de almacenamiento masivo: comprende dispositivos magnéticos (disco duro, cintas magnéticas, etcétera) y es mucho más lenta.
La memoria física consiste en un área de almacenamiento temporal para los programas y los datos que se usan. A grandes rasgos, mientras más grande sea el espacio de memoria, más aplicaciones se podrán ejecutar al mismo tiempo. Además, mientras más rápida sea la memoria, más rápida será la reacción del sistema. Por eso, el sistema operativo debe estar organizado de manera lo suficientemente eficiente como para obtener el mejor rendimiento posible. Gestión de memoria La gestión de memoria representa un vínculo delicado entre el rendimiento (tiempo de ) y la cantidad (espacio disponible). Siempre se busca obtener el mayor espacio disponible en la memoria, pero pocas veces existe la predisposición para comprometer el rendimiento. La gestión de memoria también debe realizar las siguientes funciones: • • •
permitir que la memoria se comparta (en sistemas de multiprocesos). asignar bloques de espacio de memoria a distintas tareas; proteger los espacios de memoria utilizados (por ejemplo, evitar que un modifique una tarea realizada por otro ).
•
optimizar la cantidad de memoria disponible, específicamente a través de sistemas de expansión de memoria.
Expansión de memoria Existen dos formas posibles de expandir la memoria: •
•
Dividiendo un programa de modo que una parte permanezca en la memoria de aleatorio y que una parte se cargue en la memoria cuando se necesite acceder a los datos. Utilizando un mecanismo de memoria virtual que consiste en utilizar el disco duro como memoria principal y almacenar solamente las instrucciones y los datos utilizados por el procesador en la memoria RAM. El sistema operativo realiza esta operación creando un archivo temporal (conocido como SWAP o "archivo de intercambio") en el que se almacena la información cuando la memoria RAM ya no es suficiente. Esta operación produce una disminución considerable en el rendimiento, dado que se puede acceder al disco duro mucho más rápido que a la memoria RAM. Es normal que al utilizar la memoria virtual el LED del disco duro permanezca encendido casi constantemente y, en el caso del sistema Microsoft Windows, es común que aparezca un archivo "win386.swp", de gran tamaño en proporción a las necesidades de la memoria de aleatorio.
Los mecanismos de distribución de memoria La memoria central se puede distribuir de tres maneras: • • •
segmentación: los programas se dividen en paquetes de longitudes variadas conocidos como "segmentos". paginación: consiste en dividir la memoria en bloques y los programas en páginas de longitud fija. una combinación de segmentación y paginación: algunas partes de la memoria se segmentan y otras se paginan.
11. Variables del entorno Una variable del entorno es un valor dinámico cargado en la memoria, que puede ser utilizado por varios procesos que funcionan simultáneamente. En la mayoría de los sistemas operativos, la ubicación de algunas bibliotecas o de los archivos ejecutables del sistema más importantes puede variar según la instalación. Por eso es posible, para un programa dado, remitirse a una ubicación basada en las variables del entorno que definen estos datos.
En Windows En Windows, las variables del entorno se ubican entre los caracteres "%". De esta forma, para mostrar el valor de una variable del entorno sólo se debe escribir el siguiente tipo de comando: echo %NAME_OF_THE_VARIABLE% A continuación se proporciona una lista incompleta de las principales variables del entorno en un sistema Windows: Variable del entorno
%APPDATA%
%CMDCMDLINE%
%COMPUTERNAME% %DATE% %ERRORLEVEL% %HOMEDRIVE%
%HOMEDRIVE%
%HOMEPATH%
%NUMBER_OF_PROCESSOR%
%OS%
%PATH%
Descripción Muestra una ruta de al directorio predeterminado que contiene los programas del (por defecto: C:\Program Files\. Muestra el comando exacto empleado para acceder al intérprete de comandos (cmd.exe). Muestra el nombre dado a un equipo. Muestra la fecha actual. Contiene el código del error del último comando utilizado. Contiene la letra de la unidad en la que está ubicado el directorio actual del . Contiene la letra de la unidad en la que está ubicado el directorio actual del . Contiene la ruta de completa al directorio actual del . Contiene la cantidad de procesadores presentes en el sistema. Contiene una cadena de caracteres que describen el sistema operativo instalado. Se debe tener en cuenta que Windows 2000 se identifica como WINDOWS_NT. Especifica la ruta de a los archivos ejecutables más
importantes del sistema. Describe las extensiones que el %PATHEXT% sistema considera ejecutables. Describe la arquitectura del procesador (x86 para equipos %PROCESSOR_ARCHITECTURE% Intel, IA64 para arquitecturas RISC). Muestra un número entero entre %RANDOM% 0 y 32167 elegido al azar por el sistema. Contiene la letra de la unidad en %SYSTEMDRIVE% la que se ubica el sistema (por lo general C:). Contiene la ruta de al %SYSTEMROOT% directorio raíz del sistema. Contiene la ruta de al %TEMP% directorio temporal para las aplicaciones. Contiene la ruta de al %TMP% directorio temporal para las aplicaciones. %TIME% Muestra la fecha del día. Contiene el dominio al que %DOMAIN% pertenece la cuenta actual. Contiene el nombre de %NAME% que corresponde a la cuenta actual. Contiene la ubicación del perfil %PROFILE% de de la cuenta actual. Contiene la ruta de al directorio del sistema %WINDIR% (generalmente C:\WINDOWS o C:\WINNT). En Windows, el comando set permite crear, modificar y mostrar las variables del entorno. Sin embargo, los cambios se efectúan sólo en la sesión en progreso. Para que se muestre una variable se utiliza el siguiente comando: set VariableName Para crear una variable se utiliza este comando: set VariableName=value
Para eliminar una variable se utiliza este comando: set VariableName= Se puede utilizar cualquier carácter como valor, incluso espacios. No obstante, para poder utilizar caracteres especiales (<, >, |, & o ^), simplemente se debe introducir el carácter escape (^) delante de éstos o comillas a su alrededor, con lo que formarán parte del valor debido a que se tomarán en cuenta todos los caracteres después del signo =. Por ejemplo, para definir "negroyblanco" como valor: set colour=black^&white o set varname="new&name" En UNIX En sistemas UNIX, las variables del entorno están precedidas por el carácter "$" y se ubican entre corchetes, aunque éstos no son obligatorios. Debido a la variedad en los sistemas UNIX (particularmente a las diferentes distribuciones Linux), para que se muestre el valor de una variable del entorno sólo se debe escribir uno de los siguientes comandos: echo $VARIABLE echo ${VARIABLE} A continuación se proporciona una lista incompleta de las principales variables del entorno en un sistema UNIX: Variable entorno $ARCH $DISPLAY $HOME $HOST $LANG $PATH $PRINTER $SHELL $
del
Descripción Contiene la descripción de la arquitectura del equipo. Contiene la identificación de la terminal de visualización que se utilizará en el de ventanas (x11). Muestra la ruta de al directorio actual del . Muestra el nombre del equipo. Muestra el código del idioma predeterminado. Muestra una lista de rutas de a los directorios que contienen archivos ejecutables, separadas por punto y coma. Contiene el nombre de la impresora predeterminada. Indica la ruta del intérprete de comandos utilizado. Muestra la identificación del actual.