Sie sind auf Seite 1von 6

Sistemas de Archivos

Un sistema de archivos son estructuras necesarias para almacenar y manejar datos, las
cuales incluyen un registro de arranque del sistema operativo, directorios y archivos.
Desempeando las siguientes funciones [1]:

1 - Control del espacio asignado y disponible.


2 - Mantenimiento de directorios y nombres de archivo.
3 - Control del lugar donde cada archivo se encuentra fsicamente almacenado en el disco.

Proporcionan una estructura lgica a una unidad de almacenamiento, con un formato para
que el sistema operativo sea capaz de comprender su estructura y de trabajar con ella

Los sistemas de archivos pueden ser reconocidos o no segn el sistema operativo en donde
se vayan a ejecutar, los ms comunes son FAT (Tabla de Asignacin de Archivos), FAT32 y
NTFS (Sistema de archivos de Nueva Tecnologa).

FAT (tabla de asignacin de archivos) es un sistema de archivos que es ledo en las


distribuciones del S.O. Windows as como el DOS y OS/2. Hace uso de una tabla que acta
como el ncleo del sistema de archivos y clsteres. Con copias, en caso de fallos. Tienen
como unidad de almacenamiento (ms pequea) el cluster el cual est compuesto por un
nmero fijo de sectores. La FAT se usa para registrar qu clsteres se encuentran en uso,
cules estn sin usar y qu archivos estn guardados en los clsteres [1] Solo se permiten
particiones de hasta 2GB con un mximo de 65525 clsteres.

El sistema tambin hace uso de un directorio raz (\), que junto a las tablas, son
almacenados en una ubicacin fija para que los archivos de arranque del sistema se
puedan ubicar correctamente. Sirve para almacenar la informacin de cada subdirectorio y
archivo en forma de entradas.

No hay ninguna organizacin en cuanto a la estructura de directorios de FAT, y se asigna a


los archivos la primera ubicacin libre de la unidad. Adems, FAT solo es compatible con
los atributos de los archivos de almacenamiento, del sistema, ocultos y de solo lectura [2].
Uno de los mayores problemas de este sistema se centraba en que cuando se borran y
escriben nuevos archivos tiende a dejar fragmentos dispersos (fragmentacin), adems de
no manejar permisos de seguridad y limitacin de caracteres (8) en el nombre de archivos.

Ms adelante se perfeccion este sistema con tablas de asignacin de archivos con


entradas de 32 bits en vez de 16 bits, conocido como FAT32, el cual tiene como propiedad
fundamental reconocer particiones de mayor tamao, las cuales pueden llegar hasta 8
terabytes. FAT32 usa clsteres mucho ms pequeos, dispone de registros de arranque
duplicados, directorio raz de tamao ilimitado y sin tener una ubicacin fija. Sin embargo
tiene como limitacin solo almacenar archivos menores de 4GB.

Luego surgi el sistema de archivos de nueva tecnologa NTFS ( New Technology File
System), accesible a partir de Windows NT/2000. El cual posee una tabla maestra de
archivos (MFT) como estructura central del mismo sistema. Al igual que los sistemas
anteriores, NTFS usa clsteres para guardar archivos de datos, sin que su tamao dependa
del disco. Proporcionando mejor rendimiento en unidades de gran tamao. Al usar clsteres
pequeos se evita desperdiciar espacio en el disco y reduce la fragmentacin de archivos y
que por consecuencia tendra un mayor tiempo tratando de acceder a ellos. Los nombres de
los archivos ahora pasaban a poseer una limitacin de 256 caracteres. Otra propiedad es
que la clasificacin de los directorios se realiza mediante una estructura de informacin en
rbol B+.

Otra caracterstica es que posee un mecanismo para deteccin de sectores defectuosos


conocido como hot fixing, para que no sean utilizados y sean anulados inmediatamente.
Adicional a esto brinda opciones de seguridad relacionadas a la posibilidad de configurar
permisos, creacin de copias instantneas y cifrado de archivos.

Sin embargo, al ser uno de los ms avanzados es muchas veces incompatible con otros
sistemas operativos que no sean las versiones modernas de Windows. A partir de esto, han
surgido otros sistemas de archivos con un poco menos de opciones de seguridad, y sin las
limitaciones de formatos como el FAT32 pero ms compatibles con otros Sistemas
Operativos, este es el caso del exFAT [3].

Historia de UNIX [4] y LINUX

UNIX es un sistema operativo interactivo, multiusuario y multitarea. Fue diseado para ser
usado por programadores relativamente expertos y participantes del desarrollo de proyectos
de software. Sus orgenes se remontan al final de la dcada de los 60, en los laboratorios
Bell de la compaa AT&T y a la evolucin de un sistema operativo conocido como
MULTICS (Multiplexed Information and Computing System). El cual fracas al estar
enfocado para ser multiusuario con un hardware similar al de una computadora personal.
MULTICS haba sido creado para ejecutar un juego, de autora propia, conocido como
Space Travel, una simulacin del sistema solar.

Sin embargo, fue Ken Thompson quien desarroll una versin reducida de dicho sistema
sobre una computadora PDP-7 en desuso. All se form una primera versin de lo que se
considerara como UNIX denominada UNICS (UNiplexed Information and Computing
Service [Servicio informtico y de Informacin UNiplexado]), de la mano de Dennis Ritchie,
su fecha de origen se considera el 1/01/1970 por lo que es la fecha de inicio de todos los
relojes del sistema operativo. El sistema se llev a computadoras ms modernas como la
PDP-11, y en nimos de que fuera portable, Thompson lo escribi en un lenguaje de alto
nivel, tambin diseado por el, conocido como B, a pesar de que era interpretado y no tena
tipos de datos estructurados. Pero fue gracias Ritchie, quien dise el lenguaje C y un
compilador para el mismo, cuando en 1973, la versin de UNIX escrita en B fue reescrita en
ese nuevo lenguaje.

Dicho sistema tuvo una gran difusin, incluyendo su cdigo fuente, gracias al uso en
computadoras en universidades para servicios educativos, debido a que la empresa AT&T
no poda comercializar productos relacionados con tecnologa para ese entonces. De esta
manera fueron varias las versiones que se originaron para mejorarlo. Fue hasta 1983 que la
compaa creadora empez a ofrecer servicio tcnico a las diferentes versiones (las ms
populares eran: UNIX system III y system V).

Sin embargo, una de las versiones mejoradas, desarrollada en la Universidad de California


en Berkely, conocida como 4.3BSD que tena avances como memoria virtual, gestin de
redes, etc. fue de las versiones base ms acogidas, an sobre la oficial de AT&T, la system
V.

El desarrollo de los sistemas operativos se dividi en dos, basados en la versin oficial y de


la Universidad de California, adems cada fabricante introdujo sus propias mejoras basadas
en sus necesidades, pero incompatibles entre s, por lo que se realizaron esfuerzos para
estandarizarlos, el primer intento fue realizado por la IEEE, denominado POSIX (Portable
Operating System)

Luego un grupo de fabricantes como IBM, DEC, Hewlett Packard form un consorcio
llamado OSF (Open System Foundation) los cuales fabricaron un sistema basados en el
trabajo de la IEEE con caractersticas como un sistema de ventanas, un interfaz grfico de
usuario (MOTIF), entre otras. Sin embargo, los derechos de UNIX fueron vendidos a otras
empresas, por parte de AT&T, y OSF ha desarrollado tambin varias versiones, por lo que
en la actualidad, sigue sin haber una versin nica de UNIX, por ejemplo: AIX de IBM, Ultrix
de DEC, HP-UX de HP, Solaris y SunOs de Sun, etc.).

En 1985, un profesor holands, Andrew Tannenbaum, desarroll un sistema operativo


mnimo denominado Minix, con el objetivo de poder ensearles a sus alumnos la
programacin de sistemas. En 1991, un estudiante finlands, Linus Torvalds, decidi
disear, basndose en el modelo Minix, un sistema operativo capaz de ejecutar 386 tipos de
arquitecturas. Este sistema operativo se denomin "Linux". [5]

GNU/LINUX es un sistema operativo gratuito y de libre distribucin inspirado en el sistema


Unix, construdo con los aportes de miles de programadores en Internet. Es uno de los
paradigmas ms prominentes del software libre y del desarrollo del cdigo abierto, cuyo
cdigo fuente est disponible pblicamente, para que cualquier persona pueda usarlo a su
necesidad particular.

Uno de los principales antecedentes de Linux, como se ha dicho fue el S.O MINIX, el cual
fue creado desde cero con finalidad educativa. Fue pensado para que se ejecutara sobre
una plataforma Intel 8086, que era muy popular en aquella poca, ya que era la base de los
primeros PC IBM. Una de las ventajas de Minix era que su cdigo fuente estaba a libre
acceso (12.000 LoC entre en Lenguaje ensamblador y C) [6].

Por qu GNU?

En 1983 Richard Stallman fund el proyecto GNU, con el fin de crear sistemas operativos
parecidos a UNIX y compatibles con POSIX. Dos aos ms tarde cre la "Fundacin del
Software Libre" y escribi la GPL General Public License para posibilitar el software libre
en el sistema de copyright. Los postulados de Richard Stallman con el proyecto GNU de
software libre son [8]:
La libertad de usar el programa, con cualquier propsito.
La libertad de estudiar cmo funciona el programa, modificarlo y adaptarlo de
acuerdo a necesidades particulares.
La libertad de distribuir copias del programa
La libertad de mejorar el programa y hacer pblicas dichas mejoras con la
comunidad.

El software GNU tom mucho auge y dentro de poco tiempo multitud de programas fueron
escritos, de manera que ya a principios de 1990 haba bastantes software GNU como para
hacer un sistema operativo propio, pero segua como faltante el Kernel.

A principios de los aos 1990, no haba un sistema operativo libre completo. A pesar de que
el proyecto GNU era desarrollado constantemente, no dispona de ningn buen Kernel
basado en UNIX.

Posteriormente, en 1991 fue cuando Linus Torvalds cre el S.O Linux, basndose en Minix,
presentando la primera versin oficial de Linux la 0.02 el 5 de Octubre de ese ao [7].
Constaba bsicamente del Kernel, el shell bash y el compilador gcc. Fue orientado a
mquinas Intel 386 para ese entonces. Es por tanto que Linux es el Kernel o ncleo, y al
resto de aplicaciones que se ejecutan sobre ese Kernel se le llama una distribucin
GNU/LINUX.

Linux es usado como sistema operativo en una amplia variedad de plataformas de hardware
y computadores, incluyendo los computadores de escritorio (PCs x86 y x86-64, y Macintosh
y PowerPC), servidores, supercomputadores, mainframes, y dispositivos empotrados as
como telfonos celulares.

SHELL del S.O

Segn diferentes autores:

IBM: El shell es la capa ms externa del sistema operativo. Los shells incorporan un
lenguaje de programacin para controlar procesos y archivos, adems de iniciar y controlar
otros programas. El shell gestiona la interaccin entre el usuario y el sistema operativo
solicitndole la entrada, interpretando dicha entrada para el sistema operativo y gestionando
cualquier resultado de salida procedente del sistema operativo.

Shell Bourne (sh):

Es el shell Unix original, desarrollado por Steve Bourne en 1977 y en los laboratorios Bell
de AT&T de New Jersey.. Es el shell ms antiguo y tiene una capacidad de programacin
muy potente, siendo uno de los ms utilizados. Bourne Shell es un intrprete y lenguaje de
programacin de comandos interactivo, con una estructura similar al antiguo lenguaje de
programacin ALGOL. Generalmente se encuentra en el directorio bin, del S.O y su nombre
de archivo es sh(/bin/sh).
Contiene las siguientes caractersticas[10]:
Control de procesos
Variables de entorno
Expresiones regulares
Control de Flujo
Control de Entrada/Salida
Soporte a Funciones.
Listas de parmetros/argumentos ms extensas, cuyo lmite se extiendi de 127 a
8192 bytes.

Algunos inconvenientes de este shell:


No existe soporte de autocompletado de nombres de archivos
No existe historial de comandos ni edicin en lnea
Dificultad para ejecutar mltiples procesos en background.

Bourne Again Shell (bash)

Fue desarrollado como parte del proyecto GNU por Brian Fox, reemplazando al Bourne
Shell (sh). Incluye caractersticas de C shell, Korn Shell y Bourne Shell. Algunas de sus
caractersticas son:

Autocompletado de nombres de variables ,usuarios, nombres de servidores,


comandos y archivos
Correccin de rutas de archivos en el comando cd
Soporte de arreglos (arrays) de tamao ilimitado
Aritmtica de enteros en cualquier base numrica (entre 2 y 64)

Korn Shell (ksh)

Es un Shell para UNIX desarrollado por David Korn a principios de 1980. Es un lenguaje de
control y programacin de tareas. Se ajusta a la Interfaz de Sistema Operativo Portable para
entornos del sistema (POSIX) [11].
POSIX no es un sistema operativo, sino que es un estndar cuya finalidad es facilitar la
portabilidad de las aplicaciones, en el nivel del fuente, entre muchos sistemas. Las
funciones de POSIX se crean al principio del shell Korn. El shell Korn (tambin conocido
como el shell POSIX) ofrece muchas de las mismas funciones de los shells Bourne y C, por
ejemplo posibilidades de redireccin E/S, sustitucin de variables y sustitucin de nombres
de archivo.

Funcionalidades de KSH:

Edicin de lnea de comandos


Autocompletado de nombres de archivo
Historial de comandos
Alias de comandos
Gestin de tareas.
Soporta vectors unidimensionales.

Referencias

[1] PowerQuest Corporation. Conceptos Bsicos sobre Discos Duros. [Online] Disponible
en: http://www.geocities.ws/rincoes/discos-duros.pdf
[2] Microsoft. Introduccin a los sistemas de archivos FAT, HPFS y NTFS. 2017. [Online]
Disponible en:
https://support.microsoft.com/es-co/help/100108/overview-of-fat--hpfs--and-ntfs-file-systems
[3] Velasco, R. Qu diferencias hay entre FAT32, NTFS y ExFAT. Cul debo elegir? -
SOFTZone [Online] Disponible en:
https://www.softzone.es/2015/12/13/diferencias-fat32-ntfs-exfat-debo-elegir/
[4] Introduccin al Sistema Operativo UNIX. Universidad Autnoma de Barcelona. [Online]
Disponible en: http://klingon.uab.cat/prat/Linux/so2_t5.pdf
[5] El sistema UNIX. Universidad Autnoma de Aguascalientes. 2014. [Online] Disponible
en: https://docentes.uaa.mx/guido/wp-content/uploads/sites/2/2014/09/UNIX-Historico.pdf
[6] Introduccin al Sistema Operativo GNU/Linux - Universitat Oberta de Catalunya - Josep
Jorba Esteve 2010.
[7] Introduccin a GNU/Linux - Universidad Antonio de Nebrija - Constantino Malagn
[Online] Disponible en:
https://www.nebrija.es/~cmalagon/seguridad_informatica/linux/intro_linux_completa.pdf
[8] El Sistema Operativo GNU/Linux - Universidad de Granada - Departamento de
Electromagnetismo y Fsica. [Online]. Disponible en:
http://ergodic.ugr.es/cphys/lecciones/linux/00.introduccion_a_linux.pdf
[9] IBM Knowledge Center- Shells del sistema operativo. [Online] Disponible en:
https://www.ibm.com/support/knowledgecenter/es/ssw_aix_71/com.ibm.aix.osdevice/shells.h
tm
[10] Programacin Shell - Adrian de los Santos . [Online] Disponible en:
https://www.freeshell.de/~rasoda/programacion/guia-shell.pdf
[11] NEEONEZ Qu es el Korn Shell de UNIX/Linux? 2017. [Online] Disponible en:
http://www.neeonez.com/korn-shell-de-unix-linux/
[12] IBM Knowledge Center Mandatos del shell Korn o shell POSIX [Online] Disponible en:
https://www.ibm.com/support/knowledgecenter/es/ssw_aix_71/com.ibm.aix.osdevice/korn_p
osix_cmds.htm

Das könnte Ihnen auch gefallen