Trabajo1 SOA

1.- Particiones a) Definición. Tipos de particiones. Ventajas y Desventajas. Una partición de disco es el nombre genéric

Views 131 Downloads 0 File size 266KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

1.- Particiones a) Definición. Tipos de particiones. Ventajas y Desventajas. Una partición de disco es el nombre genérico que recibe cada división presente en una sola unidad física de almacenamiento de datos. Toda partición tiene su propio sistema de archivos(formato); generalmente, casi cualquier sistema operativo interpreta, utiliza y manipula cada partición como un disco físico independiente, a pesar de que dichas particiones estén en un solo disco físico. El formato o sistema de archivos de las particiones (p. ej. NTFS) no debe ser confundido con el tipo de partición (p. ej. partición primaria), ya que en realidad no tienen directamente mucho que ver. Independientemente del sistema de archivos de una partición (FAT, ext3, NTFS, etc.), existen 3 tipos diferentes de particiones: ● Partición primaria: Son las divisiones crudas o primarias del disco, solo puede haber 4 de éstas o 3 primarias y una extendida. Depende de una tabla de particiones. Un disco físico completamente formateado consiste, en realidad, de una partición primaria que ocupa todo el espacio del disco y posee un sistema de archivos. A este tipo de particiones, prácticamente cualquier sistema operativo puede detectarlas y asignarles una unidad, siempre y cuando el sistema operativo reconozca su formato (sistema de archivos). ● Partición extendida: También conocida como partición secundaria es otro tipo de partición que actúa como una partición primaria; sirve para contener infinidad de unidades lógicas en su interior. Fue ideada para romper la limitación de 4 particiones primarias en un solo disco físico. Solo puede existir una partición de este tipo por disco, y solo sirve para contener particiones lógicas. Por lo tanto, es el único tipo de partición que no soporta un sistema de archivos directamente. ● Partición lógica: Ocupa una porción de la partición extendida o la totalidad de la misma, la cual se ha formateado con un tipo específico de sistema de archivos (FAT32, NTFS, ext2,...) y se le ha asignado una unidad, así el sistema operativo reconoce las particiones lógicas o su sistema de archivos. Puede haber un máximo de 23 particiones lógicas en una partición extendida. Linux impone un máximo de 15, incluyendo las 4 primarias, en discos SCSI y en discos IDE 8963.

Razones para el uso de particiones Algunos sistemas de archivos (p.e. versiones antiguas de sistemas FAT de Microsoft) tienen tamaños máximos más pequeños que los que el tamaño que proporciona un disco, siendo necesaria una partición de tamaño pequeño, para que sea posible el adecuado funcionamiento de este antiguo sistema de archivos. ● Se puede guardar una copia de seguridad de los datos del usuario en otra partición del mismo disco, para evitar la pérdida de información importante. Esto es similar a un RAID, excepto en que está en el mismo disco. ● En algunos sistemas operativos aconsejan más de una partición para funcionar, como por ejemplo, la partición de intercambio (swap) en los sistemas operativos basados en Linux. ● A menudo, dos sistemas operativos no pueden coexistir en la misma partición, o usar diferentes formatos de disco “nativo”. La unidad se particiona para diferentes sistemas operativos. ● Uno de los principales usos que se le suele dar a las particiones (principalmente a la extendida) es la de almacenar toda la información del usuario (entiéndase música, fotos, vídeos, documentos), para que al momento de reinstalar algún sistema operativo se formatee únicamente la unidad que lo contiene sin perder el resto de la información del usuario. A lo largo de los años han aparecido numerosos sistemas de particionamiento, para casi todas las arquitecturas de ordenadores existentes. Muchos son relativamente transparentes y permiten la manipulación conveniente de las particiones de disco; algunos, sin embargo, son obsoletos. Las tablas de particiones (MBR) sólo admiten hasta 2,2 TB por partición. Dado que sólo soportan 4 particiones primarias, el tamaño máximo admisible para un disco duro sería de 8,8 TB (el resto de capacidad no se podría utilizar). Como la arquitectura IBM PC es muy común, las tablas de partición probablemente subsistirán cierto tiempo. Sin embargo, existe un proyecto de Intel llamado Extensible Firmware Initiative (EFI)con el sistema GPT, que soporta teóricamente hasta 9,4 ZB.



Las ventajas del uso de particiones extendidas

Las particiones extendidas se inventaron para superar el límite de 4 particiones primarias máximas por cada disco duro y poder crear un número ilimitado de unidades lógicas, cada una con un sistema de archivosdiferente de la otra. Todos los sistemas modernos (Linux, cualquier Windows basado en NT e incluso OS/2) son capaces de arrancar desde una unidad lógica. Sin embargo, el MBR por defecto utilizado por Windows y DOS sólo es capaz de continuar el proceso de arranque con una partición primaria. Cuando se utiliza este MBR, es necesario que exista por lo menos una partición primaria que contenga un cargador de arranque (comúnmente el NTLDR de Windows). Otros cargadores de arranque que reemplazan el MBR, como por ejemplo GRUB, no sufren de esta limitación.

b) ¿Como se identifican las particiones en GNU/Linux? (Considere discos IDE, SCSI y SATA) En Linux se representan de la siguiente manera: hda (primer disco duro IDE). hda1 (primera partición del primer disco duro IDE). hda2 (segunda partición del primer disco duro IDE). hda5 (primera partición lógica de una partición extendida del primer disco duro IDE) hdb (segundo disco duro IDE). hdb1 (primera partición del segundo disco duro IDE). hdb2 (segunda partición del segundo disco duro IDE). hdb5 (primera partición lógica de una partición extendida del segundo disco duro IDE) Discos SCSI ó SATA. sda (primer disco duro SCSI) sda1 (primera partición del primer disco SCSI). sda2 (segunda partición del primer disco SCSI). sda5 (primera partición lógica del primer disco duro SCSI) sdb (segundo disco duro SCSI)

c) ¿Cuantas particiones son necesarias como mínimo para instalar GNU/Linux? Nómbrelas indicando tipo de partición, identificación tipo de FileSystem y punto de montaje Como minimo es necesario una particion para el / (punto de montaje),pero es recomendable crear al menos 2,(/ y swap),primaria para el / y swap.El tipo de file system puede ser ext2,ext3,ext4.

d) Ejemplifique diversos casos de particionamiento dependiendo del tipo de tarea que se deba realizar en su sistema operativo

e) ¿Qué tipo de software para particionar existe? Menciónelos y compar Destructivos:Permiten crear y eliminar particiones (fdisk) No desctructivos:Permiten crear,eliminar y MODIFICAR particiones (FIPS,Gparted)

2.- Arranque de un Sistema Operativo a) ¿Qué es el MBR? ¿Que es el MBC? Sector de arranque – MBR El Master Boot Record es el primer sector del disco físico. Se ubica en el cilindro 0, cabeza 0, sector 1. En todos los discos existe un MBR, pero el mismo es tenido en cuenta si el disco contiene las particiones del sistema. El tamaño de MBR coincide con el tamaño estandard de sector del disco, generalmente 512 bytes. Estos bytes contienen lo siguiente: • Master Boot code • Tabla de particiones Comienza en el byte 446. Esta tabla es de 64 bytes y al final existen 2 bytes libres. El MBR es creado utilizando algún utilitario que permita diseñar al estructura del disco rígido, como por ejemplo fdisk, partition magic, part,etc. El MBC es la imagen de un pequeño programa que permite “arrancar” el SO. La tabla de particiones provee información sobre las particiones del disco, como por ejemplo, donde comienzan y donde termina. La tabla de particiones tiene 4 entradas, una por cada posible partición primaria del disco. Cada entrada es de 16 bytes y contiene la siguiente información. • Indicador de booteo: especifica si la partición es booteable o no. • Cilindro, cabeza y sector del comienzo de la partición. • Identificador del sistema, para indicar el tipo de SO que reside en la partición, o alternativamente para indicar si se trata de una partición extendida o una entrada correspondiente a una partición libre. • Cilindro, cabeza y sector del final de la partición. Si existe mas de un disco rígido en el equipo, solo uno es designado como Primary Master Disc. Desde este disco se realizará el booteo• Cantidad de sectores que preceden el comienzo de la partición. • Cantidad de sectores que contiene la partición. Utilización del MBR La última acción del BIOS(después de los testeos POST) es leer el primer sector de la unidad primaria(así sea un diskette un CDROM o un disco rígido). El programa de booteo lleva el sector leído a memoria y si los datos son correctos lo ejecuta. El MBC es un pequeño codigo que permite arrancar el sistema operativo.La tarea del MBC consiste en buscar una entrada de la tabla de particiones marcada con el valor 0x80 indicando que esta entrada es booteable lo cual indica que la partición correspondiente a esta entrada es booteable. La ultima accion del BIOS es leer el MBC.Lo lleva a memoria y lo ejecuta. b) ¿Cuál es la funcionalidad de un “Gestor de Arranque”? ¿Qué tipo existen? ¿Dónde se instalan? Cite gestores de arranque conocidos. La funcionalidad del gestor de arranque es preparar todo lo que necesita el sistema operativo para funcionar,es decir se encarga del bootstrap (carga ) o booteo del sistema. Se ejecuta luego del código de la BIOS Existen 2 modos de instalación. ● En el MBR ● En el sector de arranque de la partición raíz o activa(GRUB, LILO, NTLDR, GAG, YaST, etc). c) Cuales son los pasos se suceden desde que se prende una computadora hasta

que el Sistema Operativo es cargado (bootstrap).

En las arquitecturas x86, el BIOS (Basic I/O System) es el responsable de iniciar la carga del SO a través del MBC. Carga el programa de booteo (desde el MBR). El gestor de arranque lanzado desde el MBC carga el Kernel,prueba e inicializa los dispositivos,luego pasa el control al proceso init.El proceso de arranque se ve como una serie de pequeños programas de ejecución encadenada. d) Analice el proceso de arranque en GNU/Linux. En el MBR solo se encuentra la Fase 1 del Grub (Stage 1) que solo se encarga de cargar la fase 1.5 La Fase 1.5 (Stage 1.5) se encuentra ubicado en los siguientes 30 KB. del disco y carga la fase 2 La Fase 2 (Stage 2) almacenada en disco, presenta una interfaz al usuario y carga el Kernel Seleccionado Se configura a través del archivo /boot/grub/menu.lst Algunas líneas: ✔ default: Cambia el SO por defecto a bootear ✔timeout: Tiempo de espera para cargar el SO por defecto e) Cuales son los pasos que se suceden en el proceso de parada (shutdown) de GNU/Linux. shutdown Por medio de shutdown el sistema puede detenerse, reiniciarse o apagarse de forma segura y ordenada. Esto, en los sistemas GNU/Linux, es algo fundamental para evitar problemas. No es un suceso extra˜no perder datos, por ejemplo, con un corte de suministro electrico, si bien los sistemas de archivos con journaling han paliado en gran parte este problema. Funcionamiento A grandes rasgos, cuando se lanza shutdown, se notifica a los usuarios de este hecho y, ademas, se bloquea el sistema para que nadie mas pueda acceder —creando el archivo /etc/nologin—, exceptuando el root. Acto seguido, se envıa la se˜nal SIGTERM a todos los procesos no definidos en inittab para el siguiente run level, provocando que terminen su ejecucion de modo ordenado. Poco despues, se envia una señal SIGKILL para que los procesos que no hayan atendido a SIGTERM concluyan tambi´en su ejecucion —pero en este caso no de una manera “limpia”—. shutdown lleva a cabo su cometido enviando una senal a init para que cambie a uno de estos niveles de ejecucion, en funcion del efectoñque se desee conseguir: Apagar o detener el sistema (nivel 0, opcion “-r”). Entrar en modo monousuario (nivel 1, opcion por defecto). Reiniciar el sistema (nivel 6, “-h”).

Una vez cambiado el nivel de ejecucion, si procede, se invoca a halt, reboot o poweroff segun sea necesario. Sintaxis La invocacion de shutdown tiene la forma: /sbin/shutdown [-t segundos] [-opciones] tiempo [mensaje de aviso] Como puede observarse, el unico argumento obligatorio es tiempo, mediante el cual se indica el momento en que debe producirse la operacion. Principalmente, este parametro puede adoptar dos formas: ● ●

El clasico formato horario hh:mm. El numero de minutos que deben transcurrir antes de proceder, indicado como +m. Para indicar que no se retrase el proceso, puede utilizarse la palabra now — equivalente a +0—.

Si se indica un retardo, shutdown avisara a los usuarios de la inminente operacion cuando falten diez minutos, y a partir de cinco lo har´a cada minuto que pase. Precisamente cuando resten tan solo cinco minutos —o menos— se creara el archivo /etc/nologin. Sin embargo, no llevara a cabo ninguna acci´on m´as hasta que el tiempo se haya agotado. Como no, el root podr´a cancelar el proceso usando el argumento -c —o pulsando el consabido ctrl+c—. Otras dos opciones, mencionadas anteriormente, resultan de especial interes: estas son -h y -r, que servir´an para indicar a shutdown si debe invocar, al final, a halt o reboot. Como ya se vio anteriormente, la opcion por defecto es entrar en modo monousuario, asi que esto sera lo que se haga si no se especifica ninguno de las dos opciones anteriores. Pero, ¿que ocurre con poweroff? Hasta ahora solo se ha hablado de como provocar la invocacion de reboot y halt. Sin embargo, no se ha mencionado nada de poweroff. Esto se debe a que shutdown no invoca a poweroff, sino a halt, que sera quien se encargue de, si procede, invocar a poweroff. No obstante, usando las opciones -P y -H se indica a shutdown que, al lanzar halt, le indique si debe o no apagar la maquina —´este es el comportamiento por defecto, si el nucleo lo permite—. Para terminar, mencionar que existen otras posibilidades, como indicar que en el proximo inicio no se realicen chequeos de los sistemas de archivos o, justamente, todo lo contrario. Como siempre, la lectura de la pagina del manual de shutdown est´a m´as que aconsejada. f) ¿Es posible tener en una PC GNU/Linux y otro Sistema Operativo instalado? Justifique. Si,es posible mediante un gestor de carga,como grub o LILO.

3.- Características de GNU/Linux

a) Mencione y explique las características más relevantes de GNU/Linux. b) Mencione otros sistemas operativos y compárelos con GNU/Linux en cuanto a los puntos mencionados en el inciso a. c) ¿Qué es GNU? Es un Sistema Operativo tipo Unix, pero libre S.O. diseñado por miles de Programadores S.O. Gratuito y de libre distribución (se baja desde la web, CD, etc.).Existen diversas distribuciones (customizaciones).Y fundamentalmente es de código abierto, lo que nos permite estudiarlo, personalizarlo, auditarlo, aprovecharnos de la documentación, etc… GNU = GNU No es Unix Iniciado por Richard Stallman en 1983 con el fin de crear un Unix libre (el sistema GNU, que aún no está finalizado).Para asegurar que el mismo fuera libre, se necesitó grear un marco regulatorio conocido como GPL (General Public Licence de GNU) Es importante desambiguar el termino Linux, de GNU/Linux. Actualmente se suele hablar de Linux como un Sistema Operativo (SO), pero el termino correcto para el SO, es GNU/Linux. Linux es en si un núcleo (kernel); es el kernel, que junto al sistema GNU, creado por Stallman, dieron origen a al SO GNU/Linux. En 1985, Stallman crea la FSF (Free Software Foundation), con el fin de financiar al proyecto GNU En el año 1992, Torvalds y Stallman, deciden fusionar ambos proyectos, y es allí donde nace GNU/Linux. GNU Se refiere a 4 libertades principales de los usuarios del software: ● Libertad de usar el programa con cualquier propósito ● Libertad de estudiar su funcionamiento ● Libertad para distribuir sus copias ● Libertad para mejorar los programas Características del Software Libre: ● Es de costo nulo ● Se puede usar y redistribuir libremente ● “Generalmente” se distribuye junto con su código fuente ● Corrección mas rápida ante fallas ● Características que se refieren a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. Características del Software Propietario: ● Generalmente tiene un costo asociado ● No se lo puede distribuir libremente ● Generalmente no permite su modificación ● Normalmente no se distribuye junto con su código fuente ● Corrección de fallas está a cargo del propietario ● Generalmente al contar con una inversión mayor, proveen mas avances y funcionalidad ● Menor necesidad de técnicos especializados Características generales de GNU/Linux ● Es multiusuario

● ● ● ● ● ● ● ●

Es multitarea y Multiprocesador Es altamente portable Posee diversos intérpretes de comandos y algunos de ellos son programables Permite el manejo de usuarios y permisos Todo es un archivo (hasta los dispositivos y directorios) Cada directorio puede estar en una partición diferente (ejemplos /tmp, /home, etc) Es case sensitive GPL

Diseño ● Fue desarrollado buscando la portabilidad de los fuentes ● Desarrollo en capas ● Separación de funciones ● Cada capa actúa como una caja negra hacia las otras ● Posibilita el desarrollo distribuido ● Soporte para diversos File Systems ● Memoria virtual = RAM + SWAP ● Desarrollo mayoritario en C y un poquito en assembler. d) Indique una breve historia sobre la evolución del proyecto GNU Núcleo - Un poco de Historia ● ● ● ● ● ● ● ● ● ● ● ● ● ●

En 1991 Linus Torvalds inicia la programación de un Kernel Linux basado en Minix (Clon de Unix desarrollado por Tanembaum en 1987 con el fin de crear un SO de uso didáctico). El 5 de octubre de 1991, se anuncia la primera versión "oficial" de Linux (0.02) En 1992 se libera su desarrollo con GNU(GPL) La versión 1.0 apareció el 14 de marzo de 1994 Desarrollo continuado por miles de programadores alrededor del mundo En mayo de 1996 se decide adoptar a Tux comomascota oficial de Linux En julio de 1996 se lanza la versión 2.0 y se define un sistema de nomenclatura. Se desarrolló hasta Febrero de 2004 y terminó con la 2.0.40 En enero de 1999 se lanza la versión 2.2, que provee mejoras de portabilidad entre otras y se desarrolla hasta Febrero de 2004 terminando en la versión 2.2.26 En 2001 se lanza la versión 2.4 y se deja de desarrollar a fines del 2010 con la 2.4.37.11 La versión 2.4 fue la que catapultó a GNU/Linux como un SO estable y robusto. Durante este período es que se comienza a utilizar Linux mas asiduamente. A fines del 2003 se lanza la versión 2.6 Esta versión ha tenido muchas mejoras para el SO dentro de las que se destacan soporte de hilos, mejoras en la planificación y soporte de nuevo hardware El 3 de agosto de 2011 se lanza la versión 2.6.39.4 anunciándose la misma desde meses previos como la última en su revisión En 17 Julio de 2011 se lanza la versión 3.0(http://kernelnewbies.org/Linux_3.0)

e) Explique que es la multitarea preventiva, e indique si GNU/Linux hace uso de ella. Linux es un sistema operativo con "multitarea preventiva", esto hace de Linux un sistema con una estabilidad muy buena. Multitarea preventiva se refiere a que en el sistema pueden estar corriendo

varios programas, (al mismo tiempo), asignandole una "porcion" o tiempo de procesamiento a cada uno, haciendo que si uno o varios programas que se estuvieron ejecutando, se "cuelgan", no afecte a las otras tareas, y al resto de los programas que se esten ejecutando en el sistema. f) ¿Qué es 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 término fue sugerido por Richard Stallman en respuesta a la demanda de la IEEE, que buscaba un nombre fácil de recordar. Una traducción aproximada del acrónimo podría ser "Interfaz de sistema operativo portable". Se creo para generalizar las interfaces de los sistemas operativos para que una misma aplicación pueda ejecutarse en distintas plataformas. 4.- Distribuciones de GNU/Linux a) y b) ¿Qué es una distribución de GNU/Linux? Nombre las principias distribuciones de GNU/Linux y cite diferencias básicas entre ellas. Customización de GNU/Linux formada por una versión de kernel y determinados programas con sus configuraciones: Debian,Ubuntu,Mandriva,Red Hat.

Debian: Se orienta a la estabilidad, en términos de ciclo de desarrollo. Sus actualizaciones y versiones se liberan cuando están listas y bien probadas. Lo cual es bueno para servidores, pero por otra parte nos limita compatibilidad con dispositivos de hardware más novedosos. Son muy exigentes en lo que respecta a Software Libre. Fedora: Se orienta a innovación con un ciclo de desarrollo corto de seis meses, y un tiempo de soporte de un año sobre sus paquetes. Lo más nuevo se encuentra en Fedora, a veces la gente desconfía de la solidez de sus paquetes sin embargo lo que sucede es que estan en fase de maduración y se le integran mejores funcionalidades. Por ahí leí que Fedora es como probar lo que Linux ofrecerá dentro de seis meses. Opensuse: Novel se quedo sin sistema operativo para su plataforma de servidores y redes, asi que compro Suse. Su panel de control para configuración lo hace fácil de configurar. Es una buena elección para aprender de servidores, pero posiblemente para cosas más sofisticadas dejaran las herramientas de configuración y harán ajustes personalizados. El mundo de Software Libre les critica fuertemente sus acuerdos de interoperabilidad con Microsoft. Ubuntu: Se propuso cambiarle la cara al mundo Linux y ciertamente lo ha lorgrado. Apuntando a ser fácil de usar hace bien simple la instalación de drivers y decodificadores privativos, cosa que se le critican los fundamentalistas del software libre. Su programa de enviar discos gratis hasta la puerta de tu casa ha significado su creciente popularidad. Tiene ciclo de desarrollo rápido, pero sus versiones tiene ciclos de soporte alternado, entre periodos largos y cortos, tratando de tener estabilidad de soporte y flexibilidad de desarrollo. Las mayores diferencias se encuentran sobre todo en distribuciones comerciales, donde se han introducido herramientas para una facil instalación, detección de software etc... Diferencias: 1.- Proceso de instalación. 2.- Ayudantes o wizard que te ayuden en la configuración de tu máquina. 3.- Gestores de paquetes. 4.- Secuencia en el proceso de arranque.

5.- Estructura de GNU/Linux. a) y b) Nombre cuales son los 3 componentes más fundamentales de GNU/Linux. Estructura

Nos ocuparemos de tres componentes principales: • Kernel El kernel o núcleo se podría definir como el corazón de este sistema operativo. Es,a grandes rasgos, el encargado de que el software y el hardware de unacomputadora puedan trabajar juntos. • Shell Es un programa que recibe lo que se escribe en una terminal de texto y lo convierte en instrucciones para el sistema operativo. • Filesystem Es la forma lógica en que dentro de un SO se organizan y se administran los archivos. 6.- Kernel a) ¿Qué es? Indique una breve reseña histórica acerca de la evolución del Kernel de GNU/Linux b) ¿Cuales son sus funciones principales? c) ¿Cuál es la versión actual? ¿Qué versiones existen? ¿Cómo se las diferencian? El nucleo es la porción del S.O. que se encuentra en la memoria principal. Contiene las funciones usadas más frecuentemente. Implementa servicios básicos: ✔ Manejo de memoria en general ✔ Administración de procesos ✔ Comunicación y Concurrencia ✔ Gestión del Hardware Modo de Versionar: A.B.C.[D] A: Denota Versión. Cambia con menor Frecuencia. en 1994 (versión 1.0), en 1996 (versión 2.0) y en 2010(3.0) B: Denota Mayor revisión. Antes de la versión 2.6, los números impares indicaban desarrollo, los pares producción C: Denota Menor revisión. Solo cambia cuando hay nuevos drivers o características D: Cambia cuando se corrige un grave error sin agregar nueva funcionalidad d) Es posible tener más de un Kernel de GNU/Linux. 2 nucleos corriendo simultaneamente en Linux es imposible. e) ¿Donde se encuentran ubicados dentro del File System? En lib: librerías compartidas y módulos del kernel. f) ¿El Kernel de GNU/Linux es monolítico? Justifique. Si,este sistemas tiene un núcleo grande y complejo, que engloba todos los servicios del mismo. 7.- Intérprete de comandos (Shell)

a) ¿Qué es? b) ¿Cuales son sus funciones? c) Mencione al menos 3 tipos de intérpretes de comandos que posee GNU/Linux y compárelos entre ellos. d) ¿Donde se ubican (ruta) los comandos propios y externos al Shell? e) ¿Por qué considera que el Shell no es parte del Kernel de GNU/Linux? Shell Es un programa que recibe lo que se escribe en una terminal de texto y lo convierte en instrucciones para el sistema operativo. ● ● ● ● ● ● ●

También conocido como CLI (Command Line Interface) Modo de comunicación entre el usuario y el SO Ejecuta programas a partir del ingreso de comandos Cada usuario tiene una interfaz o shell Se pueden Personalizar Son programables Bourne Shell (sh), Korn Shell (ksh), Bourne Again Shell (bash) (autocompletado, history,alias)

El shell (-también conocido como el intérprete de comandos línea de comandos, terminal, consola-) es un programa que actúa como interfaz, para comunicar al usuario con el sistema operativo mediante una ventana que espera comandos textuales ingresados por el usuario en el teclado, los interpreta y los entrega al SO para su ejecución. La respuesta del SO es mostrada al usuario en la misma ventana. A continuación, el shell queda esperando más instrucciones. Se interactúa con la información de la manera más simple posible, sin gráficas, solo el texto. Es posible que un sistema operativo tenga varios intérpretes de comandos; dentro de GNU/Linux y Unix, existen tres grandes familias de Shells, estas son: Korn-Shell (ksh), Bourne-Shell (sh) y C-Shell (csh). Estas se diferencian entre sí básicamente en la sintaxis de sus comandos y en la interacción con el usuario. El mas usado hoy en día es bash (-su nombre es un acrónimo de bourne-again shell, haciendo un juego de palabras sobre el Bourne-shell-). El shell no forma parte del kernel básico del SO; sino que la misma “dialoga” con el kernel. El shell es iniciada por un proceso denominado “login”, y dado que cada usuario tiene asignado un shell por defecto, el mismo se inicia cada vez que un usuario comienza a trabajar en su estación de trabajo (es decir se “loguea” en una terminal). Dentro del contenido del archivo /etc/passwd, se puede ver cual es el shell que cada usuario tiene asignada por defecto. El funcionamiento del shell consiste en que, en su forma mas básica, se muestra un prompt (-conjunto de caracteres que se muestran en una línea de comandos para indicarnos que está a la espera de ordenes. En el Bourne Shell y sus derivados, el prompt suele ser el carácter $ para los usuarios y # para el administrador-), en donde el usuario teclea una orden en el teclado y finaliza la orden (-normalmente con la tecla Intro/Enter-), y la computadora ejecuta la orden, proporcionando una salida de texto. 8.- Sistema de Archivos (File System) a) ¿Qué es?

Filesystem se traduce como “sistema de archivos”. Es la forma en que dentro de un sistema de cómputo se organizan y se administran los archivos. b) Mencione sistemas de archivos soportados por GNU/Linux. ext3,ext4,xfs c) ¿Es posible visualizar particiones del tipo FAT y NTFS en GNU/Linux? Si,es posible. d) ¿Cuál es la estructura básica de los file System en GNU/Linux? Mencione los directorios más importantes e indique que tipo de información se encuentra en ellos. No existe el concepto de unidad C: como tal, sino que todo se basa en un árbol o jerarquía de carpetas donde se irán ubicando los diferentes archivos del sistema. Se lo denomina árbol ya que cada carpeta se puede representar como una "rama". Al origen de toda la estructura de directorios se le llama "raiz" (root en inglés) y se la representa con una barra /. Podemos utilizar el comando ls / para ver cómo es el árbol de sistema de Linux bin: programas bnarios esenciales boot: achivos utilizados por el gestor de arranque. dev: archivos de dispositivo. etc : configuración del sistema. lib: librerías compartidas y módulos del kernel. media: punto de montaje para medios removibles. mnt: punto de montaje para medios temporarios. opt: paquetes de software de aplicación agregados. sbin: programas binarios esenciales del sistema. srv: datos de servicios del sistema tmp: archivos temporarios var: información variable. home: directorios base para los usuarios. root: directorio home del usuario root proc información sobre los procesos en ejecución y el sistema.

FHS - Filesystem Hierarchy Standard FHS define los directorios principales y sus contenidos en el sistema operativo Linux GNU/Linux y otros sistemas de la familia Unix. Se diseñó originalmente en 1994 para estandarizar el sistema de archivos de las distribuciones GNU/Linux,basándose en la tradicional organización de directorios de los sistemas Unix.

9.- Comandos

lspci cd at ls

cd nombre_directorio: Cambia de directorio

Lista los archivos de un directorio concreto. -l: Lista también las propiedades y atributos. -la: Lista archivos incluidos los ocultos de sistema. -la | more: Lista los archivos de un directorio de forma paginada touch [-am][-t] archivo: Cambia las fechas de acceso (-a) y/o modificación (-m) de un archivo. pwd Visualiza el directorio actual. netstat df : Muestra información sobre particiones montadas. tail archivo: Muestra las últimas líneas de un archivo,10 por defecto. shutdown head -nro archivo: Muestra las primeras (número) líneas de un archivo. reboot mount : Vemos el listado de dispositivos montados. halt umount /dev/hda2: Desmonta un dispositivo find directorio -name unNombre: Busca todos los archivos con nombre unNombre en directorio. losetup locate write uname -a: Versión del kernel. mkfs dmesg fdisk (con cuidado) particionador destructivo lwho muestra información de los usuarios conectados al sistema.

10.- Indique en que directorios se almacenan los comandos mencionados en el ejercicio 9.

/bin /sbin /usr/bin 11.- Archivos a) ¿Como se identifican los archivos en GNU/Linux? b) Investigue el funcionamiento del editor vi, mcedit, el comando cat y more. c) Cree un archivo llamado “prueba.exe” en su directorio personal usando el vi. El mismo debe contener su número de alumno y su nombre. d) Investigue el funcionamiento del comando file. Pruébelo con diferentes archivos. ¿Qué diferencia nota?

e) Utilice el editor vi para editar el archivo anteriormente creado

Generalmente un sistema de archivos(filesystem) tiene directorios que asocian nombres de archivos con archivos, usualmente conectando el nombre de archivo a un índice en una tabla de asignación de archivos de algún tipo, como los i-nodos de los sistemas Unix. La estructura de directorios puede ser plana o jerárquica (ramificada o "en árbol"). En algunos sistemas de archivos los nombres de archivos son estructurados, con sintaxis especiales para extensiones de archivos y números de versión. En otros, los nombres de archivos son simplemente cadenas de texto y los metadatos de cada archivo son alojados separadamente. En sistemas de archivos jerárquicos, en lo usual, se declara la ubicación precisa de un archivo con una cadena de texto llamada "ruta" (path). La nomenclatura para rutas varía ligeramente de sistema en sistema, pero mantienen por lo general una misma estructura. Una ruta viene dada por una sucesión de nombres de directorios y subdirectorios, ordenados jerárquicamente de izquierda a derecha y separados por algún carácter especial que suele ser una barra ('/') o barra invertida ('\') y puede terminar en el nombre de un archivo presente en la última rama de directorios especificada. Los sistemas de archivos tradicionales proveen métodos para crear, mover y eliminar tanto archivos como directorios, pero carecen de métodos para crear, por ejemplo, enlaces adicionales a un directorio o archivo (enlace duro en Unix - los enlaces duros son una referencia, ó indicador a los datos físicos sobre un sistema de archivos-) ó renombrar enlaces padres (el ".." en Unix).

Para empezar, los ejecutables en linux no poseen una extensión como en windows. Para que un programa sea "ejecutable" tiene que tener permiso de ejecución. Esto se puede ver si ejecutas el comando "ls -l ". Te aparecerá una linea como esta: -rwxrwxrwx 1 root root 52 2005-11-11 00:52 fichero El último es el nombre el fichero, como ya podrás imaginarte. Antes aparece la fecha y hora del fichero. Las dos palabras de antes se refiren al usuario dueño del fichero y al grupo. En este ejemplo el usuario es root (o sea, el administrador) y el grupo es el de root. Los caracteres de antes, que son los primeros, son los importantes. El primer carácter indica si es un directorio "d" o no "-". También puede tener una "l", lo cual significa que es un enlace y que el fichero se encuentra en otro lugar. Los siguientes caracteres van en grupos de 3 y son los permisos para el dueño del fichero, para el grupo y para el resto. Los caracteres significan: ● ● ●

"w" Tiene permiso para modificar el fichero. "r" Tiene permiso para leer el fichero. "x" Tiene permiso para ejecutar el fichero.

Linux mira si el usuario con el que estas tiene permiso para ejecutar el fichero. Si ves que no se ejecuta es que tu usuario no tiene los permisos correctos. Para modificarlos tienes que ser el dueño del fichero o el usuario root. Para cambiarlos existe el comando "chmod". Puedes ver una ayuda de chmod tecleando "man chmod". De todas formas, los permisos se pueden poner en sistema octal como "chmod 753 ". Esto dejaría el fichero con los permisos wrxw-x-rx. Cada dígito se utiliza para cada terna de los permisos. Si los permisos están correctos, o lo estas ejecutando como root, el problema estará en el path de

los ejecutables. Pulsando "echo $PATH" te mostrará los directorios en los que busca los comandos separado por ";". Por seguridad, el usuario root no tiene el directorio en el que te encuentra "." dentro del path, por lo que puedes ejecutar el comando anteponiendo "./" en el directorio del ejecutable. Por ejemplo,"./ejecutable". Si los permisos están correctos y el path esta bien también, la única posibilidad es que el ejecutable no esté bien, aunque si lo has compilado tu y no ha dado errores, esta posibilidad es demasiado baja. Linux sólo distingue tres tipos de archivos: · Archivos o ficheros ordinarios, son los mencionados anteriormente. · Directorios (o carpetas), es un archivo especial que agrupa otros ficheros de una forma estructurada. · Archivos especiales, son la base sobre la que se asienta Linux, puesto que representan los dispositivos conectados a un ordenador, como puede ser una impresora. De esta forma introducir información en ese archivo equivale a enviar información a la impresora. Para el usuario estos dispositivos tienen el mismo aspecto y uso que los archivos ordinarios. Al contrario que en Windows o MS-DOS el sistema de archivos en cualquier sistema Unix no está ligado de una forma directa con la estructura del hardware, esto es, no depende de si un determinado ordenador tiene 1, 2 o 7 discos duros para crear las unidades c:, d: o m:. Todos el sistema de archivos de Unix tiene un origen único la raíz o root representada por /. Bajo este directorio se encuentran todos los ficheros a los que puede acceder el sistema operativo. Estos ficheros se organizan en distintos directorios cuya misión y nombre son estándar para todos los sistema Unix. ·

/ Raíz del sistema de archivos.

· /dev Contiene ficheros del sistema representando los dispositivos que estén físicamente instalados en el ordenador.