3. EL SISTEMA OPERATIVO

3.1. Procesos

El Sistema Operativo se ocupa de:

▪ Gestión de procesos

▪ Gestión de memoria

▪ Gestión de dispositivos

▪ Gestión de sistemas de ficheros

▪ Gestión de red

▪ Procesos = ejecutables + librerías dinámicas

▪ Identificadores asociados a cada proceso:

• PID: Identificación única de cada proceso

• UID: Identificación de usuario

• GID: Identificación de grupo (posibilidad de varios grupos por proceso)

▪ uid=0 ⇒ super-usuario, “root”:

• Control sobre el resto de procesos

• Permiso para acceder a todos los ficheros

• Posibilidad de realizar ciertas tareas privilegiadas

3.2. Servicios principales de un sistema UNIX

▪ init. Primer proceso, padre de todos los demás. Se encarga de arrancar y parar el sistema.

▪ Terminales remotas: login y logout

▪ syslog

▪ Ejecución periódica de órdenes: cron y at

▪ Entorno gráfico (X Window)

▪ Entorno de red (demonios)

▪ Correo electrónico, sistema de impresión, . . .

3.3. Interfaces de usuario

Interfaz gráfico

▪ En los años 1980 y 1990, la aparición de los interfaces gráficos supuso un gran avance, al facilitar el uso de los ordenadores, especialmente para usuarios no especializados. También para tareas que se hacen eventualmente

▪ Para tareas exigentes, son mucho menos eficiente que los interfaces de texto: obligan a hacer las cosas a mano y de una en una

▪ Solo se puede hacer lo que el interfaz haya previsto que se haga

▪ No es la filosofía Unix, no son estándar

▪ Exigen sesión gráfica (mucho más caro que pj ssh)

▪ No siempre disponibles (sistemas empotrados, routers, etc)

▪ Hay gestores gráficos, pero no serán válidos en esta asignatura

Unix dispone de interfaz gráfico desde los 80: X Window, año 1984 (No confundir con Microsoft Windows).

▪ X Window System es un sistema gráfico utilizado fundamentalmente en sistemas Unix, aunque es multiplataforma. También llamado X11, está desarrollado por la fundación X.org

▪ Proporciona un mecanismo para mostrar ventanas gráficas basado en dos partes: cliente y servidor

• Servidor X: Se ejectuta típicamente en la máquina en la que está sentado el usuario.

• Clientes X: Aplicaciones que producen una salida gráfica que envían al Servidor X para que la presente en pantalla. Pueden ejecutarse en ordenadores remotos.

Es un sistema complejo, que requiere componentes adicionales:

▪ Sobre las X Window va el gestor de ventanas ( Kwin, Enlightenment, Metacity, Xfwm, MWM...)

▪ Sobre el gestor de ventanas, va el escritorio (KDE, Gnome, Xfce...)

Desde finales de la década de 2010, se empieza a popularizar wayland como alternativa a X Window

▪ Es más moderno, ligero y seguro

▪ También sigue la arquitectura cliente-servidor

▪ No usa gestores de ventanas sino unos elementos similares llamados compositors

▪ Los escritorios (y las aplicaciones) son los mismos que con X Window, el usuario final no percibe la diferencia

Interfaz de texto: consola

El interfaz de texto resulta más dificil de aprender a manejar, pero resulta mucho más flexible y potente

Write programs that do one thing and do it well. Write programs to work together. Write programs that handle text streams, because that is a universal.

▪ interfaz texto: teclado

• terminales x

• consola: terminales virtuales (Ctrl+Alt+F1) (Ctrl+Alt+F6)

• Vuelta a sesión X (Ctrl+Alt+F7)

▪ exit (EOF, Ctrl + D)

En MS Windows el interfaz de consola para la administración es una opción viable desde la aparición en 2006 de PowerShell