sistema operativo i

25
ACTIVIDAD PARA EL APRENDIZAJE UNIDAD I SISTEMA OPERATIVO Es un programa o conjunto de programas de un sistema informático que gestiona los recursos de hardware. LENGUAJE DE MAQUINA El lenguaje máquina o también llamado sistema binario, es el único lenguaje que puede interpretar una computadora, el cual es un código binario de ceros y uno que es interpretado directamente por el microprocesador. JOB El JCL (acrónimo de Job Control Lenguaje, en español Lenguaje de Control de Trabajos) es un lenguaje informático o un conjunto de especificaciones de morfología y sintaxis requeridas para la redacción de instrucciones de ejecución de programas informáticos por parte del sistema operativo de un equipo informático. Este lenguaje se usa en los Ordenadores Centrales (Mainframes) y es específico para cada sistema operativo. OFF LINE Off-line (fuera de línea) se utiliza para designar a una computadora que no está contactada al sistema, no está operativa, está apagada o no accede a internet. TIEMPO COMPARTIDO En computación, el uso del tiempo compartido se refiere a compartir de forma concurrente un recurso computacional (tiempo de ejecución en la CPU, uso de la memoria, etc.) entre muchos usuarios por medio de las tecnologías de multiprogramación y la inclusión de interrupciones de reloj por parte del sistema operativo, permitiendo a este último acotar el tiempo de respuesta del computador y limitar el uso de la CPU por parte de un proceso dado. SHELL

Upload: rrijo

Post on 14-Dec-2015

6 views

Category:

Documents


0 download

DESCRIPTION

Sistema Operativo Linux Mint

TRANSCRIPT

Page 1: Sistema Operativo I

ACTIVIDAD PARA EL APRENDIZAJE UNIDAD I

SISTEMA OPERATIVO

Es un programa o conjunto de programas de un sistema informático que gestiona los recursos de hardware.

LENGUAJE DE MAQUINA

El lenguaje máquina o también llamado sistema binario, es el único lenguaje que puede interpretar una computadora, el cual es un código binario de ceros y uno que es interpretado directamente por el microprocesador.

JOB

El JCL (acrónimo de Job Control Lenguaje, en español Lenguaje de Control de Trabajos) es un lenguaje informático o un conjunto de especificaciones de morfología y sintaxis requeridas para la redacción de instrucciones de ejecución de programas informáticos por parte del sistema operativo de un equipo informático. Este lenguaje se usa en los Ordenadores Centrales (Mainframes) y es específico para cada sistema operativo.

OFF LINE

Off-line (fuera de línea) se utiliza para designar a una computadora que no está contactada al sistema, no está operativa, está apagada o no accede a internet.

TIEMPO COMPARTIDO

En computación, el uso del tiempo compartido se refiere a compartir de forma concurrente un recurso computacional (tiempo de ejecución en la CPU, uso de la memoria, etc.) entre muchos usuarios por medio de las tecnologías de multiprogramación y la inclusión de interrupciones de reloj por parte del sistema operativo, permitiendo a este último acotar el tiempo de respuesta del computador y limitar el uso de la CPU por parte de un proceso dado.

SHELL

En informática, el término Shell, se emplea para referirse a aquellos programas que proveen una interfaz de usuario para acceder a los servicios del sistema operativo. Estos pueden ser gráficos o de texto simple.

POSIX

POSIX es el acrónimo de Portable Operating System Interface; la X viene de UNIX como seña de identidad de la API, El POSIX Se trata de un estándar que intenta asegurar la portabilidad entre diferentes sistemas operativos. Dentro del estándar se especifica el comportamiento de las expresiones regulares y de las herramientas más comunes que las usan.

BIOS

BIOS significa Basic Input/oputput System, o lo que es lo mismo, Sistema Básico de Entrada y Salida... , se trata de un programa especial, que se pone en marcha al encenderse el PC,

Page 2: Sistema Operativo I

comprueba que todos los periféricos funcionan correctamente, verifica el tipo y el funcionamiento del disco duro, de la memoria, etc., busca nuevo hardware instalado, etc. La BIOS no se carga como si de un sistema operativo se tratase, sino que viene ya incorporada a la placa base en un chip de memoria PROM. Actualmente, la mayoría de las BIOS pueden ser actualizadas por software, pero no pueden cambiarse. Para ello sería necesario cambiar físicamente el chip de la placa base o, más seguramente, la placa base por completo.

EXOKERNEL

En computación, el término exonúcleo (en inglés, exokernel) se refiere a un sistema creado con fines de investigación en el Instituto Tecnológico de Massachusetts sobre OpenBSD y otros sistemas operativos similares. Su propósito es crear una especie de capa de software para otros sistemas virtuales.

MAQUINA VIRTUAL

Explicándolo de una forma sencilla una Máquina Virtual de Sistema es un programa que nos permite albergar un Ordenador Ficticio dentro de un Ordenador existente, es decir, un software que simula por completo el comportamiento de un Ordenador real sin que este exista, albergado virtualmente en un ordenador físico.

Este tipo de programas nos permitirán con un solo PC disponer de múltiples Sistemas Operativos funcionando simultáneamente usando tan solo una única máquina física.

MODO KERNEL

El Modo Kernel es un modo muy privilegiado de funcionamiento, donde el código tiene el acceso directo a todo el hardware y toda la memoria, incluso a los espacios de dirección de todos los procesos del modo usuario.

SISTEMA POR LOTE

Los sistemas operativos por lotes, procesan una gran cantidad de trabajos con poca o ninguna interacción entre los usuarios y los programas en ejecución. Cuando estos sistema son bien planeados, pueden tener un tiempo de ejecución muy alto, porque el procesador es mejor utilizado y los sistemas operativos pueden ser simples, debido a la secuencialidad de la ejecución de los trabajos.

MULTIPROGRAMACION

La multiprogramación es una técnica de multiplexación que permite la ejecución simultánea de múltiples procesos en un único procesador. En realidad, esta técnica produce una ilusión de paralelismo, de manera que parece que todos los procesos se están ejecutando a la vez. Sin embargo, hay un único proceso ejecutándose en el procesador a la vez.

PROCESO

Un proceso puede informalmente entenderse como un programa en ejecución. Formalmente un proceso es "Una unidad de actividad que se caracteriza por la ejecución de una secuencia de instrucciones, un estado actual, y un conjunto de recursos del sistema asociados.

MICROARQUITECTURA

Page 3: Sistema Operativo I

En ingeniería de computación, la microarquitectura (a veces abreviada como µarch o uarch), también llamada como organización de la computadora, es la manera que una arquitectura del conjunto de instrucciones (ISA) es implementada por el procesador. Un ISA dado puede ser implementado con diferentes microarquitecturas.1 Las implementaciones pudieran variar debido a diferentes objetivos de un diseño dado o debido a los cambios en la tecnología.2 La arquitectura de computadora es la combinación del diseño determinado de la microarquitectura y del conjunto de instrucciones.

MINIX

MINIX es un clon del sistema operativo Unix distribuido junto con su código fuente y desarrollado por el profesor Andrew S. Tanenbaum en 1987. Fue creado para enseñar a sus alumnos el diseño de sistemas operativos en la Vrije Universiteit de Ámsterdam. La razón de su desarrollo fue porque Unix estaba bajo restricciones de licencia de AT&T, era demasiado complicado y corría sobre máquinas complejas; algo completamente antipedagógico. Gracias a su reducido tamaño, diseño basado en el paradigma del micronúcleo, y su amplia documentación, resulta bastante apropiado para personas que desean instalar un sistema operativo compatible con Unix en su máquina personal así como aprender sobre su funcionamiento interno.

SCSI

SCSI, acrónimo inglés de Small Computers System Interface (Interfaz de Sistema para Pequeñas Computadoras), es una interfaz estándar para la transferencia de datos entre distintos dispositivos del bus de la computadora. Tras dedicar un día entero a discutir el nombre, se llegó al acuerdo de que fuera "Small Computer System Interface," que Larry Boucher pretendía se pronunciara "sexy"; sin embargo Dal Allan de ENDL pronunció el nuevo acrónimo como "scuzzy", y se ha perpetuado1 (Algunos profesionales lo castellanizan como "escasi" o "escosi").

ISA

El estándar de 8 bits llamado ISA (siglas en inglés de Industry Standard Architecture) consistió en un diseño para poder conectar Tarjetas de Expansión a la Placa Madre de las primeras IBM PC, que se comercializaban a principios de los años '80, llevando también el nombre de XT Bus Architecture. Este bus permitía trabajar a una velocidad de 4.77 MHz, consistente en un conector de 62 contactos (31 por cada cara) y unas dimensiones de 8,5 centímetros, de color negro y fácilmente hallables en la estructura de la Placa Motherboard.

MODO USER

El Modo Usuario: es un modo menos privilegiado de funcionamiento, sin el acceso directo al hardware. El código que corre en este modo sólo actúa en su propio espacio de dirección. Este usa las APIs para pedir los servicios del sistema operativo que tienes en proceso.

MAINFRAME

Una computadora central (en inglés mainframe) es una computadora grande, potente y costosa usada principalmente por una gran compañía para el procesamiento de una gran cantidad de datos; por ejemplo, para el procesamiento de transacciones bancarias.

Page 4: Sistema Operativo I

SPOOLING

En el campo de la Informática, el spooling (Simultaneous Peripheral Operations On-Line) se refiere al proceso mediante el cual la computadora introduce trabajos en un buffer (un área especial en memoria o en un disco), de manera que un dispositivo pueda acceder a ellos cuando esté listo. El spooling es útil en caso de dispositivos que acceden a los datos a distintas velocidades. El buffer proporciona un lugar de espera donde los datos pueden estar hasta que el dispositivo (generalmente más lento) los procesa. Esto permite que la CPU pueda trabajar en otras tareas mientras que espera que el dispositivo más lento acabe de procesar el trabajo.

TABLA DE PROCESO

Generalmente se denomina “Tabla de Procesos” al conjunto de información de control sobre los distintos procesos.

CTSS

CTSS, que significa Compatible Time-Sharing System (Sistema de Tiempo Compartido Compatible), fue uno de los primeros sistemas operativos de tiempo compartido; fue desarrollado en el Centro de Computación del MIT. Se presentó en 1961, y se utilizó en el MIT hasta 1973. Durante parte de este tiempo, el Proyecto MAC del MIT tuvo una segunda copia de CTSS, pero el sistema no se expandió más allá de dos sitios. CTSS fue descrito en una publicación presentada en la Spring Joint Computer Conference de 1962.

USB

USB es la sigla de Universal Serial Bus (Bus Universal en Serie, en castellano). Se trata de un concepto de la informática para nombrar al puerto que permite conectar periféricos a una computadora. La creación del USB se remonta a 1996, cuando un grupo de siete empresas (entre las que se encontraban IBM, Intel y Microsoft) desarrolló el formato para mejorar la capacidad de interconexión de los dispositivos tecnológicos.

UID

El UID es un número entre 0 y 65536 que sirve para identificar unívocamente al usuario en el sistema. Internamente, FreeBSD usa el UID para identificar usuarios y cualquier comando de FreeBSD que permita especificar un nombre de usuario convertirá éste al UID antes de trabajar con él. Esto significa que puedes tener varias cuentas con nombres de usuario distintos pero con el mismo UID. En lo que a FreeBSD respecta, tales cuentas son un solo usuario. Es improbable que alguna vez tengas que hacer algo así.

Page 5: Sistema Operativo I

HISTORIA DE LOS SISTEMAS OPERATIVOS

La informática tal y como se le conoce hoy día, surgió a raíz de la II Guerra Mundial, en la década de los 40. En esos años no existía siquiera el concepto de "Sistema Operativo" y los programadores interactuaban directamente con el hardware de las computadoras trabajando en lenguaje máquina (esto es, en binario, programando únicamente con 0s y 1s). 

El concepto de Sistema Operativo surge en la década de los 50. El primer Sistema Operativo de la historia fue creado en 1956 para un ordenador IBM 704, y básicamente lo único que hacía era comenzar la ejecución de un programa cuando el anterior terminaba. 

En los años 60 se produce una revolución en el campo de los Sistemas Operativos. Aparecen conceptos como sistema multitarea, sistema multiusuario, sistema multiprocesadores y sistema en tiempo real. 

Es en esta década cuando aparece UNIX, la base de la gran mayoría de los Sistemas Operativos que existen hoy en día.

En los años 70 se produce un boom en cuestión de ordenadores personales, acercando estos al público general de manera impensable hasta entonces. Esto hace que se multiplique el desarrollo, creándose el lenguaje de programación C (diseñado específicamente para reescribir por completo el código UNIX). 

Como consecuencia de este crecimiento exponencial de usuarios, la gran mayoría de ellos sin ningún conocimiento sobre lenguajes de bajo o alto nivel, hizo que en los años 80, la prioridad

Page 6: Sistema Operativo I

a la hora de diseñar un sistema operativo fuese la facilidad de uso, surgiendo así las primeras interfaces de usuario. 

En los 80 nacieron sistemas como MacOS, MS-DOS, Windows.

En la década de los 90 hace su aparición Linux, publicándose la primera versión del núcleo en septiembre de 1991, que posteriormente se uniría al proyecto GNU, un sistema operativo completamente libre, similar a UNIX, al que le faltaba para funcionar un núcleo funcional. Hoy en día la mayoría de la gente conoce por Linux al Sistema Operativo que realmente se llama GNU/Linux

Page 7: Sistema Operativo I

ESTRUCTURA DEL SISTEMA OPERATIVO

El sistema operativo es un programa o software que sirve de intermediario entre el computador y el usuario brindando un entorno agradable a los ojos del usuario para su buen uso y manejo. Su objetivo principal es lograr que el usuario use su sistema de computación de una forma más cómoda y más eficiente. Para lograr este objetivo, el sistema operativo se encuentra estructurado de la siguiente forma:

A. Estructura modularB. Estructura de anillos o capas.C. Estructura Microkernel.D. Estructura Multinucleo.E. Estructura de máquinas virtuales.

A) ESTRUCTURA MODULARTambién llamados sistemas monolíticos, se caracterizan por que carecen de estructura, este sistema se describe como una colección de procedimientos es decir que estos pueden llamar a otros sistemas cada vez que así lo requieran.

B) ESTRUCTURA DE ANILLOS O CAPASConsiste en organizar al sistema operativo en una jerarquía de capas, es decir que una está construida sobre la inmediata inferior, el primer sistema construido de esta forma fue el llamado SISTEMA THE (Technische Hogeschool Eindhoven) el cual constaba de seis capas.

C) ESTRUCTURA MICROKERNELEn esta estructura es donde las funciones centrales son controladas por el núcleo más conocido como KERNEL y la interfaz del usuario es controlada por el entorno más conocido como SHELL. El microkernel se encarga de la planificación de hilos (post anterior), no de procesos, esto hace posible tener varias tareas (multitarea), siendo así el microkernel el que planifica todo el código que corre en el sistema. Estas son algunas de las tareas que realiza el microkernel, Manipulación de las interrupciones en el sistema desde dispositivos físicos, manipula excepciones del procesador, proporciona soporte para la recuperación de un sistema con alguna falla de caída de energía.

D) ESTRUCTURA MULTINUCLEOSon los procesadores actuales que tienen dos o más núcleos que trabajan simultáneamente como un solo sistema. Esta tecnología ha girado en torno a la idea de ser capaz de hacer posible la computación paralela es decir que podría aumentar drásticamente la velocidad, la eficiencia y el rendimiento de las computadoras simplemente poniendo 2 o más unidades centrales de procesamiento en un solo chip, esta tecnología especialmente útil en aplicaciones como la edición de video, codificación y juegos 3D, esta tecnología permite a los usuarios realizar más tareas al mismo tiempo.

Page 8: Sistema Operativo I

E) ESTRUCTURA DE MAQUINAS VIRTUALESCuando se habla de Máquinas Virtuales se puede decir que es una copia exacta de la máquina real, generada por software, los Sistemas Operativos de Máquinas Virtuales proporcionan al usuario una copia exacta del hardware desnudo incluyendo sus modos usuario y núcleo, dispositivos de entrada y salida, interrupciones, almacenamiento, etc., llamadas Máquinas Virtuales, aparentando así que cada terminal posee su propia máquina real.

GUI EN UN SISTEMA OPERATIVOA GUI o interfaz gráfica de usuario, es una "piel " de los programas que permiten a los usuarios para hacer frente a computadoras y otras máquinas digitales que utilizan un conjunto de instrucciones de las imágenes y el texto en lugar de etiquetas de comandos tecleados. GUIs directa y representar la información para el funcionamiento de una máquina, y simplificar el uso para los usuarios ocasionales o sin experiencia en programación. Lo que se ve en la pantalla cuando se utiliza el sistema operativo, y cómo manipular el sistema operativo para abrir y cerrar los programas, se debe a la interfaz gráfica de usuario de ese sistema operativo. Componentes GUI tiene unos componentes diferentes de cara al usuario, incluyendo iconos, ventanas y menús. Un icono es un pequeño gráfico o símbolo que representa un programa, directorio o dispositivo. Una ventana, que no debe confundirse con el sistema operativo Windows - que a su vez utiliza las ventanas - es una sección rectangular de la pantalla en la que se muestra un programa o contenido. Algunos GUIs permiten múltiples ventanas para ser abierto y manipulado, por lo que el usuario puede ejecutar o acceder a varios programas o archivos de forma simultánea. Los menús están bien listas de símbolos o comandos. Cuando es activada por el usuario a través de un clic del ratón o de otra actividad, activan o desactivar ese comando deseado. Ventajas GUIs simplificar el funcionamiento de una computadora u otras máquinas, permitiendo que los usuarios que no están familiarizados con la programación para ser capaz de utilizar la máquina en una variedad de maneras. GUIs también están diseñados para ser de uso intuitivo, que permite a los usuarios tener la experiencia y el conocimiento, ya que utilizan la interfaz gráfica de usuario, de hecho, la mayoría de interfaces gráficas de usuario se programa para mostrar el resultado de una acción inmediata. Cuando un usuario hace clic en un icono del programa, se abre el programa. Cuando un usuario elimina un archivo desde una computadora de escritorio, el icono del archivo desaparece. Detrás de cada interfaz gráfica de usuario, sin embargo, es una interfaz de línea de comandos o CLI , que obliga a los comandos de texto introducen mediante un teclado de operar - y requiere el conocimiento de la orden de texto apropiado. Algunos de los CLI mejor conocidas incluyen los sistemas operativos MS -DOS y basado en Unix o Linux. Avances GUI permite a los usuarios acceder a los ordenadores de manera que son " no nativos " a la máquina. En general, la CLI permite a los usuarios realizar una tarea a la vez, aunque la CLI ofrece a los usuarios una mayor potencia y flexibilidad en la forma de operar el equipo. Interfaces gráficas de usuario permite la multitarea, con múltiples ventanas abiertas y accesibles que contienen programas o archivos que se ejecutan

Page 9: Sistema Operativo I

simultáneamente, aunque los usuarios se limitan a aquellas acciones permitidas por la interfaz gráfica de usuario. Las ventajas de esto, por supuesto, además de la sencillez de uso, se aumentan la productividad y la comodidad. El uso de interfaces gráficas de usuario también ha dado lugar a - y causó la caída de - nuevos profesionales y las industrias. Debido a que un gran número de usuarios puede acceder a las aplicaciones informáticas de gran alcance con una interfaz gráfica de usuario, el campo de la autoedición, el acabado de fotos, edición de películas y el desarrollo web han cambiado dramáticamente.

Historia Aunque la historia GUI se remonta hasta la Segunda Guerra Mundial, cuando el Massachusetts Institute of Technology científico Vannevar Bush especula acerca de un programa gráfico que permitía a los usuarios acceder a los datos de una manera simplificada, fue Steve Jobs quien llevó la GUI en personal ordenadores cuando estableció Apple Computers a finales de 1970. Jobs adoptaron trabajo que se realiza en el Centro de Investigación de Xerox en Palo Alto (PARC), que experimentó con interfaces hombre -ordenador y la arquitectura de datos, en el primer sistema operativo basado en GUI.

Page 10: Sistema Operativo I

ACTIVIDAD PARA EL APRENDIZAJE UNIDAD 2

EXPLIQUE LA ESTRUCTURA DEL SISTEMA DE ARCHIVOS DE LINUX

GNU/Linux comenzó su andadura con su sistema de archivos “Ext2”, pero éste fue sustituido por nuevas versiones que tenían la capacidad de trabajar con grandes volúmenes de información (Terabytes) y de poder restituir rápidamente (gracias al “Journaling”) el sistema ante un fallo importante en el sistema de archivos. Posteriormente aparecieron otros sistemas de archivos nuevos y mejoras sobre el modelo existente.

Veámoslo con más detalle:

Ext2 (Sistema de archivos Extendido, versión 2) el primer sistema de archivos utilizado por GNU/Linux fue creado por Remy Card (no es del todo cierto, antes existió “Ext”, utilizado con “Minix”, pero debido a sus limitaciones y usos no suele contar como un sistema de archivos válido para las distribuciones GNU/Linux que conocemos hoy en día). Como todos los sistemas de archivos de Linux, éste también es asíncrono, es decir, no escribe inmediatamente los metadatos en el dispositivo de almacenamiento, sino que lo hace de manera periódica. Con ello consigue aprovechar los tiempos muertos de la CPU y consecuentemente, el rendimiento general del equipo. Pese a ser el primero, ya dispone de mecanismos que permiten la recuperación de la información en caso de fallo (detectando particiones desmontadas erróneamente).

Ext3 (Sistema de archivos Extendido, versión 3)es compatible con Ext2 (la única diferencia con éste es que posee un fichero adicional de registro para implementar “journaling”). De hecho, el objetivo de Ext3 era mejorar Ext2, pero manteniendo la compatibilidad con éste. Entre las principales diferencias cabe destacar que Ext3 mantiene la consistencia no solo de los metadatos (como ya hace Ext2) sino también de los propios datos. Por supuesto, la seguridad de poder recuperar los datos de nuestro sistema tiene un coste, y es que tendremos menos rendimiento y más consumo de espacio en disco.

Ext4 (Sistema de archivos Extendido, versión 4) mantiene la compatibilidad con sus antecesores, posee “journaling”, reduce considerablemente la fragmentación de archivos (mejorando con ello el rendimiento), permite dispositivos de almacenamiento de más capacidad.

ReiserFS desarrollado por la empresa Namesys, fue el primer sistema de archivos con “journal” incluido en un núcleo estándar de Linux. Pero además, implementa otra serie de ventajas no disponibles en otros sistemas de archivos, como puede ser la repartición de sistemas de ficheros montados, o un esquema para reducir la fragmentación. La versión más reciente de este sistema de archivos se denomina “Reiser4”, y además de las características antes indicadas, posee mecanismos que le permiten trabajar con cientos de miles de archivos, y una estructura de archivos optimizada.

Page 11: Sistema Operativo I

XFS creado por Silicon Graphics Inc., se trata de un sistema de archivos con “journaling” que inicialmente funcionaba sobre la implementación IRIX de UNIX, pero que posteriormente se liberó como código abierto. Destaca por su alta escalabilidad y fiabilidad (admite redireccionamiento de 64 bits, implementación paralelizada), y sobre todo porque es capaz de trabajar con archivos muy grandes.

JFS desarrollado por IBM, inicialmente fue creado para servidores de alto rendimiento y equipos de altas prestaciones. Posee un eficiente “journaling” que le permite trabajar cómodamente con archivos de gran tamaño como con otros más pequeños. Las particiones JFS pueden ser dinámicamente redimensionadas (como ya hacía RaiserFS), pero no pueden ser comprimidas (algo que si hacen RaiserFS y XFS).Existen más sistemas de archivos utilizados en GNU/Linux, pero no los trataremos aquí debido a que se utilizan con menos frecuencia.

Journaling

Seguro que no le ha pasado desapercibido el término “Journaling” o “journal” a lo largo de los párrafos anteriores, y es que se trata de la principal característica que identifica los sistemas operativos modernos. El “Journaling” (también conocido como “registro por diario”) es un mecanismo que almacenará las transacciones (operaciones de lectura y escritura de archivos) que se realizan en el sistema, y que permitirá la recuperación de los datos en caso de fallo grave.

Su funcionamiento, a grandes rasgos, sería el siguiente: cuando se desea guardar un archivo en el sistema de ficheros, se anotará esta acción en el “journal” (en ocasiones también se le denomina “bitácora”) pasando a continuación a realizar realmente la operación de escritura en el disco duro del equipo. Si la operación de escritura en disco duro finaliza con éxito entonces se elimina esa operación del “journal” (“diario”). Pero, si antes de finalizar la operación de escritura en disco se produjese un fallo (por ejemplo, un corte eléctrico) entonces el “journal”, que aún mantiene la información correspondiente al fichero, podría recuperarlo para el sistema rápidamente en el siguiente inicio.

Estructura de Directorios en Linux

Pero no solo el sistema de archivos de nuestro sistema operativo Linux es importante para conocer aspectos que afectan al rendimiento de nuestro equipo, también es importante que conozcamos la forma en la que está estructurado el sistema de directorios.

El estándar utilizado por GNU/Linux para organizar la información se denomina FHS (Filesystem Hierarchy Standard), y éste sistema se encarga de organizar la información de forma jerárquica.

Sistemas de Archivos en Linux

Page 12: Sistema Operativo I

Partiendo de un “raiz” encontraremos los siguientes directorios:

/bin almacena las aplicaciones (comandos) básicas del sistema./boot aquí se encontrarán los archivos necesarios para el inicio del sistema, así como los correspondientes al cargador de arranque./dev cada uno de los archivos representa a un dispositivo del sistema./etc es el directorio donde se encontrarán la mayoría de los archivos de configuración del sistema y de otras aplicaciones importantes./home donde se encontrarán los directorios personales de los usuarios del sistema./lib bibliotecas compartidas necesarias para la ejecución del sistema./mnt se trata del directorio en el que se solían ‘montar’ los distintos dispositivos de almacenamiento (discos duros externos, pen-drive), pero que ahora ha quedado obsoleto porque se utiliza el nuevo directorio “/media” para dicha función./proc mantiene ficheros que almacenan el estado (procesos, dispositivos) del sistema./root es el directorio personal del administrador del sistema./sbin comandos de administración del sistema./tmp carpeta donde el sistema almacena información temporal./usr ubicación que normalmente se dedica para instalar las aplicaciones de usuario./var su contenido no se explica brevemente, ya que en él podremos encontrar los archivos de registro del sistema, archivos temporales del servicio de correo, o el directorio de trabajo del servidor de páginas web.El estándar FHS posee más detalles relacionados con estos directorios, como por ejemplo:

Se recomienda que directorios como ‘/tmp’, ‘/var’ y ‘/home’ posean una partición propia, ya que si se produce un crecimiento desmesurado de los datos almacenados en ellas no afectarán al resto del sistema.También se aconseja que el directorio ‘/home’ se encuentre en una partición aparte para que en el caso de una actualización del sistema, ésta pueda mantenerse inalterada.Se considere al directorio ‘/etc.’ como el más importante (junto con el directorio ‘/home’ porque almacena los datos de usuario), por lo que se aconsejan copias de seguridad del mismo.Otra característica que observaremos en cuanto comencemos a trabajar con Linux es que todo en este sistema operativo es un archivo: el hardware, una partición o los ficheros de datos.

EL SISTEMA DE ARCHIVOS NTFS

El sistema de archivos NTFS (New Technology File System [Sistema de archivos de nueva tecnología]) se basa en una estructura llamada "tabla maestra de archivos" o MFT, la cual puede contener información detallada en los archivos. Este sistema permite el uso de nombres extensos, aunque, a diferencia del sistema FAT32, distingue entre mayúsculas y minúsculas.

Page 13: Sistema Operativo I

En cuanto al rendimiento, el acceso a los archivos en una partición NTFS es más rápido que en una partición de tipo FAT, ya que usa un árbol binario de alto rendimiento para localizar a los archivos. En teoría, el tamaño límite de una partición es de 16 exabytes (17 mil millones de TB). Sin embargo, el límite físico de un disco es de 2TB.

Es a nivel de la seguridad que el NFTS se destaca, ya que permite que se definan atributos para cada archivo. La versión 5 de este sistema de archivos (estándar en Windows 2000 [cuyo seudónimo es NT 5]) brinda aún más opciones nuevas, como ser un alto rendimiento y cuotas de disco por volumen definidas para cada usuario. NTFS v.5 también debería admitir la administración remota.

EXPLIQUE LA ESTRUCTURA DEL SISTEMA DE ARCHIVOS DE UNIX

En los sistemas UNIX cualquier elemento se representa en forma de archivos. Todos los archivos están ordenados en una única estructura jerárquica en la que la base, denominada raíz, se escribe "/".

Tipos de archivos

Los sistemas UNIX definen diferentes tipos de archivos:Los archivos físicos, que son los que se introducen en el disco duro. Este es un archivo en el sentido generalmente entendido de la palabra;

Los directorios son archivos (nodos) de la estructura jerárquica capaces de contener archivos u otros directorios. Un directorio contiene al menos un directorio principal (que se escribe.), que se relaciona con el directorio del nivel superior, y un directorio actual (que se escribe.), es decir, el directorio en sí mismo;

Los enlaces son archivos especiales que permiten que varios nombres (enlaces) se asocien a un único e idéntico archivo. Este sistema hace posible que se puedan tener varias instancias de un mismo archivo en diversos lugares de la estructura jerárquica sin necesidad de copiarlos. Esto ayuda a asegurar la coherencia y ahorra espacio en el disco. Existen dos tipos de enlaces:

Enlaces simbólicos, que representan a los punteros virtuales (accesos directos) de los archivos reales. En el caso de que se elimine un enlace simbólico, no se elimina el archivo al que indica. Los enlaces simbólicos se crean utilizando comandos In -s de acuerdo con la siguiente sintaxis:

ln -s name-of-real-file nombre-del-enlace-simbólico

Enlaces físicos (también denominados enlaces rígidos), representan un nombre alternativo para un archivo. Así, cuando un archivo tiene dos enlaces físicos, la eliminación de uno u otro de estos enlaces no implica la eliminación del archivo. Más específicamente, mientras haya quedado al menos un enlace físico, el archivo no se elimina. Por otro lado, cuando se eliminan todos los enlaces físicos de un mismo

Page 14: Sistema Operativo I

archivo, también se elimina dicho archivo. Sin embargo, debemos advertir que sólo es posible crear enlaces físicos dentro de un único e idéntico sistema de archivos. Los enlaces físicos se crean utilizando comandos In (con la opción del comando n) de acuerdo a la siguiente sintaxis:

ln nombre-del-archivo-real nombre-del-enlace-físico

Los archivos virtuales no existen realmente ya que sólo existen en la memoria. Estos archivos, ubicados especialmente en el directorio /proc, contienen información sobre el sistema (procesador, memoria, discos rígidos, procesos, etc.);

Los archivos de dispositivo, ubicados en el directorio /dev/, se relacionan con los dispositivos del sistema. En un primer momento, este concepto puede resultar desconcertante para un usuario nuevo.

El concepto de los puntos de montaje

Los archivos en un sistema UNIX están organizados en una única estructura jerárquica. Sin embargo, es posible tener varias particiones utilizando un mecanismo denominado montaje, el cual hace posible la conexión entre una partición y un directorio en la estructura jerárquica principal. Por eso, el hecho de montar una partición en el directorio /mnt/partition hace que todos los archivos en la partición sean accesibles para este directorio, que se denomina: "punto de montaje".

Jerarquía de archivos en UnixPara asegurar compatibilidad y portabilidad, los sistemas UNIX cumplen con el estándar FHS (File Hierarchy Standard (Estándar de Jerarquía de Archivos)). La jerarquía básica en un sistema Unix es la siguiente:

/ La raíz, que contiene los directorios principales.

/bin Contiene los ejecutables necesarios para el sistema, utilizados por todos los usuarios.

/boot Contiene los archivos de carga para el kernel, incluyendo el cargador de la rutina de arranque.

/dev Contiene los puntos de entrada para los dispositivos.

/etc Contiene los archivos de configuración que se necesitan para la administración del sistema (archivos passwd, group, inittab, ld.so.conf, lilo.conf, etc.)

/etc/X11 Contiene los archivos específicos para la

Page 15: Sistema Operativo I

configuración de X (contiene, por ejemplo:XF86Config)

/home Contiene los directorios personales del usuario. En lo que respecta a los directorios ubicados en/home, éstos pretenden alojar los archivos del usuario en el sistema. Se le aconseja dedicar una partición especial para el directorio de arranque (/boot) de manera que pueda limitar el daño en caso de saturación de espacio en el disco.

/lib Contiene bibliotecas estándares que se comparten con las diferentes aplicaciones del sistema.

/mnt Hace posible alojar los puntos de montaje de las particiones temporales (CD-ROM, disquete, etc.)

/proa Fusiona un conjunto de archivos virtuales y hace posible la obtención de información sobre el sistema o sobre los procesos que se están ejecutando.

/root Directorio personal de administración Root. El directorio de administración personal se encuentra aislado de los otros directorios personales ya que se encuentra ubicado en la partición de la raíz. Así, éste se puede cargar al inicio, antes del montaje de la partición /home.

/sbin Contiene los ejecutables esenciales del sistema (por ejemplo, el comando adduser).

/tmp Contiene archivos temporales.

/usr Jerarquía secundaria.

/usr/X11R6 Este directorio se reserva para el sistema X versión 11 edición 6.

/usr/X386 Utilizado anteriormente por X versión 5, es un enlace simbólico a /usr/X11R6.

/usr/bin Contiene la mayor parte de los archivos binarios y los comandos del usuario.

/usr/ Contiene los archivos de cabecera para los

Page 16: Sistema Operativo I

include programas C y C++.

/usr/lib Contiene la mayoría de las bibliotecas compartidas del sistema.

/usr/local Contiene datos que pertenecen a los programas instalados en la máquina local por Root.

/usr/local/bin Binarios para programas locales.

/usr/local/include Archivos de cabecera locales para C y C++.

/usr/local/lib Bibliotecas locales compartidas.

/usr/local/sbin Binarios del sistema local.

/usr/local/share Jerarquía independiente.

/usr/local/src Archivos locales de fuente.

/usr/sbin Contiene los archivos binarios que no son fundamentales para el sistema y que están reservados para el administrador del sistema.

/usr/share Reservado para datos independientes de la arquitectura.

/usr/src Contiene archivos del código fuente.

/var Contiene datos editables, como por ejemplo, archivos de bases de datos, registros, archivos para un gestor de colas de impresión o incluso archivos para la espera del correo electrónico.

EXPLIQUE LA ESTRUCTURA DEL SISTEMA DE ARCHIVOS DE SOLARIS

SISTEMA DE ARCHIVOS ZFS

Solaris utiliza el sistema dinámico de Archivos ZFS, fue diseñado e implementado por un equipo de Sun liderado por Jeff Bonwick.

Una de sus ventajas es su gran capacidad 128 bits cuyo diseño hace que sea tan grande que en la práctica nunca se podría exceder sus límites. Ofrece una administración sencilla que automatiza y consolida complicados conceptos de almacenamiento y por otro lado protege todo los datos con sumas de 64 bits que detectan y corrigen el daño de datos silenciosos.

Page 17: Sistema Operativo I

Además, utiliza un modelo transaccional copy-on-write. Conteniendo todos los punteros a bloques de un sistema de ficheros un checksum de 256 bits sobre el bloque apuntado, que se comprueba al leer el bloque. Los bloques que contienen datos activos no se sobrescriben nunca; en su lugar, se reserva un nuevo bloque, y los datos modificados se escriben en él. Incluyendo para la sobrecarga, varias actualizaciones en grupos de transacciones, y se utiliza un log de intentos cuando se necesitan escrituras síncronas.

Otra ventaja en comparación con el sistema NTFS es que la interfaz de la línea de comandos simplifica drásticamente la administración. Se orienta a las tareas, por lo quelos administradores pueden expresar las tareas que desean llevar a cabo en lugar de tener que memorizar o buscar comandos crípticos.

En los sistemas FAT o NTFS los datos se pueden dañar de diferentes modos, como por ejemplo un error de sistema o una interrupción del suministro eléctrico inesperada, pero ZFS impide el daño a los datos ya que mantiene la coherencia de los mismos en todo momento. Todas las operaciones son transaccionales. De este modo, no sólo se mantiene la coherencia sino también se eliminan todas las restricciones sobre la orden de E/S y se permite que el conjunto de los cambios se realice correctamente o se produzca un error Y aunque a decir verdad tiene mucho de bueno (bastante) el soporte para otros sistemas aún no está implementado. Pero tan solo será cuestión de tiempo.

En definitiva el nuevo sistema de archivos ZFS presenta características muy favorables en cuanto a almacenamiento, prevención de daños y capacidad.