Story Transcript
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
3. Sistemas operativos Inform´ atica Ingenier´ıa en Electr´onica y Autom´atica Industrial
´ l Dura ´ n D´ıaz Rau
´rez Sanz Juan Ignacio Pe
Departamento de Autom´ atica Escuela Polit´ ecnica Superior
Curso acad´emico 2016–2017
Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
1 / 33
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
Contenidos
1
Definici´on de sistema operativo
2
Procesos
3
Sistema de ficheros
4
Interfaces de usuario
Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
2 / 33
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
Objetivos Definiciones b´ asicas
Objetivos
Comprender el concepto de sistema operativo y su utilidad. Ser capaz de describir los diferentes elementos de que consta y comprender su importancia. Entender el concepto de proceso en el contexto de los sistemas operativos. Entender el concepto de sistema de ficheros. Ser capaz de utilizar los comandos b´asicos de Linux, manejando la entrada/salida est´andar y los comandos concatenados.
Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
3 / 33
Objetivos Definiciones b´ asicas
¿Qu´e es un sistema operativo?
Definici´on Un sistema operativo es un programa (o conjunto de programas) de control que tiene por objeto facilitar el uso del computador y conseguir que este uso sea eficiente.
Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
4 / 33
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
Objetivos Definiciones b´ asicas
Misiones del sistema operativo
El sistema operativo proporciona dos servicios fundamentales: extiende las instrucciones de la m´aquina base; media en los conflictos entre procesos a causa de los recursos.
Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
5 / 33
Objetivos Definiciones b´ asicas
M´aquina extendida u operativa
El sistema operativo esconde detalles demasiado finos como para que el programador deba ocuparse de ellos. Por ejemplo: c´ omo se maneja la cabeza de lectura/escritura de un disco magn´etico.
Presenta al usuario-programador una ((m´aquina virtual)) que se maneja de modo mucho m´as sencillo. Esa ((m´aquina virtual)) est´a normalmente estandarizada, de manera que un mismo programa puede valer para sistemas operativos distintos si estos ofrecen al usuario-programador la misma interfaz est´andar.
Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
6 / 33
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
Objetivos Definiciones b´ asicas
M´aquina extendida u operativa La ((m´aquina virtual)) extiende el repertorio est´andar de instrucciones por medio de los llamados system calls o servicios del sistema. Esos servicios del sistema pueden verse como ((instrucciones extendidas)) que permiten al programador ampliar sus posibilidades a la hora de programar. Los servicios del sistema constituyen la “interfaz” entre el programador y el sistema operativo. Los servicios del sistema se dividen en dos categor´ıas esenciales: los que manejan procesos; los que manejan el sistema de ficheros. Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
7 / 33
Objetivos Definiciones b´ asicas
M´aquina extendida u operativa nivel máquina simbólica
Compiladores
Editores
Intérprete de comandos
nivel máquina extendida
Sistema Operativo
nivel máquina real
Instrucciones en lenguaje máquina
Figura: Posici´ on relativa de las m´aquinas Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
8 / 33
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
Objetivos Definiciones b´ asicas
Administrador de recursos La segunda misi´on importante del sistema operativo es actuar como ´arbitro entre los distintos usuarios para manejar los recursos limitados del sistema. Ejemplo Si varios programas quieren escribir en una impresora, hay que arbitrar los medios para que lo hagan en serie, uno detr´as de otro, y que no se obstaculicen mutuamente. Ejemplo Mientras un proceso espera un dato del disco, otro puede usar la capacidad de c´omputo del procesador. Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
9 / 33
Definiciones Estructura Planificaci´ on
Procesos
El elemento ejecutivo fundamental de un sistema computador es el proceso. Un sistema computador en funcionamiento no es m´as que un conjunto de uno o m´as procesos en ejecuci´on seg´ un diversas posibles planificaciones temporales.
Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
10 / 33
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
Definiciones Estructura Planificaci´ on
¿Qu´e es un proceso?
Definici´on Un proceso es, en esencia, un programa en ejecuci´on. Observaci´on Podemos ver un proceso como la instanciaci´on din´amica de un programa. Puede, pues, ocurrir que varios procesos ejecuten (es decir, instancien) el mismo programa.
Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
11 / 33
Definiciones Estructura Planificaci´ on
Elementos de un proceso
Un proceso consta de un espacio de memoria, estructurado en secciones; los registros del procesador.
Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
12 / 33
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
Definiciones Estructura Planificaci´ on
Estructura de un proceso Vista de un proceso en relaci´on a la memoria virtual y registros:
Pila
Un proceso necesita manejar registros de la CPU:
Direcciones de memoria crecientes
$SP
11111111111111111 00000000000000000 00000000000000000 11111111111111111 00000000000000000 11111111111111111 00000000000000000 11111111111111111 Hueco libre (variable)
$GP
Datos dinámicos Datos estáticos
contador de programa $PC. puntero de pila $SP. puntero a datos din´amicos $GP. registro de estado $PSW.
Instrucciones $PC Reservado 0
Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
13 / 33
Definiciones Estructura Planificaci´ on
Caracter´ısticas un proceso Un proceso solo puede ser creado por otro proceso. Cualquier proceso puede crear a su vez procesos. Se utilizan dos servicios del sistema para crear nuevos procesos: fork: crea una r´eplica del proceso llamante; exec(p1): pone en ejecuci´ on el programa en el archivo ejecutable p1.
El servicio del sistema exec se ocupa de trasladar el archivo ejecutable a memoria, d´andole la adecuada estructura a cada secci´on, para que pueda comenzar la ejecuci´on en el contexto del nuevo proceso. Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
14 / 33
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
Definiciones Estructura Planificaci´ on
Estructura de un ´arbol de procesos A
B
C
D
E
F
Figura: Vista de un ´arbol de procesos Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
15 / 33
Definiciones Estructura Planificaci´ on
Arranque (boot) del sistema computador
En el momento de arranque de la m´aquina, hay un solo proceso en ejecuci´on, responsable de ir creando todos los dem´as. Este proceso est´a grabado en la imagen de arranque (boot image). El arranque del sistema se ejecuta en varios pasos: Se ejecuta un peque˜ no c´ odigo almacenado en memoria no vol´atil que carga un cargador m´as potente y lo pone en ejecuci´ on. Este segundo cargador carga la imagen del sistema operativo (boot image) y pone en ejecuci´ on el primer proceso de esa imagen.
Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
16 / 33
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
Definiciones Estructura Planificaci´ on
Estructura de un fichero de imagen ejecutable
Secciones
Símbolos
Datos estáticos
Instrucciones
Cabeceras
Figura: Estructura de un fichero ejecutable Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
17 / 33
Definiciones Estructura Planificaci´ on
Turno en la ejecuci´on de los procesos
El recurso m´as valioso es el procesador. El procesador solo puede ejecutar un proceso cada vez. Cuando el proceso en ejecuci´on se bloquea (porque espera un dato del disco, por ejemplo) el proceso distribuidor suspende el proceso en curso y selecciona otro que tenga posibilidad de ejecutarse en ese momento de acuerdo con cierta planificaci´on. Cada proceso se describe por el espacio de memoria que usa y por el valor de los registros del procesador en el momento de la suspensi´on.
Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
18 / 33
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
Definiciones Estructura Planificaci´ on
Planificaci´on: modo monoprograma
Recursos
impresora dispositivos E/S
disco puerto USB
proceso 1 sistema operativo
11111 00000 00000 11111 0 1 00 11 0 1 00 11 0 1 00 11
0000 1111 0000 1111 11 00 0 1 00 11 0 1 00 11 0 1
CPU no usada
CPU
inicio proc. 1 CPU no usada
proceso 2
inicio proc. 2
11 00 00 11 fin proc. 1 00 11 00 11 00 11 0 1 00 011 1 00 11 011 1 00
Tiempo
Figura: Planificaci´ on en modo monoprogramaci´ on Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
19 / 33
Definiciones Estructura Planificaci´ on
Planificaci´on: modo multiprograma
Recursos E/S proc. 1
E/S proc. 1
impresora dispositivos E/S
disco puerto USB proceso 2
CPU
proceso 1 sistema operativo
inicio proc. 2
proc. 2 interrumpido por el s.o.
continúa proc. 2
11111 00000 0000 1111 00 11 00000 11111 0000 1111 00 11 fin proc. 1 00000 11111 0000 1111 00 11 00000 11111 0000 1111 00 11 00000 11111 0000 1111 00 11 0 1 00 11 00 11 0 1 0 1 00 0 1 00 11 00 11 0 1 011 1 00 11
inicio proc. 1
Tiempo
Figura: Planificaci´ on en modo multiprogramaci´ on Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
20 / 33
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
Definiciones Estructura Planificaci´ on
Planificaci´on: modo turno rotatorio
El modo multiprograma tiene el inconveniente de que si un proceso tiene poca E/S, monopoliza demasiado tiempo el procesador. Soluci´on: multiprogramaci´on apropiativa El distribuidor del sistema operativo puede interrumpir un proceso en ejecuci´on, apropi´andose del procesador y dando turno a otro proceso que est´e listo para ejecutarse.
Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
21 / 33
Definiciones Estructura Planificaci´ on
Planificaci´on: ciclo de vida de un proceso fin, error
Nonato
Finalizado
cancelado, error distribuidor
distribuidor
Listo
fin E/S
cancelado, error
distribuidor
Activo
E/S
Bloqueado
Figura: Diagrama de estados para un proceso Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
22 / 33
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
Definiciones Estructura Planificaci´ on
Memoria virtual El sistema operativo ofrece al proceso la ilusi´on de que puede utilizar toda la memoria disponible. Esto se denomina memoria virtual. En realidad, la memoria f´ısica que ocupa un proceso puede ser mucho m´as peque˜ na. El sistema operativo se encarga de mantener una tablas espec´ıficas para cada proceso mediante las cuales realiza la traducci´on de la direcci´on de memoria virtual a la direcci´on f´ısica. As´ı pueden convivir simult´aneamente en un sistema m´as procesos de los que realmente caben en la memoria f´ısica de que ese sistema dispone. Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
23 / 33
Definiciones Aplicaci´ on a Unix/Linux
Sistema de ficheros
Concepto de fichero y directorio. Directorio de trabajo. Rutas absolutas y relativas.
Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
24 / 33
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
Definiciones Aplicaci´ on a Unix/Linux
Sistema de ficheros
Definici´on Abstracci´on limpia para manejar ficheros con independencia del hardware real que exista. Ejemplo Existen muchos tipos de sistemas de ficheros. Cada sistema operativo soporta unos u otros. Como ejemplo tenemos: ext4, NTFS, FAT32, ReiserFS, ISO9660, etc. Pueden convivir varios simult´aneamente en un mismo sistema.
Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
25 / 33
Definiciones Aplicaci´ on a Unix/Linux
Servicios del sistema para manejar ficheros
El sistema nos da servicios para manejar ficheros: create/open: para crear un fichero nuevo o abrir uno existente; read/write: para leer o escribir en un fichero; close: cerrar el canal de comunicaci´ on con un fichero; unlink: borra un fichero de un directorio.
Nota Los servicios de manejo de ficheros son independientes del sistema de ficheros usado.
Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
26 / 33
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
Definiciones Aplicaci´ on a Unix/Linux
Estructura de un ´arbol de directorios raíz
clases
informática
trabajos
física
ficheros
pelis
ice-age
shrek
Figura: Vista de la estructura de ficheros en Unix/Linux Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
27 / 33
Definiciones Aplicaci´ on a Unix/Linux
Aplicaci´on a Unix/Linux
jerarqu´ıa de ficheros; dispositivos como ficheros (virtuales); puntos de montaje.
Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
28 / 33
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
Definiciones Aplicaci´ on a Unix/Linux
Dispositivos y ficheros
Para proporcionar una interfaz coherente, en Unix/Linux se accede a los dispositivos tambi´en a trav´es de ficheros. Se trata de fichero especiales, normalmente situados bajo el directorio /dev. Los servicios del sistema que se usan son los mismos que para los ficheros normales.
Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
29 / 33
Definiciones Aplicaci´ on a Unix/Linux
Puntos de montaje en el sistema de ficheros
Para aumentar el espacio disponible se pueden agregar m´as discos al sistema de ficheros existente. El nuevo disco ha de contener a su vez un ´arbol de directorios. Para hacer conocido al sistema el nuevo disco, se utiliza el concepto de punto de montaje. El punto de montaje no es m´as que un directorio del sistema original bajo el cual se monta el nuevo disco. El usuario ve que aparecen nuevos directorios y archivos bajo un directorio originalmente vac´ıo. No tiene conciencia de en qu´e disco est´a escribiendo.
Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
30 / 33
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
Concepto Interfaz shell
Interfaz de usuario
En todo sistema computador siempre existe al menos un proceso para cada usuario que permite a este la interacci´on con el sistema. En su forma m´as sencilla, la interfaz consiste en una consola textual donde el usuario puede teclear ´ordenes. Esas ´ordenes mandan en su mayor parte poner en ejecuci´on distintos programas que el usuario quiere utilizar. El proceso interfaz recoge esas ´ordenes, busca los programas correspondientes, los pone en ejecuci´on y dirige hacia la consola la salida que estos programas producen.
Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
31 / 33
Concepto Interfaz shell
Tipos de interfaz de usuario Existen varios tipos de interfaces de usuario, cada uno con sus ventajas y sus inconvenientes. Interfaz de l´ınea de ´ordenes: las ´ordenes se teclean sobre una terminal obedeciendo a cierta sintaxis. En la misma terminal se muestra tambi´en la salida producida. Interfaz de men´ us: el usuario selecciona las ´ordenes a partir de un elenco pre-establecido. Interfaz con iconos: las posibles ´ordenes est´an simbolizadas con iconos o figuras que se ejecutan al pulsar con el rat´on sobre ellas.
Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
32 / 33
Definici´ on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario
Concepto Interfaz shell
Programa shell Se trata de un programa muy completo que funciona en modo interfaz de l´ınea de ´ordenes. El usuario teclea sus ´ordenes y el shell las manda ejecutar. Presenta varias caracter´ısticas t´ıpicas: entrada y salida est´andar; concatenaci´on de entrada/salida, ((tuber´ıas)); variables de entorno; estructura t´ıpica de un comando de l´ınea: llamada al comando, argumentos, variable de entorno PATH. algunos comandos muy b´asicos: ls -l, cd, pwd, mkdir, rmdir, ps -ef, pstree. Rev: 1.22
´ l Dura ´ n D´ıaz, Juan Ignacio Pe ´rez Sanz Rau
3. Sistemas operativos
33 / 33