El sistema operativo UNIX - Speed Street · 2019. 2. 15. · Introducción a UNIX Sistema operativo...

19
El sistema operativo UNIX Introducción Juan Carlos Yelmo

Transcript of El sistema operativo UNIX - Speed Street · 2019. 2. 15. · Introducción a UNIX Sistema operativo...

Page 1: El sistema operativo UNIX - Speed Street · 2019. 2. 15. · Introducción a UNIX Sistema operativo de propósito general, multiusuario y multitarea Diseñado por y para programadores

El sistema operativo UNIXIntroducción

Juan Carlos Yelmo

Page 2: El sistema operativo UNIX - Speed Street · 2019. 2. 15. · Introducción a UNIX Sistema operativo de propósito general, multiusuario y multitarea Diseñado por y para programadores

Contenidos1. Introducción2. El sistema de archivos3. La interfaz de usuario4. Programación en shell

@ Juan Carlos Yelmo, DIT-UPM

Page 3: El sistema operativo UNIX - Speed Street · 2019. 2. 15. · Introducción a UNIX Sistema operativo de propósito general, multiusuario y multitarea Diseñado por y para programadores

Contenidos1. Introducción

h Perspectiva históricah Principios generales de diseñoh Entrada al sistemah Comandos básicos

@ Juan Carlos Yelmo, DIT-UPM

Page 4: El sistema operativo UNIX - Speed Street · 2019. 2. 15. · Introducción a UNIX Sistema operativo de propósito general, multiusuario y multitarea Diseñado por y para programadores

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

Page 5: El sistema operativo UNIX - Speed Street · 2019. 2. 15. · Introducción a UNIX Sistema operativo de propósito general, multiusuario y multitarea Diseñado por y para programadores

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

Page 6: El sistema operativo UNIX - Speed Street · 2019. 2. 15. · Introducción a UNIX Sistema operativo de propósito general, multiusuario y multitarea Diseñado por y para programadores

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

Page 7: El sistema operativo UNIX - Speed Street · 2019. 2. 15. · Introducción a UNIX Sistema operativo de propósito general, multiusuario y multitarea Diseñado por y para programadores

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

Page 8: El sistema operativo UNIX - Speed Street · 2019. 2. 15. · Introducción a UNIX Sistema operativo de propósito general, multiusuario y multitarea Diseñado por y para programadores

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

Page 9: El sistema operativo UNIX - Speed Street · 2019. 2. 15. · Introducción a UNIX Sistema operativo de propósito general, multiusuario y multitarea Diseñado por y para programadores

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

Page 10: El sistema operativo UNIX - Speed Street · 2019. 2. 15. · Introducción a UNIX Sistema operativo de propósito general, multiusuario y multitarea Diseñado por y para programadores

Entrada al sistema

@ Juan Carlos Yelmo, DIT-UPM

Page 11: El sistema operativo UNIX - Speed Street · 2019. 2. 15. · Introducción a UNIX Sistema operativo de propósito general, multiusuario y multitarea Diseñado por y para programadores

Entrada al sistema

@ Juan Carlos Yelmo, DIT-UPM

Page 12: El sistema operativo UNIX - Speed Street · 2019. 2. 15. · Introducción a UNIX Sistema operativo de propósito general, multiusuario y multitarea Diseñado por y para programadores

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

Page 13: El sistema operativo UNIX - Speed Street · 2019. 2. 15. · Introducción a UNIX Sistema operativo de propósito general, multiusuario y multitarea Diseñado por y para programadores

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

Page 14: El sistema operativo UNIX - Speed Street · 2019. 2. 15. · Introducción a UNIX Sistema operativo de propósito general, multiusuario y multitarea Diseñado por y para programadores

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

Page 15: El sistema operativo UNIX - Speed Street · 2019. 2. 15. · Introducción a UNIX Sistema operativo de propósito general, multiusuario y multitarea Diseñado por y para programadores

Comandos básicos

$ lsDesktop Downloads Music Public VideosDocuments examples.desktop Pictures Templates$

@ Juan Carlos Yelmo, DIT-UPM

Page 16: El sistema operativo UNIX - Speed Street · 2019. 2. 15. · Introducción a UNIX Sistema operativo de propósito general, multiusuario y multitarea Diseñado por y para programadores

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

Page 17: El sistema operativo UNIX - Speed Street · 2019. 2. 15. · Introducción a UNIX Sistema operativo de propósito general, multiusuario y multitarea Diseñado por y para programadores

Dudas existenciales

@ Juan Carlos Yelmo, DIT-UPM

Page 18: El sistema operativo UNIX - Speed Street · 2019. 2. 15. · Introducción a UNIX Sistema operativo de propósito general, multiusuario y multitarea Diseñado por y para programadores

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

Page 19: El sistema operativo UNIX - Speed Street · 2019. 2. 15. · Introducción a UNIX Sistema operativo de propósito general, multiusuario y multitarea Diseñado por y para programadores

El sistema operativo UNIXIntroducción