Documente Academic
Documente Profesional
Documente Cultură
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]:
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).
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.
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+.
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].
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).
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.).
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.
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.
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.
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:
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:
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