Realitat o fake news? – Què causa el canvi climàtic? - La desertització
Ampliación de Sistemas Operativos - Tema 1
1. Grado en Ingeniería en Tecnologías de la Información
Departamento de Informática y Automática – E.T.S.I INFORMÁTICA
Ampliación
de
Sistemas Operativos
D. Alberto Castedo Espeso
acastedo@ponferrada.uned.es
2. Grado en Ingeniería en Tecnologías de la Información
Departamento de Informática y Automática – E.T.S.I INFORMÁTICA
TEMA 1
Sistemas Operativos Basados en UNIX (SOBUNIX): Introducción general
Alberto Castedo Espeso – acastedo@ponferrada.uned.es
3. Grado en Ingeniería en Tecnologías de la Información
Departamento de Informática y Automática – E.T.S.I INFORMÁTICA
1.1 Introducción
El sistema operativo UNIX nacido a principios de los años setenta ha sido
tomado como base de un gran número de sistemas operativos.
En el texto de la asignatura, se usará el término SOBUNIX para referirse tanto
al UNIX original como a los diferentes Sistemas Operativos Basados en
UNIX.
Alberto Castedo Espeso – acastedo@ponferrada.uned.es
4. Grado en Ingeniería en Tecnologías de la Información
Departamento de Informática y Automática – E.T.S.I INFORMÁTICA
1.2 Compatibilidad entre los SOBUNIX
La gran variedad de SOBUNIX resultaba un serio problema para los
desarrolladores de aplicaciones software. Las diferencias existentes entre unos
SOBUNIX y otros propiciaban que una misma aplicación pudiera no funcionar
correctamente en todos los sistemas.
Para intentar resolver este problema se han creado diferentes estándares
(también llamados normas o especificaciones) para definir una API para los
SOBUNIX.
Alberto Castedo Espeso – acastedo@ponferrada.uned.es
5. Grado en Ingeniería en Tecnologías de la Información
Departamento de Informática y Automática – E.T.S.I INFORMÁTICA
1.3 Compatibilidad entre los SOBUNIX
Una aplicación que es desarrollada usando una API definida por un determinado
estándar tiene garantizado que puede ser ejecutada en todos los sistemas
operativos que soporten dicho estándar.
Una API queda definida, entre otros elementos, por el conjunto de llamadas al
sistema que pueden invocarse.
Aparte del API los estándares también definen las reglas que deben seguir los
intérpretes de comandos (shells) y los archivos de órdenes para los intérpretes
(shell scripts).
Alberto Castedo Espeso – acastedo@ponferrada.uned.es
6. Grado en Ingeniería en Tecnologías de la Información
Departamento de Informática y Automática – E.T.S.I INFORMÁTICA
1.3 Características principales de los SOBUNIX
- Son sistemas de tiempo compartido (también denominados sistemas interactivos).
- Son sistemas multiprogramados y multiusuario, con soporte para multiprocesamiento.
- El núcleo está escrito en su mayor parte en lenguaje C.
Facilita su portabilidad a distintas arquitecturas.
- El núcleo posee una estructura de tipo monolítica o simple.
- La planificación se realiza a nivel de procesos o de hilos del núcleo.
- Disponen de mecanismos de comunicación y sincronización entre procesos.
Por ejemplo: tuberías, semáforos, memoria compartida y colas de mensajes.
Alberto Castedo Espeso – acastedo@ponferrada.uned.es
7. Grado en Ingeniería en Tecnologías de la Información
Departamento de Informática y Automática – E.T.S.I INFORMÁTICA
1.4 Características principales de los SOBUNIX
- No suelen implementar ninguna estrategia de tratamiento de interbloqueos.
- Administran la memoria principal e implementan la memoria virtual usando la técnica de
demanda de página.
- Consideran a los archivos como una secuencia de bits y delegan en las aplicaciones la
interpretación de los mismos.
- Soportan tanto el acceso secuencial como el acceso aleatorio a los archivos.
- En los nombres de archivos distinguen entre minúsculas y mayúsculas.
- Soportan una estructura de directorios de gráfica acíclica. El directorio raíz se denota con el
símbolo / que además se usa para separar los componentes del nombre de ruta de un archivo.
Alberto Castedo Espeso – acastedo@ponferrada.uned.es
8. Grado en Ingeniería en Tecnologías de la Información
Departamento de Informática y Automática – E.T.S.I INFORMÁTICA
1.4 Características principales de los SOBUNIX
- Los SOBUNIX modernos implementan una capa nodo/virtual/sistema de archivos virtual para
poder soportar diferentes tipos de sistemas de archivos.
- Cada sistema de archivos se monta en un directorio del sistema de archivos principal. Con lo
que todos los sistemas de archivos quedan integrados dentro de una única estructura de
directorios.
- Los dispositivos de E/S se integran dentro del sistema de archivos mediante el uso de archivos
de dispositivos modo bloque y archivos de dispositivos modo carácter. Lo que permite operar
sobre ellos con las mismas llamadas al sistema que se utilizan para operar sobre los archivos.
- Permiten especificar los permisos de acceso (lectura, escritura y ejecución) a un archivo o
directorio de forma independiente para el usuario propietario del archivo, grupo de usuarios
propietario y el resto de usuarios
Alberto Castedo Espeso – acastedo@ponferrada.uned.es
9. Grado en Ingeniería en Tecnologías de la Información
Departamento de Informática y Automática – E.T.S.I INFORMÁTICA
1.5 Interfaces con los usuarios disponibles en SOBUNIX
Los SOBUNIX soportan dos posibles tipos de interfaz de usuario:
- Interfaz de línea de comandos (implementada mediante un intérprete de comandos).
- Interfaz de usuario gráfica (GUI).
NOTA: Desde una interfaz gráfica también se puede disponer de una interfaz de línea de
comandos.
Alberto Castedo Espeso – acastedo@ponferrada.uned.es
10. Grado en Ingeniería en Tecnologías de la Información
Departamento de Informática y Automática – E.T.S.I INFORMÁTICA
1.6 Intérpretes de comandos
Un intérprete de comandos (shell) es un programa que acepta un comando introducido por un
usuario a través del dispositivo de entrada estándar (por defecto el teclado) y ejecuta su código
asociado.
El resultado de la ejecución se muestra, generalmente, en el dispositivo de salida estándar (por
defecto la pantalla).
Una vez finalizada la ejecución del comando el intérprete queda a la espera de recibir otra orden
por parte del usuario.
Cada SOBUNIX suele incluir por defecto en su distribución un determinado intérprete de
comandos, pero el usuario si así lo desea puede utilizar otro.
Intérpretes de comandos más conocidos: sh, csh, tcsh, ksh, ash, zsh, bash (se distribuye en
Linux)
Alberto Castedo Espeso – acastedo@ponferrada.uned.es
11. Grado en Ingeniería en Tecnologías de la Información
Departamento de Informática y Automática – E.T.S.I INFORMÁTICA
1.7 Funcionamiento del Intérprete de comandos
Un intérprete de comandos de SOBUNIX es un archivo ejecutable que reside en un directorio del
sistema de archivos (típicamente en el directorio /bin).
Cuando se invoca a un intérprete se crea un proceso asociado a su ejecución.
Este proceso en primer lugar ejecuta las órdenes establecidas en los archivos de configuración
del intérprete.
En segundo lugar muestra el apuntador (prompt) en pantalla que es un carácter o cadena de
caracteres cuya aparición en la pantalla sirve para indicar al usuario que ya puede escribir una
orden.
El funcionamiento del intérprete depende del tipo de comando que se escriba, interno o externo.
El comando type permite conocer el tipo (interno o externo) de un comando.
Alberto Castedo Espeso – acastedo@ponferrada.uned.es
12. Grado en Ingeniería en Tecnologías de la Información
Departamento de Informática y Automática – E.T.S.I INFORMÁTICA
Alberto Castedo Espeso – acastedo@ponferrada.uned.es
13. Grado en Ingeniería en Tecnologías de la Información
Departamento de Informática y Automática – E.T.S.I INFORMÁTICA
Alberto Castedo Espeso – acastedo@ponferrada.uned.es
14. Grado en Ingeniería en Tecnologías de la Información
Departamento de Informática y Automática – E.T.S.I INFORMÁTICA
Alberto Castedo Espeso – acastedo@ponferrada.uned.es
15. Grado en Ingeniería en Tecnologías de la Información
Departamento de Informática y Automática – E.T.S.I INFORMÁTICA
Alberto Castedo Espeso – acastedo@ponferrada.uned.es
16. Grado en Ingeniería en Tecnologías de la Información
Departamento de Informática y Automática – E.T.S.I INFORMÁTICA
1.8 Shell Scripts
Un shell script es un archivo ASCII que contiene comandos y sentencias del lenguaje de
programación del intérprete.
Para crear un shell script se puede usar cualquier editor de texto.
Una vez escrito el código del shell script se debe guardar en un archivo, al que hay que
proporcionarle permiso de ejecución. Además hay que incluir (si no lo estaba ya) dentro de la
variable PATH el nombre de ruta del directorio donde reside el shell script.
Alberto Castedo Espeso – acastedo@ponferrada.uned.es
17. Grado en Ingeniería en Tecnologías de la Información
Departamento de Informática y Automática – E.T.S.I INFORMÁTICA
Alberto Castedo Espeso – acastedo@ponferrada.uned.es
18. Grado en Ingeniería en Tecnologías de la Información
Departamento de Informática y Automática – E.T.S.I INFORMÁTICA
Alberto Castedo Espeso – acastedo@ponferrada.uned.es
19. Grado en Ingeniería en Tecnologías de la Información
Departamento de Informática y Automática – E.T.S.I INFORMÁTICA
1.9 Seguridad y protección en SOBUNIX
Los SOBUNIX son sistemas multiusuario, es decir, pueden atender
simultáneamente a múltiples usuarios. Además también tienen la capacidad de
gestionar grupos de usuarios.
Alberto Castedo Espeso – acastedo@ponferrada.uned.es