El sistema operativo UNIXIntroducción
Juan Carlos Yelmo
Contenidos1. Introducción2. El sistema de archivos3. La interfaz de usuario4. Programación en shell
@ Juan Carlos Yelmo, DIT-UPM
Contenidos1. Introducción
h Perspectiva históricah Principios generales de diseñoh Entrada al sistemah Comandos básicos
@ Juan Carlos Yelmo, DIT-UPM
Introducción¿Qué es un sistema operativo?n Software básico de un computador que maneja
la interfaz con el hardware, planifica tareas, asigna espacio de almacenamiento y presenta una interfaz de usuario por defecto cuando no está ejecutando ningún programa de aplicación
@ Juan Carlos Yelmo, DIT-UPM
Introducción a UNIXSistema operativo de propósito general, multiusuario y multitareaDiseñado por y para programadoresComo entorno de programación, su contexto habitual de uso es el de un equipo de trabajo cooperando en el desarrollo de sistemas software complejos: trabajo conjunto e intercambio controlado de información
@ Juan Carlos Yelmo, DIT-UPM
Historia
Desarrollado en 1969 para un DEC PDP-7 por Ken Thompson (Bell Labs)Reescrito en C en 1973. Lenguaje recién desarrollado por Dennis RitchieCódigo fuente distribuido gratuitamente a universidades en 1974La Universidad de Berkeley mejoró notablemente el original dando lugar al Berkeley UNIX (BSD)
@ Juan Carlos Yelmo, DIT-UPM
HistoriaBell Labs AT&T Berkeley
1970
1975
1980
1985
1990
1995
Primera edición
Quinta edición
Séptima edición
Décima edición
System IIISystem V
System V R4
1BSD
4.3BSD
4.4BSD
3BSD
POSIXLINUX
MINIX
Otros
@ Juan Carlos Yelmo, DIT-UPM
Arquitectura de UNIX
Interfaz de llamadas al sistema
Interfaz de biblioteca
Interfaz de usuario
HardwareCPU, memoria, dispositivos, terminales, etc.
NúcleoGest. procesos, Gest. memoria, I/O, sistema de archivos, etc.
Biblioteca estándaropen, close, read, fork, exit, kill, etc.
Programas de utilidad estándarIntérpretes de comandos, compiladores, editores, etc.
Usuarios
@ Juan Carlos Yelmo, DIT-UPM
Entrada al sistemaPara utilizar UNIX es necesario identificarse e iniciar sesión (log in) en el sistema, proporcionando un nombre (user id) y una contraseña (password)
login: jcyelmoPassword: Last login: Mon Nov 5 16:35:13 CET 2012 on pts/2Welcome to Ubuntu 12.04.1 LTS (GNU/Linux 3.2.0-32-generic x86_64)
* Documentation: https://help.ubuntu.com/
jcyelmo@jcyelmo-VirtualBox:~$
@ Juan Carlos Yelmo, DIT-UPM
Entrada al sistema
@ Juan Carlos Yelmo, DIT-UPM
Entrada al sistema
@ Juan Carlos Yelmo, DIT-UPM
Entrada al sistemaUNIX mantiene la información básica de usuarios autorizados en un fichero público, /etc/passwd o /etc/shadow, incluyendo las contraseñas (cifradas) con el formato:
w <usuario>:<password>:<uid>:<gid>:<nombre>:<home>:<shell>
n Ejemplo:w root:x:0:0:root:/root:/bin/bash
Tras un registro correcto, el sistema invoca al intérprete de comandos (la shell) y da inicio a la sesión de usuario
@ Juan Carlos Yelmo, DIT-UPM
Interfaz de línea de comandosLa shell muestra su disposición a aceptar comandos del usuario mediante el prompt($, >, %, ...)Una vez introducida una línea, la shell lee la primera palabra de la línea de comandos, interpreta que es el nombre de un programa, lo busca y, si lo encuentra, lo ejecuta
@ Juan Carlos Yelmo, DIT-UPM
Interfaz de línea de comandosSintaxis de comandos de la shell de UNIX
$ comando [argumentos] <RC>
Prompt Programa/acción a ejecutar Modificadores o datos de entrada
@ Juan Carlos Yelmo, DIT-UPM
Comandos básicos
$ lsDesktop Downloads Music Public VideosDocuments examples.desktop Pictures Templates$
@ Juan Carlos Yelmo, DIT-UPM
Dudas existenciales¿Quién soy?
whoami/who am iid
Identificador de usuarioIdentificador de usuario y grupos
¿Dónde estoy?pwdhostname
Lugar en el sistema de archivosNombre de la máquina
¿Quién está conmigo?who/fingerw
Quién está registradoQuién está registrado y qué hace
¿Qué día es hoy?datecal
Fecha y horaCalendario del mes
@ Juan Carlos Yelmo, DIT-UPM
Dudas existenciales
@ Juan Carlos Yelmo, DIT-UPM
Manual on-lineman [opciones][[seccion]temas]
Muestra información del manual de referencia sobre el tema solicitado (normalmente uncomando)
Opciones principales
-k palabras clave Muestra entradas del manual donde aparece alguna de las palabras clave
Ejemplos
man intro Introducción general
man man Información sobre el comando man
man -k socket Comandos relacionados con sockets
@ Juan Carlos Yelmo, DIT-UPM
El sistema operativo UNIXIntroducción