SISTEMAS OPERATIVOS Índice ¿Qué es un Sistema Operativo? Diferentes Sistemas Operativos Gestión de archivos, carpetas y discos Archivos Directorios o carpetas Archivos y carpetas ocultos Los permisos de archivos y directorios Compresión de archivos y carpetas Discos La línea de comandos 2 Sistemas Operativos ¿Qué es un Sistema Operativo? En los ordenadores se pueden distinguir dos partes: Una parte física o hardware, formada por los circuitos electrónicos y los dispositivos electromecánicos y ópticos (el teclado, la torre, el monitor, etc.). Una parte lógica o software, constituida por los programas utilizados de forma intencionada o no (procesador de textos, navegador de internet, etc.). De todos ellos, el más importante es el sistema operativo. El sistema operativo puede representarse como una capa situada entre los programas y el hardware del ordenador. El usuario, en general, solo trabaja con las aplicaciones (procesadores de texto, hojas de cálculo, etc.). No obstante, a veces es necesario manejar ciertas utilidades que proporciona directamente el sistema operativo. Un ejemplo es la creación, modificación y borrado de ficheros y carpetas. Los sistemas operativos deben reunir tres cualidades: Comodidad, proporcionando un entorno amable para el usuario. Eficiencia, permitiendo un óptimo aprovechamiento de los recursos del ordenador. Capacidad de evolución, facilitando su actualización para resolver las necesidades futuras, sin interferir en los servicios prestados en el presente. Conjugar estas propiedades supone un reto técnico que se concreta en la gestión de diversas tareas. Los sistemas operativos han evolucionado asumiendo un mayor número de tareas realizadas. 3 Sistemas Operativos Diferentes Sistemas Operativos Uno de los sistemas operativos más extendidos en los ordenadores personales es Windows, en cualquiera de sus múltiples versiones. Sin embargo, existen otros sistemas operativos disponibles. La siguiente tabla muestra los anagramas de algunos de ellos. 4 Sistemas Operativos Gestión de archivos, carpetas y discos Archivos: El sistema operativo debe gestionar los archivos que contienen datos del usuario, de las aplicaciones y del propio sistema operativo. Aunque suele pensarse en un archivo como en una entidad única, en realidad consiste en una agrupación de bloques de datos denominados registros, que a su vez están divididos en campos. Un campo es el elemento de datos básico, que contiene un único valor (por ejemplo, un nombre en ASCII o un número de teléfono expresado como número decimal). Un registro es un conjunto de campos relacionados entre sí. Pueden tratarse como una única entidad. Por ejemplo, un registro llamado amigo podría contener los campos nombre, apellidos, e-mail y teléfono. Las acciones básicas que debe soportar un sistema operativo se concretan en operaciones de creación, lectura, escritura, borrado y, en su caso, ejecución. Para ello cada sistema operativo consta de un sistema de gestión de archivos, que garantiza que los datos contenidos sean válidos, optimiza el tiempo de acceso del usuario al archivo y gestiona el proceso de entrada y salida de los datos desde, o hacia, los medios físicos de almacenamiento. Para un usuario, un archivo se identifica mediante un nombre simbólico que consta de nombre y extensión, que identifica el tipo de archivo manejado. En la tabla se recogen algunas de las extensiones más habituales. Internamente el sistema operativo trabaja con un identificador del archivo, de modo que es necesario realizar un proceso de traducción del nombre que maneja el usuario al identificador con el que trabaja el sistema operativo. 5 Sistemas Operativos Directorios o carpetas Un elemento básico del sistema de gestión de archivos es el directorio (o carpeta, en entornos gráficos), usado para agrupar archivos de temática común. En realidad, el directorio o carpeta es un archivo que guarda información acerca de los archivos contenidos. Entre la información que contiene un directorio cabe destacar: El nombre del archivo, elegido por el usuario. El tipo de archivo, que depende del formato de la información que contiene (texto, imagen, audio, etc.). El volumen, que indica el dispositivo donde se almacena el archivo. La dirección de comienzo o dirección física de inicio del archivo en la memoria secundaria (por ejemplo: cilindro, pista y número de bloque del disco duro). El tamaño usado o tamaño real del archivo en bytes. El propietario o usuario que tiene el control sobre el archivo. Los permisos. Son las acciones permitidas sobre cada archivo, como la lectura, escritura y ejecución. La fecha de creación. Es el momento en que se incorpora el archivo al directorio. La fecha de la última lectura. Es el instante de la última lectura de un registro del archivo. La fecha de la última modificación. Es el momento de la última actualización, inserción o borrado de datos en el archivo. Esta información varía entre los distintos sistemas de archivos aunque, en general, suele basarse en un sistema jerárquico estructurado en árbol. De ese modo, existe un directorio maestro que contiene un número variable de directorios de usuario. Estos pueden, a su vez, contener subdirectorios y archivos. En entornos gráficos esta organización se traduce en una serie de carpetas que contienen subcarpetas o archivos individuales. 6 Sistemas Operativos Archivos y carpetas ocultos Un tipo relevante de archivos y carpetas es el que se denomina oculto. Normalmente son elementos que conforman el propio sistema operativo y que se ocultan para evitar que usuarios inexpertos o malintencionados puedan eliminar algún archivo esencial para su correcto funcionamiento. Tanto en Windows como en Linux es posible ocultar o mostrar este tipo de archivos a voluntad, aunque por defecto ciertas carpetas y archivos se ocultan en el momento de instalar el sistema operativo. 7 Sistemas Operativos Los permisos de archivos y directorios Los permisos son una característica de los archivos y los directorios. Son parte del sistema de archivos que almacena cada sistema operativo. Un permiso es una autorización para llevar a cabo una acción sobre un objeto, ya sea este un archivo o un directorio. El usuario es quien concede los permisos asociados a un objeto y determina qué acciones se pueden llevar a cabo sobre él. Básicamente son de tres tipos: de lectura, escritura y ejecución. Se pueden asignar permisos a usuarios y a grupos específicos de usuarios. En general, se considera que cuando un permiso no se concede explícitamente se deniega por defecto. Esta política restrictiva permite proteger de forma eficaz los datos contenidos en archivos y carpetas frente al acceso indiscriminado de usuarios no autorizados. Un concepto que va asociado al de permiso es el de tipo de usuario. En Windows se distingue entre usuarios con poderes de administración del sistema operativo (administradores), usuarios estándar (usuarios) y una tercera clase, denominada invitados, cuya capacidad de acción es reducida. En Linux se distingue entre el usuario root y el usuario estándar. El primero tiene plenos poderes de administración del sistema, mientras que el segundo solamente puede operar en su carpeta /home. Además, en Linux los permisos se presentan triplicados, según se apliquen al propietario del objeto, al grupo al que pertenece el propietario o al resto de grupos de usuarios que pueden acceder a ese objeto. 8 Sistemas Operativos Compresión de archivos y carpetas La capacidad de los discos duros ha aumentado mucho y es habitual trabajar con unidades de almacenamiento de cientos de GB o varios TB. No obstante, los programas y ficheros que se manejan habitualmente también han aumentado su tamaño, de manera que en ocasiones es necesario buscar alguna solución para no agotar la capacidad de almacenamiento de datos del sistema. Una posibilidad es la compresión de archivos y carpetas. Por ejemplo, un fichero de texto que contenga varias veces la palabra ejercicio podría utilizar un esquema de compresión basado en la sustitución de cada palabra ejercicio por un símbolo único simple, de manera que el archivo comprimido reduce su tamaño. En el momento de descomprimir el archivo, se realiza el proceso inverso, expandiendo el tamaño del archivo. Cuando un programa abre un fichero comprimido NTFS, descomprime solamente la porción del fichero que se está leyendo y copia esos datos en la memoria del ordenador, de ese modo el rendimiento no se ve afectado cuando se actualizan los datos en la memoria. El sistema NTFS comprime los datos modificados cuando se guardan en el disco. Así funciona, por ejemplo, el sistema NTFS de Windows. Para enviar un archivo por correo electrónico, o empaquetar un conjunto de datos para almacenarlos permanentemente fuera del ordenador, existen otras opciones de compresión. Actualmente son muy populares los formatos de compresión ZIP, RAR, ACE, y 7z. No obstante, en sistemas Linux existen otras alternativas para comprimir datos. Una de las más populares se basa en el uso combinado de un método de archivación (tar) y de un compresor de archivos (gzip). Gzip comprime los archivos y directorios, pero no los almacena juntos. Tar se utiliza para almacenar carpetas, subcarpetas y archivos en un único fichero, también llamado archivador. El resultado es un archivo con extensión múltiple (.tar.gz) o extensión simple (.tgz). 9 Sistemas Operativos Discos Los elementos físicos más importantes de un disco duro son los platos, el cabezal, la cabeza lectora y el motor. Los platos almacenan la información. A su vez constan de los siguientes elementos: Cara. Cada plato tiene dos caras sobre las que escribir o leer datos. Pista. Cada cara se divide en varias pistas concéntricas. Van numeradas. Sector. Cada pista se divide en varios sectores. Es la unidad mínima de información que puede escribir o leer un disco duro. Aunque su tamaño es variable, en general se considera que cada sector equivale a 512 bytes. Cilindro. Es el conjunto formado por las pistas con la misma numeración, que pertenecen a cada uno de los platos del disco duro. La capacidad total de datos que puede almacenar un disco duro se calcula teniendo en cuenta el número de cilindros, el número de cabezas lectoras y el número de sectores por pista que haya en él. Dado que las capacidades de los discos actuales son muy elevadas (son típicos los discos de centenares de gigabites (GB) o de varios terabytes (TB), a veces es conveniente dividir de forma lógica el espacio de almacenamiento. Para poder trabajar con las particiones, Windows asigna una letra de unidad a cada una (por ejemplo, las unidades lógicas C y D) y Linux asigna un nombre específico (hda0, hda1, etc.). Las particiones forman parte de la estructura lógica de un disco duro, tal y como se muestra a continuación: 1. El sector de arranque o MBR (Master Boot Record). Es el primer sector de todo disco duro (cabeza 0, cilindro 0, sector 1). En él se almacena la tabla de particiones y un programa de arranque del disco duro. La tabla de particiones almacena, entre otras cosas, información acerca del lugar del disco duro donde se encuentra cada partición. El programa es el encargado de leer la tabla de particiones y ceder el control al sector de arranque de la partición donde está instalado el sistema operativo. 2. Espacio particionado. Es el espacio del disco que ha sido asignado a una partición. Existen tres tipos de particiones: Partición primaria. Son las divisiones básicas del disco duro. Su número está limitado a cuatro, lo que constituye un inconveniente cuando, por razones de organización del espacio de almacenamiento, se desean realizar diversas particiones. Un ejemplo es la instalación de varios sistemas operativos en un mismo disco duro. Partición extendida. Fue ideada para romper la limitación de cuatro particiones primarias en un solo disco físico. No almacena información directamente, ya que actúa como un contenedor de unidades lógicas. Unidad lógica. Puede ocupar una parte o toda la partición extendida. A todos los efectos funciona como una partición primaria en la que se puede almacenar información. 3. Espacio sin particionar. Es espacio no accesible del disco, ya que todavía no ha sido asignado a ninguna partición. En las últimas versiones de Windows se maneja, además, el concepto de volumen. Los volúmenes son particiones que pueden ser o no contiguas. 10 Sistemas Operativos La línea de comandos Los entornos gráficos de los sistemas operativos actuales presentan similitudes, y también la realización de algunas tareas básicas. Una característica que comparten es que, además del entorno gráfico (muy cómodo para el usuario), existe una alternativa eficaz, aunque en principio menos atractiva, para trabajar con el ordenador. Es la línea de comandos, también llamada intérprete de comandos o shell, en entornos Linux. Tanto el sistema operativo Mac OS X como las diferentes distribuciones actuales de Linux permiten administrar el sistema operativo desde un terminal, sin más que teclear una serie específica de comandos. En la siguiente tabla se recoge una serie de comandos útiles para realizar tareas cotidianas sin necesidad de usar el entorno gráfico, lo cual resulta muy práctico en ordenadores poco potentes para las demandas de un entorno gráfico usual. 11 Sistemas Operativos WINDOWS Utilidad LINUX Comando Ejemplo Comando Ejemplo Identifica el subdirectorio donde está trabajando el usuario. chdir chdir pwd pwd Lista directorios y archivos. dir dir ls ls –l Cambia de directorio. cd cd Documentos cd cd.. Copia archivos o directorios. xcopy cp miarchivo.txt ../Escritorio Mueve archivos o directorios. move xcopy Micarpeta Tucarpeta cp move miarchivo.txt c:\usuarios\javier\Documentos mv Renombra archivos o directorios. ren mv Borra archivos o directorios. del md mkdir ren miarchivo.txt tuarchivo.txt del miarchivo.txt del micarpeta rm mv miarchivo.txt tuarchivo.txt rm miarchivo.txt rm -r micarpeta md nuevacarpeta mkdir mkdir nuevacarpeta dir dir df df -h Muestra la cantidad de memoria libre. mem mem free free -mt Busca una palabra o frase en un fichero dado. Muestra la descripción (manual) de un comando. find grep grep -i secreto claves.txt help find /i “secreto” claves.txt help find find /? man man grep Es un editor de texto sencillo. edit edit miarchivo.txt nano nano miarchivo.txt Crea directorios. Muestra el espacio libre en el sistema de archivos. 12 Sistemas Operativos mv miarchivo.txt ../cdEscritorio 13 Sistemas Operativos