viernes, 29 de mayo de 2015

Partes Principales de Unix

UNIX file system

La tercera parte que define el sistema operativo UNIX es la estructura de su sistema de ficheros.
Un sistema de ficheros es la forma que tiene el sistema operativo de organizar los datos en una estructura o colección de ficheros. UNIX considera como ficheros no sólo a los ficheros normales (en los que guardamos datos, programas, etc) sino también a los directorios y los dispositivos conectados al sistema.
El sistema de ficheros en UNIX está organizado en una estructura jerárquica de directorios que comienza en el directorio root representado por / .
Los directorios que cuelgan de root pueden variar dependiendo del sistema, aunque los mostrados en el árbol a continuación, sí son comunes a todos los sistemas UNIX.

 
  • /bin contiene comandos y utilidades, son ficheros ejecutables
  • /dev contiene los ficheros que representan a los dispositivos conectados al sistema
  • /etc contiene comandos y ficheros usados en la administración del sistema
  • /home contiene los ficheros home de cada usuario del sistema
  • /lib contiene librerías utilizadas por diferentes programas y lenguajes
  • /tmp es el directorio donde se guardan los ficheros temporales
  • /usr contiene ficheros del sistema que son comunes a los usuarios como programas o documentación.
Los ficheros pueden clasificarse dentro de las siguientes categorías:
  • Ficheros normales
  • Directorios
  • Ficheros especiales
  • Pipes
Los ficheros normales pueden tener contenidos muy diferentes, por ejemplo texto, imágenes, ejecutables, etc. Todos los ficheros tienen un propietario, los que creamos nosotros desde nuestra cuenta nos pertenecen y cada propietario es el que puede controlar los permisos de acceso a ese fichero.
Los directorios son ficheros que contienen referencias a otros ficheros. Aunque todos los ficheros se encuentran dentro de algún directorio, no residen realmente dentro de él. El directorio mantiene dos informaciones básicas sobre cada fichero contenido en él: El nombre y un número llamado inode number que es un puntero que le indica al sistema donde encontrar toda la información que necesita del fichero.
A la correspondencia entre el nombre de un fichero y el inode number se le denomina link. Un mismo inode number puede tener asociados varios nombres y nos podemos referir al fichero por cada uno de estos nombres.
Los dispositivos especiales son ficheros que representan dispositivos físicos como impresoras, dispositivos magnéticos, el ratón, etc. Se encuentran dentro del directorio /dev. Por ejemplo, si la salida por pantalla de un programa no nos interesa podemos enviarla al dispositivo /dev/null que en realidad no tiene un dispositivo físico asociado, perdiéndose de esta forma la salida del programa.
programa1 >/dev/null.


BANCO DE PREGUNTAS 

 1. ¿Qué es un sistema de ficheros?

2. Verdadero o Falso
El sistema de ficheros en UNIX está organizado en una estructura jerárquica de directorios. (________________)

3. ¿Cuál es la clasificación de los ficheros en Unix?

4. ¿A qué se le denomina Link en el sistema de archivos de Unix?

5. ¿Qué es el inode number?

6. ¿Qué contienen los siguientes directorios: bin, dev, etc, hom, lib, tmp, usr?
 

domingo, 24 de mayo de 2015

S.O. UNIX



El sistema operativo UNIX

UNIX comienza en 1969 como un proyecto de investigación de Bell Laboratories, estando disponible la primera versión comercial en 1977 y ganando rápidamente en popularidad y difusión.
Los objetivos que persiguieron los primeros diseñadores de UNIX fueron conseguir un sistema operativo que permitiera un desarrollo eficiente de programas, que fuera pequeño y eficiente en el uso de la memoria y fácil de mantener.
Los sistemas operativos, hasta la aparición de UNIX, eran pensados para funcionar únicamente en el sistema en que eran desarrollados. Esto implicaba un gran esfuerzo en aprender un nuevo sistema operativo cada vez que se usaban sistemas distintos. Aplicaciones que funcionaban en un sistema no estaban disponibles en otros e incluso los propios programas requerían modificaciones para transportarlos a otro sistema.
Una de las razones que han hecho que UNIX haya alcanzado una gran popularidad es resolver estos problemas, pues permite transportarlo fácilmente a diferentes sistemas. Esto se consiguió diseñando el sistema operativo de forma que hiciera muy pocas suposiciones sobre la arquitectura de la computadora y escribiendo la mayor parte del sistema operativo en un lenguaje de alto nivel (C). Sólo una pequeña parte (el kernel) está escrito en lenguaje ensamblador.
 


Partes del sistema operativo

Las partes más importantes en que puede dividirse el sistema operativo UNIX son:
  • Kernel
  • Shell
  • UNIX file system

Además, normalmente con el sistema operativo se suministran otra serie de programas, utilidades para comunicaciones, editores, lenguajes de programación, etc, que no forman parte estrictamente del sistema operativo.

Kernel


Puede considerarse como el núcleo del sistema operativo y es leído cada vez que se inicializa el sistema. Realiza una serie de tareas básicas como son:
  • Controlar la memoria de la máquina y asignar una parte a cada proceso
  • Distribuir el trabajo realizado por la CPU de forma que sea lo más eficiente posible
  • Organizar la transferencia de datos entre las distintas partes del sistema
  • Aceptar las instrucciones de la shell
  • Hacer cumplir los permisos especificados en el sistema de ficheros

Shell

La forma que el usuario tiene de acceder a los servicios del kernel es mediante la shell. Se puede considerar como el intérprete de comandos, que permite que los comandos y programas que tecleamos sean ejecutados.
En UNIX hay varios tipos de shell que ofrecen diferentes características:
  • Bourne shell (sh)
  • C shell (csh)
  • TC shell (tcsh)
  • Korn shell (ksh)
  • Bourne Again SHell (bash)

  1. Bourne shell.- Es un programa informático cuya función consiste en interpretar órdenes. Incorpora características tales como control de procesos, redirección de entrada/salida, listado y lectura de ficheros, protección, comunicaciones y un lenguaje de órdenes para escribir programas por lotes o “scripts”. Fue el intérprete usado en las primeras versiones de Unix y se convirtió en un estándar de facto.
  2. C shell.- Es un lenguaje de programación, conocido también como csh. Se le considera más idóneo para programadores que Bourne Shell (sh), además de hacer reflejar que la informática se estaba haciendo más interactiva
  3. TC shell.-  Es similar a la anterior pero ofrece más facilidades para editar la línea de comandos de forma interactiva. En lo que resta del curso supondremos que estamos trabajando con la TC o C shell.
  4. Korn shell y Bourne Again SHell.-  Proporcionan las facilidades de interacción de TC shell pero el lenguaje de programación en shell es más parecido al original Bourne shell que a TC o C shell.
 Fuentes:

https://hablemoslinux.wordpress.com/2012/01/28/que-es-un-shell-script/

 
BANCO DE PREGUNTAS
Una vez leída la información anterior transcribe a tu folder y contesta el siguiente cuestionario.


 1. ¿Cuáles fueron los objetivos de los desarrolladores de UNIX?
2. Completa.- Los sistemas operativos, hasta la aparición de UNIX, eran pensados para funcionar únicamente..................................................................................................
3. ¿Cuáles son las partes más importantes en que puede dividirse el sistema operativo UNIX?
4.- ¿Qué es el Kernel y cuáles son las tareas básicas?
5. ¿Qué es la SHELL y qué permite?
6. Enumere y defina los diferentes tipos de Shell.