• No se han encontrado resultados

3. Sistemas operativos

N/A
N/A
Protected

Academic year: 2021

Share "3. Sistemas operativos"

Copied!
17
0
0

Texto completo

(1)

Rev: 1.22

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

Ra´ul Dur´an D´ıaz Juan Ignacio P´erez Sanz

Departamento de Autom´atica Escuela Polit´ecnica Superior

Curso acad´emico 2016–2017

Ra´ul Dur´an D´ıaz,Juan Ignacio P´erez Sanz 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

(2)

Rev: 1.22

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.

Ra´ul Dur´an D´ıaz,Juan Ignacio P´erez Sanz 3. Sistemas operativos 3 / 33

Definici´on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario

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

(3)

Rev: 1.22

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.

Ra´ul Dur´an D´ıaz,Juan Ignacio P´erez Sanz 3. Sistemas operativos 5 / 33

Definici´on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario

Objetivos

Definiciones b´asicas

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

(4)

Rev: 1.22

Definici´on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario

Objetivos

Definiciones b´asicas

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.

Ra´ul Dur´an D´ıaz,Juan Ignacio P´erez Sanz 3. Sistemas operativos 7 / 33

Definici´on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario

Objetivos

Definiciones b´asicas

aquina extendida u operativa

Sistema Operativo

Compiladores Editores Intérprete de comandos

Instrucciones en lenguaje máquina nivelmáquina real

nivelmáquina extendida

nivelmáquina simbólica

(5)

Rev: 1.22

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.

Ra´ul Dur´an D´ıaz,Juan Ignacio P´erez Sanz 3. Sistemas operativos 9 / 33

Definici´on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario 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

(6)

Rev: 1.22

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.

Ra´ul Dur´an D´ıaz,Juan Ignacio P´erez Sanz 3. Sistemas operativos 11 / 33

Definici´on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario Definiciones Estructura Planificaci´on

Elementos de un proceso

Un proceso consta de

un espacio de memoria, estructurado en secciones; los registros del procesador.

(7)

Rev: 1.22

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:

00000000000000000 00000000000000000 00000000000000000 00000000000000000 11111111111111111 11111111111111111 11111111111111111 11111111111111111 Datos estáticos Instrucciones Reservado Pila $SP Datos dinámicos $GP $PC 0 D ire cc io ne s de m em or ia cre cie nt es

Hueco libre (variable)

Un proceso necesita manejar registros de la CPU:

contador de programa $PC. puntero de pila $SP.

puntero a datos din´amicos $GP. registro de estado $PSW.

Ra´ul Dur´an D´ıaz,Juan Ignacio P´erez Sanz 3. Sistemas operativos 13 / 33

Definici´on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario 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

(8)

Rev: 1.22

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

Ra´ul Dur´an D´ıaz,Juan Ignacio P´erez Sanz 3. Sistemas operativos 15 / 33

Definici´on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario 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.

(9)

Rev: 1.22

Definici´on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario Definiciones Estructura Planificaci´on

Estructura de un fichero de imagen ejecutable

Datos estáticos Instrucciones Cabeceras Símbolos S ec ci on es

Figura: Estructura de un fichero ejecutable

Ra´ul Dur´an D´ıaz,Juan Ignacio P´erez Sanz 3. Sistemas operativos 17 / 33

Definici´on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario 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.

(10)

Rev: 1.22

Definici´on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario Definiciones Estructura Planificaci´on

Planificaci´

on: modo monoprograma

0 0 0 1 1 1 00000 00000 11111 11111 00 00 00 11 11 11 00 00 00 11 11 11 0000 0000 1111 1111 0 0 0 1 1 1 0 0 0 1 1 1 00 00 00 11 11 11 00 00 11 11 00 00 00 11 11 11 sistema operativo proceso 1 proceso 2 puerto USB disco impresora dispositivos E/S CPU

inicio proc. 1 fin proc. 1

inicio proc. 2 C P U no us ad a C P U no us ad a Recursos Tiempo

Figura: Planificaci´on en modo monoprogramaci´on

Ra´ul Dur´an D´ıaz,Juan Ignacio P´erez Sanz 3. Sistemas operativos 19 / 33

Definici´on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario Definiciones Estructura Planificaci´on

Planificaci´

on: modo multiprograma

0 0 1 1 00000 00000 00000 11111 11111 11111 00 00 11 11 00 00 11 11 0000 0000 0000 1111 1111 1111 0 0 1 1 0 0 1 1 00 00 11 11 00 00 00 11 11 11 00 00 11 11 00000 00000 11111 11111 0000 0000 1111 1111 sistema operativo proceso 1 proceso 2 puerto USB disco impresora dispositivos E/S CPU Recursos inicio proc. 1

inicio proc. 2 continúa proc. 2

fin proc. 1 E/S proc. 1 E/S proc. 1

Tiempo proc. 2 interrumpido

por el s.o.

(11)

Rev: 1.22

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.

Ra´ul Dur´an D´ıaz,Juan Ignacio P´erez Sanz 3. Sistemas operativos 21 / 33

Definici´on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario Definiciones Estructura Planificaci´on

Planificaci´

on: ciclo de vida de un proceso

Activo Bloqueado Listo Nonato Finalizado E/S cancelado, error fin, error distribuidor distribuidor cancelado, error distribuidor fin E/S

(12)

Rev: 1.22

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.

Ra´ul Dur´an D´ıaz,Juan Ignacio P´erez Sanz 3. Sistemas operativos 23 / 33

Definici´on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario Definiciones Aplicaci´on aUnix/Linux

Sistema de ficheros

Concepto de fichero y directorio. Directorio de trabajo.

(13)

Rev: 1.22

Definici´on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario Definiciones Aplicaci´on aUnix/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.

Ra´ul Dur´an D´ıaz,Juan Ignacio P´erez Sanz 3. Sistemas operativos 25 / 33

Definici´on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario

Definiciones

Aplicaci´on aUnix/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.

(14)

Rev: 1.22

Definici´on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario

Definiciones

Aplicaci´on aUnix/Linux

Estructura de un ´

arbol de directorios

shrek

ficheros

informática física ice-age clases trabajos pelis

raíz

Figura: Vista de la estructura de ficheros en Unix/Linux

Ra´ul Dur´an D´ıaz,Juan Ignacio P´erez Sanz 3. Sistemas operativos 27 / 33

Definici´on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario

Definiciones

Aplicaci´on aUnix/Linux

Aplicaci´

on a

Unix

/

Linux

jerarqu´ıa de ficheros;

dispositivos como ficheros (virtuales); puntos de montaje.

(15)

Rev: 1.22

Definici´on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario Definiciones Aplicaci´on aUnix/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.

Ra´ul Dur´an D´ıaz,Juan Ignacio P´erez Sanz 3. Sistemas operativos 29 / 33

Definici´on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario

Definiciones

Aplicaci´on aUnix/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.

(16)

Rev: 1.22

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.

Ra´ul Dur´an D´ıaz,Juan Ignacio P´erez Sanz 3. Sistemas operativos 31 / 33

Definici´on de sistema operativo Procesos Sistema de ficheros Interfaces de usuario

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

(17)

Rev: 1.22

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.

Referencias

Documento similar