Programación al Extremo

Buscar en este blog

miércoles, 30 de noviembre de 2016

Sistemas Operativos y Sistemas de Archivos - Administrador de Bases de Datos Capitulo 2
Fecha de Publicación:
Publicado por:
Seguir Seguir en twitter
Seguir Seguir en facebook
Seguir Seguir en Google+

Programación al Extremo : base datos

Introducción
La administración de bases de datos exige un conocimiento aplicado en Hardware y Software. En temáticas de software, el conocimiento en el manejo y operación de los diferentes sistemas operativos es vital para la implementación y configuración del sistema manejador de base de datos acorde a las políticas y criterios de una organización.

En el mercado de TI encontramos diferentes opciones de sistemas operativos, no obstante la implementación de un sistema manejador de base de datos, se debe hacer en una plataforma que soporte los acuerdos de nivel de servicio entre los interesados de un proyecto específico, al tiempo que se debe propender en seleccionar el software producto de los análisis y estudios previos que soporten cualquier decisión.

Mapa conceptual Sistemas Operativos y Sistemas de Archivos


Sistemas Operativos

Cuando un programa desea acceder a un recurso, no necesita enviar información específica a los dispositivos periféricos; simplemente envía la información al sistema operativo, y este a su vez transmite a los periféricos correspondientes a través de su controlador o driver. 



Sistema de archivos
Es la estructura subyacente que un sistema operativo usa para organizar los datos de un disco duro.

Interprete de Comandos
Facilita la comunicación con el sistema operativo a través de un lenguaje de control. 

Núcleo
Provee las funciones básicas del S.O.: gestión de memoria, de los procesos, de los archivos, de las E/S principales y de las funciones de comunicación.

Componentes de un Sistema Operativo

Componentes de un Sistema Operativo


Núcleo
Incorpora las funciones básicas del sistema operativo, como por ejemplo, la gestión de la memoria, de los procesos, de los archivos, de las input/output principales y de las funciones de comunicación.

Interprete de Comandos
Facilita la comunicación con el sistema operativo a través de un lenguaje de control.  Un usuario puede introducir órdenes mediante un conjunto de instrucciones directamente al núcleo y al conjunto de herramientas que hacen parte del sistema operativo.

Sistema de archivos
Un sistema de archivos es la estructura subyacente que un sistema operativo usa para organizar los datos de un disco duro. Si está instalando un disco duro nuevo, tiene que realizar las particiones y formatearlo empleando un sistema de archivos para poder comenzar a almacenar datos o programas.  La mayoría de los sistemas operativos manejan su propio sistema de archivos. 
Entre los principales sistemas de archivos podemos mencionar: FAT, HPFS, NTFS, EXT3, XFS.

FAT (File Allocation Table) es el sistema de archivos más sencillo compatible con Windows NT. El sistema de archivos FAT se caracteriza por la tabla de asignación de archivos (FAT), que en realidad es una tabla en la que reside la parte "superior" del volumen. Para proteger el volumen, se conservan dos copias de la FAT por si una de ellas resulta dañada. Además, las tablas de FAT y el directorio raíz deben almacenarse en una ubicación fija para que se puedan encontrar correctamente los archivos de inicio del sistema.

Un disco formateado con FAT se asigna en clústeres, cuyo tamaño está determinado por el tamaño del volumen. Cuando se crea un archivo, se crea una entrada en el directorio y se establece el primer número de clúster que contiene datos. Esta entrada de la tabla FAT indica que éste es el último clúster del archivo o señala al clúster siguiente. (Consultar: http://support.microsoft.com/kb/100108/es ).

FAT (File Allocation Table)




El sistema de archivos HPFS (High Performance File System) se presentó para permitir un mejor acceso a los discos duros mayores que estaban apareciendo en el mercado. Además, era necesario que un nuevo sistema de archivos extendiera el sistema de nomenclatura, la organización y la seguridad para las crecientes demandas del mercado de servidores de red. HPFS mantiene la organización de directorio de FAT, pero agrega la ordenación automática del directorio basada en nombres de archivo. Los nombres de archivo se extienden hasta 254 caracteres de doble byte. HPFS también permite crear un archivo de "datos" y atributos especiales para permitir una mayor flexibilidad en lo que se refiere a admitir otras convenciones de nomenclatura y seguridad. Además, la unidad de asignación cambia de clústeres a sectores físicos (512 bytes), lo que reduce el espacio en disco perdido.

El sistema de archivos HPFS (High Performance File System)


NTFS (New Technology File System) a diferencia de FAT o de HPFS, no hay ningún objeto "especial" en el disco y no hay ninguna dependencia del hardware subyacente, como sectores de 512 bytes. Además, no hay ninguna ubicación especial en el disco, como las tablas de FAT o los Bloques súper de HPFS. 
Algunos objetivos de NTFS son: 

Confiabilidad, que es especialmente deseable para los sistemas    avanzados y los servidores de archivos • Una plataforma para tener mayor funcionalidad 
Eliminación de las limitaciones de los sistemas de archivos FAT y HPFS

NTFS (New Technology File System)

EXT3 / EXT4
Un extent es un conjunto de bloques físicos contiguos, mejorando el rendimiento al trabajar con ficheros de gran tamaño y reduciendo la fragmentación. Un extent simple en ext4 es capaz de mapear hasta 128MiB de espacio contiguo con un tamaño de bloque igual a 4KiB.
El sistema de archivos ext3 es compatible adelante con ext4, siendo posible montar un sistema de archivos ext3 como ext4 y usarlo transparentemente.  Este sistema de archivos es utilizado por sistemas operativos como Linux.

EXT3 / EXT4



XFS es un sistema de archivos concebido inicialmente para la plataforma UNIX, siendo posteriormente utilizado en Irix y diferentes distribuciones de linux. XFS soporta un sistema de archivos de hasta 9 exabytes, aunque esto puede variar dependiendo de los límites impuestos por el sistema operativo.

XFS
Funciones del Sistema Operativo

Funciones del Sistema Operativo



Gestión de Procesos
En este escenario el sistema operativo se encarga de iniciar y finalizar los procesos entendiendo que un proceso es un programa en ejecución que necesita recursos para realizar su tarea: Memoria, tiempo de CPU, dispositivos de I/O.
Un proceso se manifiesta en el S.O como un bloque de control de proceso (PCB.  Cada proceso es representado por su PCB. El PCB es una estructura de datos que contiene información importante acerca del proceso como: Estado actual del proceso, Id del proceso, prioridad, apuntadores de localización, áreas para salvar registros.
El PCB es un almacenamiento central de información que permite al S.O localizar toda la información clave sobre el proceso.

Gestión de la memoria
El SO es el responsable de: conocer qué partes de la memoria están siendo utilizadas, definir qué procesos se cargarán en memoria cuando haya espacio disponible, asignar y reclamar espacio de memoria cuando sea necesario.

Gestión de E/S
Para realizar procesos de entrada-salida (I/O), las aplicaciones utilizan dispositivos diversos con formas de operación secuencial, con transferencia de datos síncrona o asíncronamente; pueden ser de lectura/escritura o sólo lectura.  El sistema operativo permite que las aplicaciones puedan hacer uso de estos dispositivos, A través de una interfaz que los expone de una manera más simple, de igual forma concentra su función en manejar y controlar las tareas de los dispositivos.

Gestión de archivos
Los archivos o ficheros son unas unidades lógicas de almacenamiento que define el propio sistema operativo.  Se estructuran como una serie de bits cuyo significado está definido por su creador.  Un sistema de gestión de archivos facilita a los usuarios y aplicaciones servicios para el uso y control de accesos a directorios y archivos.
El sistema operativo proporciona una vista lógica uniforme del almacenamiento de la información, haciendo una abstracción de las propiedades físicas de los dispositivos de almacenamiento para definir una unidad de almacenamiento lógico.  El sistema operativo hace un mapa de los archivos en los medios físicos y accede a estos archivos a través de los dispositivos de almacenamiento.
El sistema operativo es responsable de las siguientes tareas relacionadas con la administración de archivos:
 

Gestión de comunicaciones
La comunicación entre diferentes sistemas se genera a través de interfaces que son controladas por el sistema operativo. De igual manera se deben crear y mantener puntos de comunicación que sirvan a las aplicaciones para enviar y recibir información, creando y manteniendo conexiones virtuales entre aplicaciones que están ejecutándose localmente y otras que lo hacen remotamente.

Gestión de recursos
Las computadoras modernas constan de procesadores, memorias,  discos, ratones, interfaces de red, impresoras y una amplia gama de dispositivos. El sistema operativo asegura un reparto ordenado y controlado de los procesadores, memorias y dispositivos de E/S, entre las diversas aplicaciones que requieren de los mismos.
Cuando una computadora(o red de computadoras) tiene múltiples usuarios, la necesidad de administrar y proteger la memoria, los dispositivos de E/S y los demás recursos es aún mayor, ya que en otro caso los usuarios podrían interferirse entre sí. Es común que los usuarios tengan que compartir no solo el hardware, sino también la información (ficheros, bases de datos, etcétera). En pocas palabras, esta perspectiva del sistema operativo centra su tarea en mantenerse al tanto de quién está utilizando cada recurso, conceder recursos solicitados, contabilizar el uso de los recursos y resolver los conflictos que se presenten entre las solicitudes de las diferentes aplicaciones y usuarios.

Clasificación de los Sistemas Operativos

Clasificación de los Sistemas Operativos

Administración  de tareas
Monotarea
Aquel sistema operativo que solo puede ejecutar un proceso a la vez se denomina monotarea.
 
Multitarea
Es aquel sistema operativo que permite la ejecución de varios procesos al mismo tiempo haciendo uso de uno o más procesadores.  En contextos de programación de computadoras  puede estar modificando el código fuente de un programa durante su depuración mientras compila otro programa, a la vez que está recibiendo correo electrónico en un proceso en background.  Las interfaces gráficas elevan la usabilidad de las aplicaciones y permite un rápido intercambio entre las tareas para los usuarios.

Administración de Usuarios
Monousuario
Son aquellos S.O que Soportan a un usuario a la vez.  En este escenario no importa el número de procesadores que tenga la computadora o el número de procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Las computadoras personales típicamente se han clasificado en este renglón. 
Los sistemas monousuarios pueden atender a un solo usuario, normalmente por las limitaciones de hardware, los programas o el tipo de aplicación que se esté ejecutando.  En esta clasificación encontramos algunas versiones domésticas del S.O Windows y el MS-DOS.

Multiusuario
En esta categoría se encuentran todos los sistemas operativos que cumplen simultáneamente las necesidades de dos o más usuarios compartiendo los mismos recursos. Este tipo de sistemas se emplean especialmente en redes. 
En esta categoría encontramos sistemas operativos como: Windows, Mac OS X, Solaris, Linux, Unix entre otros.

Manejo de recursos
En esta categoría los sistemas operativos pueden ser centralizados o distribuidos, dependiendo si permite usar los recursos de una sola computadora o la utilización de recursos como memoria, cpu, discos de varias computadoras al mismo tiempo.

Sistemas operativos para dispositivos móviles
Este tipo de sistema operativo es el que controla un dispositivo móvil, al igual que las computadoras utilizan Windows o Linux u otros, pero son más simples y están más orientados a la conectividad inalámbrica, los formatos multimedia para móviles y las diferentes maneras de introducir información en ellos.
Entre los sistemas operativos para móviles se destacan: Android, Windows Mobile, iOS, Symbian OS, Blackberry OS.

Sistemas operativos de red
Son aquellos sistemas operativos que mantienen a dos o más computadoras unidas a través de algún medio de comunicación (físico o no), con el objetivo de poder compartir los diferentes recursos y la información del sistema.
Los sistemas operativos de red más usados son: Windows Server, Linux, Novell NetWare,  Unix.

Microsoft Windows Server

Microsoft Windows Server

 
En abril de 2003, Microsoft introdujo Windows Server 2003, reemplazando a la línea de productos de servidor de Windows 2000 incluyendo nuevas características y un fuerte enfoque en la seguridad. La familia Windows Server ofrece una base sólida para toda la carga de trabajo del servidor en una red de computadoras incluyendo herramientas que facilitan su implementación y administración. Las nuevas versiones como Windows server 2008 r2 involucran herramientas mejoradas para procesos  de virtualización, recursos Web, enfocándose en proveer una plataforma para un centro de datos dinámico y administrado de manera eficiente.


Directorio Activo

El Directorio Activo es un componente central de la plataforma Windows que proporciona los medios para gestionar las identidades y relaciones que organizan los entornos de red. Microsoft a partir de su versión de S.O Windows Server 2003 hace el Directorio Activo más sencillo y fácil de administrar, y facilita la migración y la instalación.

GNU/ Linux
 
GNU/ Linux
GNU/Linux es un sistema operativo libre tipo Unix.  Linux está licenciado bajo la GPL v2 y está desarrollado por colaboradores de todo el mundo.
El núcleo GNU/Linux fue desarrollado en el año de 1991 por el entonces estudiante de ciencias de la computación finlandés, Linus Torvalds.  GNU/Linux consiguió rápidamente desarrolladores y usuarios que adoptaron códigos de otros proyectos de software libre para su uso en el nuevo sistema operativo. El núcleo Linux ha recibido contribuciones de miles de programadores.
Normalmente GNU/Linux se utiliza junto a un empaquetado de software, llamado distribución Linux.Una distribución GNU/Linux es una versión de software basada en el núcleo Linux que incluye determinados paquetes de software para satisfacer las necesidades de un grupo específico de usuarios, y es así como se da origen a ediciones domésticas, empresariales y para servidores.  Hoy en día es común encontrar distribuciones de GNU/Linux posicionadas en el mercado con nombres como: Red Hat, Fedora, Debian, Suse, Conectiva, Mandrake, Slackware entre otras.
Una de las razones de la versatilidad del S.O GNU/Linux radica en la estructura y funcionamiento del sistema de ficheros, conocido como Virtual File System (VFS).  El VFS oculta las particularidades de cada sistema de ficheros y unifica el manejo a través de una API común.

Novell NetWare
 
Es una de las plataformas de servicio más fiable para ofrecer acceso seguro y continuado a la red y los recursos de información, especialmente a servidores de archivos.  Netware fue impulsado por Novell bajo la presidencia (1983 a 1995) de Ray Noorda, quien falleció en octubre de 2006.  Novell creció de 17 a 12.000 empleados y se convirtió en una de las compañías más importantes de tecnología que aparecieron en la década de 1980.

Unix
 
Es un sistema operativo multiusuario y multitarea de tiempo compartido, controla los recursos de una computadora y los asigna entre los diferentes usuarios. Permite a los usuarios correr sus programas. 
Controla los dispositivos de periféricos conectados a la máquina.  
 
GLOSARIO
 
API: Interfaz de programación de aplicaciones, es utilizada en procesos de programación orientada a objetos.

EXT3: (third extended filesystem o "tercer sistema de archivos extendido"), es el sistema de archivo más usado en distribuciones Linux, aunque en la actualidad está siendo remplazado por su sucesor, ext4.

FAT: Comúnmente conocido como FAT (del inglés file allocation table), es un sistema de archivos desarrollado para MS-DOS, así como el sistema de archivos principal de las ediciones no empresariales de Microsoft Windows hasta Windows Me.

HPFS: High Performance File System, o sistema de archivos de altas prestaciones, fue creado específicamente para el sistema operativo OS/2 para mejorar las limitaciones del sistema de archivos FAT.

KERNEL: Software que constituye la parte más importante del sistema operativo
KiB: kibibyte es una unidad de información o almacenamiento de datos. Corresponde a 210 bytes, es decir 1024 bytes. Se representa con el símbolo KiB con K mayúscula.
MiB: Mebibyte en su forma abreviada, MiB, es una unidad de información o memoria cuyo valor es de 220, equivalente a 1.048.576 bytes.

NOVELL: Proveedor líder de software de infraestructura

NTFS: New Technology File System es un sistema de archivos de Windows NT incluido en las versiones de Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista y Windows 7.

PCB: Bloque de control de proceso.

XFS: Sistema de archivos de 64 bits con journaling de alto rendimiento creado por SGI (antiguamente Silicon Graphics Inc.) para su implementación de UNIX llamada IRIX

RECURSOS BIBLIOGRÁFICOS
 
Dione, M. D. (s.f.). GrULiC. Recuperado el 11 de Abril de 2012, de Grupo de 
Usuarios de Software Libre de Córdoba: 
http://www.grulic.org.ar/~mdione/www-grulic/trunk/linux.html
Microsoft. (19 de Agosto de 2005). Soporte Microsoft. Recuperado el 11 de Abril de 2012, de Introducción a los sistemas de archivos FAT, HPFS y NTFS: http://support.microsoft.com/kb/100108/es
Tanenbaum, A. S. (2009). Sistemas Operativos / Diseño E Implementación (Tercera Edición ed.). Prentice Hall.
Tanenbaum, A. S. (2003). Sistemas Operativos Modernos. Prentice Hall.

Desarrollador de contenido -Experto temático- Fernelly Carvajal Silva 

Asesor pedagógico Rafael Neftalí Lizcano Reyes

Producción Multimedia Eulises Orduz Amézquita - Victor Hugo Tabares Carreño

Programador       Daniel Eduardo Martínez

Líder expertos temáticos Ana Yaqueline Chavarro Parra


Creative Commons
Publicar un comentario