Upload
thasly
View
57
Download
3
Tags:
Embed Size (px)
Citation preview
1
Sistemas operativos
Alvaro Chavez Zubieta
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
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.
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
Software del sistema operativo
Creamos una capa sobre el hardware que nos abstraiga
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
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
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
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
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
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
12
Conceptos y revisiones
Jerarquia de la memória
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
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)
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
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
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
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.
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
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
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)
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
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
Linux:anillos
Linux se compone de muchas capas que rodean a un núcleo.
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
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
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
Sistema de llamadas
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()
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()
Modulos
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.