33
1 Sistemas operativos Alvaro Chavez Zubieta

prueba

  • Upload
    thasly

  • View
    57

  • Download
    3

Embed Size (px)

Citation preview

Page 1: prueba

1

Sistemas operativos

Alvaro Chavez Zubieta

Page 2: prueba

2

Concepto de sistemas operativos

Sistema Operativo Puede definir como un conjunto de programas

que permiten una interacción simplificada entre el usuario y la máquina

Dispositivos físicos

Sistema Operativo

Aplicaciones Usuario

Hardware

Page 3: prueba

Hardware(arquitectura von newman) Central Processing Unit (CPU). The CPU is

responsible executing programs.

Memory. Memory is used to store both program

instructions and data.

Input/Output (I/O) Devices. The kernel manages

requests from user applications to perform input and

output operations and provides convenient methods for

using each device.

Page 4: prueba

Un mundo sin sistema operativo

Al comienzo, el mundo era as Computación basada en mainframes Hardware muy complicado y muy heterogeneo Multitud de recursos que repartir

En aquel contexto Queremos abstraernos de la complejidad y

heterogeneidad del hardware Queremos abstraernos de la gestion de recursos Queremos software de sistema

Page 5: prueba

Software del sistema operativo

Creamos una capa sobre el hardware que nos abstraiga

Page 6: prueba

Software del sistema operativo

Interfaz de comando del usuario

Administrador de la memoria

Administrador de archivos

Administrador de red

Administrador de dispositivos

Administrador del procesador

Page 7: prueba

En resumen

Creamos sistemas operativos para Abstraernos de la complejidad del hardware Abstraernos de la heterogeneidad del

hardware Abstraernos de la complejidad de la gestion

de recursos

Page 8: prueba

8

Concepto de sistemas operativos

El sistema operativo puede ser visto como Máquina virtual

Dar al usuario la ilusion de disponer de una máquina mucho mas fácil de utilizar y programar que la maquina fisica.

Gestor de recursos Efectuar la gestion de los diversos componentes de

la arquitectura de un computador, imponiendo orden en la atribucion de recursos a los programas.

Aprovechar el máximo tiempo de los recursos disponíbles

Tiempo de CPU, memória, etc

Page 9: prueba

9

Procesador y Procesos Un proceso es basicamente un programa en

ejecucion En un sistema multi-programado, vários procesos

pueden estar ejecutandose simultaneamente Sin embargo, cuando existe un solo procesador,

apenas un proceso puede utilizarlo en cada instante de tiempo.

Los procesos concurren por el procesador y cooperan entre si para realizar tareas mas complejas

Concepto de sistemas operativos

Page 10: prueba

10

Conceptos y revisiones

Procesador y Procesos Procesador (CPU)

Elemento activo del sistema que ejecuta procesos

Modo usuario (User Mode) Dispone un subconjunto de las instrucciones del

CPU. Es en este modo que corren las aplicaciones.

Modo núcleo (Kernel Mode) Modo privilegiado del procesador, para el cual

todas las instrucciones estan disponíbles. Solo el Sistema Operativo es que tiene acceso a este modo

Page 11: prueba

11

Conceptos y revisiones

Memória y Gestion de memória Division estructurada de la memoria de modo a ser

posible el desplazamiento de diversos programas en la memoria principal.

Colocacion y Proteccion

Existencia de mecanismos que permitan el crecimiento de la memória de datos de um programa

Reserva de memória

Gestion del espacio de direccionamiento de modo a que se pueda tener una capacidad de memória superior a la de la memória principal (a RAM) – Memória Virtual

Page 12: prueba

12

Conceptos y revisiones

Jerarquia de la memória

Page 13: prueba

13

Clasificacion de SOs

Multi-usuario El tiempo de procesamiento del CPU de um

computador puede ser compartido por mas de un usuario de forma interactiva.

Unix, Linux

Mono-usuario El CPU solo puede estar dedicado de forma

interactiva a un conjunto de proceso del mismo usuario.

MS-DOS, todos los Windows

Page 14: prueba

14

Clasificacion de SOs

Multi-programacion Capacidad de ejecutar vários programas

simultaneamente (en concurrencia) Unix, Linux, todos os Windows

Mono-programacion / Procesamiento por lotes Cada programa monopoliza al procesador

hasta terminar Spectrum DOS (parte de los programas residentes)

Page 15: prueba

15

Clasificacion de SOs

Sistemas mono-programados y sistemas multi-programados

SistemaOperativo

Programa Programa 1

Dados

Programa 2

SistemaOperativo

Dados 1

Dados 2

SistemaMono-programado

SistemaMulti-programado

Memória principal Memória principal

Page 16: prueba

16

Clasificacion de SOs

Dedicado Sistema Operativo diseñado para aplicaciones

específicas Ejemplos:

Control de una linea de montaje - SOs en tiempo real Gestion de transacciones en una compania aérea - SOs para

Mainframes Interface para um telefono móvil – SO embedded

Uso general Diseñado para una fácil utilizacion. Permiten la ejecucion de una gran variedad de

programas Reconocen uma gran diversidad de periféricos

Page 17: prueba

17

Clasificacion de SOs

Centralizado El Sistema Operativo crea una máquina virtual

sobre un único computador.

Distribuído El Sistema Operativo que corre sobre un

conjunto de computadores, dando la ilusion de que este conjunto es una entidad única

Sistemas distribuídos puros Sistemas en redes Sistemas multi-processador

Page 18: prueba

18

Modelo de un SO

Monolítico El ejemplo mas comun de sistema operativo, en el

cual aparentemente no existe estrutura... cualquier funcion del sistema operativo puede

comunicar con cualquier una de las otras.

Page 19: prueba

19

Modelo de un SO

Capas (Layers) El SO se encuentra estruturado segun un

conjunto de capas funcionales Cada capa utiliza servicios de capas que le

son interiores En suma, cada capa es una máquina virtual

con una interface bien definida La capa mas baja (gestion de procesos)

corresponde el núcleo del sistema operativo

Page 20: prueba

20

Modelo de un SO

Capas (Layers)

Gestão de processos

Gestão de memória

Comunicação e I/O

Sistema de ficheiros

Chamadas ao sistema

Hardware

Aplicações e utilizadores

Page 21: prueba

21

Modelo de un SO

Modular El SO se encuentra organizado segun modulos

alrededor del nucleo (kernel) El nucleo es generalmente pequeño (Mikro-kernel),

comunicando con el hardware y estableciendo la comunicacion entre los diversos modulos.

Puede introducirse el conceto de proceso cliente y de proceso servido que corren en modo usuario.

Facilmente adaptable a sistemas distribuidos Estructura mas estable (Teoricamente)

Page 22: prueba

22

Modelo de un SO

Modular

Micro-Kernel

Chamadas ao sistema

Hardware

Gestãode

Processos

Gestãode

MemóriaI/O

Sistemade

Ficheiros

Aplicações e utilizadores

Page 23: prueba

23

Modelo de un SO

Modular (Cliente-Servidor)

Servidorde

Processos

Servidorde

Memória

Servidorde I/O

Servidorde

Ficheiros

ProcessoCliente

ProcessoCliente

Micro-Kernel

Modo Utilizador

Modo Núcleo

Mensagens

Page 24: prueba

Linux:anillos

Linux se compone de muchas capas que rodean a un núcleo.

Page 25: prueba

Linux: los 2 arboles

Linux consiste en 2 arboles: procesos y archivos

Procesos heredan propiedades de sus padres

Los archivos residen dentro de su directorio padre

Page 26: prueba

Sistema de archivos Una estructura lógica construida dentro de una partición de disco para

gestionar archivos

Se admiten muchos tipos de sistemas de ficheros

Hay un sistema de archivos raíz: la base del árbol de directorios

Un sistema de ficheros de cualquier tipo puede ser montado en un directorio

Gestion de la informacion no volatil almacenada en memoria secundaria (discos, tapes)

Provee de un nível de abstraccion para que el usuario no se preocupe con los detalles de la utilizacion de discos, disquetes,etc.

llamadas al sistema: Creacion, borrar, cópiar, escritura y lectura de ficheros

Page 27: prueba

Estructura del kernel El kernel de Linux no es monolítico

Todos los controladores de dispositivos y muchos sub-componentes pueden ser construidos como módulos, que puede ser con o sin carga, según sea necesario.

Esto permite que un kernel para funcionar de manera eficiente en un montón de diferentes de hardware.

El proceso de construcción del kernel es increíblemente configurable.

Algunos componentes del kernel pueden ser compilados en: gestión de la memoria capa del sistema de archivos virtual planificador de procesos El soporte multi-procesador redes TCP / IP (si se utilizan): Sistemas de ficheros ext3, reiserfs, jfs soporte para hardware específico: SCSI, DASD, USB, Crypto Los controladores de red.

Ejemplos de módulos cargados dinámicamente Sistemas de archivos: ext3, reiserfs, jfs soporte para hardware específico: SCSI, DASD, USB, Crypto Los controladores de red

Page 28: prueba

Sistema de llamadas

Page 29: prueba

Tipos de llamadas al sistema

Control de procesos•fork(), exit(), wait(), chroot()•Administración de ficheros•open(), close(), read(), write, create(), lseek(), readdir(), unlink(),dup(),dup2()•Administración de dispositivos•ioctl()•Información de mantenimiento•gettimeofday(), profil()•Comunicaciones•pipe(), socket(), accept(), bind(), signal()

Page 30: prueba

Control de errores en llamadas al sistemaLas llamadas al sistema tienen valores de

retorno

Cuando se produce un error, se puede comprobar qué error ha sucedido leyendo errno

strerror(), perror()

Page 31: prueba
Page 32: prueba

Modulos

Page 33: prueba

DocumentaciónMan : Abreviatura de manual. Ayuda en línea.

man [selección_manual] nombre_programa

selección manual:

1 Herramientas/comandos del usuario.

2 Llamadas al sistema.

3 Llamadas a bibliotecas.

4 Archivos especiales, información de controladores y dispositivos.

5 Archivos de configuración (Ej.: /etc/passwd)

6 Juegos.

7 Paquetes (misceláneas).

8 Herramientas de administración del sistema.