Vous êtes sur la page 1sur 42

Sistemas Operativos I

Clase Inaugural

Dr. Romn Estuardo Cancinos Arbiz


Email: umg.cancinos@gmail.com
Facultad de Ingeniera en Sistemas.
Agenda
Dosificacin del Curso
Distribucin de trabajos
Punto 1 del programa
Bibliografa

Sistemas
Operativos
Modernos
3ra Ed.
Andrew
Tanembaum
Sistemas Operativos
Minix
http://download.minix3.org/iso/minix_R3.3.0-
588a35b.iso.bz2
Kernel Linux
linux-4.6.3.tar
RTOS
Sourceforge.net
Jnode
jnodesources-0.2.8.tar
Parcial I
1 INTRODUCCIN 1
09/07/2016
1.1 QU ES UN SISTEMA OPERATIVO? 3

1.2 HISTORIA DE LOS SISTEMAS OPERATIVOS 7


1.3 REVISIN DELHARDWARE DE COMPUTADORA 19
1.3.1 Procesadores 19
16/07/2016 1.3.2 Memoria 23
1.3.3 Discos 26
1.3.4 Cintas 27
1.3.5 Dispositivos de E/S 27
1.3.6 Buses 30

1.3.7 Arranque de la computadora 33


1.4 LOS TIPOS DE SISTEMAS OPERATIVOS 33
23/07/2016 1.5 CONCEPTOS DE LOS SISTEMAS OPERATIVOS 37
1.6 LLAMADAS AL SISTEMA 49
1.7 ESTRUCTURA DE UN SISTEMA OPERATIVO 62
1.8 EL MUNDO SEGN C 72
2 PROCESOS E HILOS 83
30/07/2016 2.1 PROCESOS 83
2.2 HILOS 95

06/08/2016 2.3 COMUNICACIN ENTRE PROCESOS 117


2.4 PLANIFICACIN 145
13/08/2016Parcial I

20/08/2016
2.5 PROBLEMAS CLSICOS DE COMUNICACIN ENTRE PROCESOS (IPC) 163
Parcial II

ADMINISTRACIN DE MEMORIA 175


27/08/2016 3.1 SIN ABSTRACCIN DE MEMORIA 176
3.2 UNA ABSTRACCIN DE MEMORIA: ESPACIOS DE DIRECCIONES 179
3.3 MEMORIAVIRTUAL 188
3.4 ALGORITMOS DE REEMPLAZO DE PGINAS 201

03/09/2016 3.5 CUESTIONES DE DISEO PARA LOS SISTEMAS DE PAGINACIN 216


3.6 CUESTIONES DE IMPLEMENTACIN 227
3.7 SEGMENTACIN 234
SISTEMAS DE ARCHIVOS 255
10/09/2016 4.1 ARCHIVOS 257
4.2 DIRECTORIOS 268
17/09/2016
4.3 IMPLEMENTACIN DE SISTEMAS DE ARCHIVOS 273
24/09/2016
4.4 ADMINISTRACIN Y OPTIMIZACIN DE SISTEMAS DE ARCHIVOS 292
01/10/2016
4.5 EJEMPLOS DE SISTEMAS DE ARCHIVOS 312
08/10/2016Parcial II
15/10/2016
Final
ENTRADA/SALIDA 329
22/10/2016 5.1 PRINCIPIOS DEL HARDWARE DE E/S 329
5.2 FUNDAMENTOS DEL SOFTWARE DE E/S 343
5.3 CAPAS DEL SOFTWARE DE E/S 348
5.4 DISCOS 360
5.5 RELOJES 388
5.6 INTERFACES DE USUARIO: TECLADO,
29/10/2016
5.7 CLIENTES DELGADOS 415
5.8 ADMINISTRACIN DE ENERGA 417

INTERBLOQUEOS 433
05/11/2016 6.1 RECURSOS 434
6.2 INTRODUCCIN A LOS INTERBLOQUEOS 437
6.3 ELALGORITMO DE LAAVESTRUZ 441
6.4 DETECCIN Y RECUPERACIN DE UN INTERBLOQUEO 442
6.5 CMO EVITAR INTERBLOQUEOS 448
12/11/2016 6.6 CMO PREVENIR INTERBLOQUEOS 454
6.7 OTRAS CUESTIONES 457
19/11/2016Final
26/11/2016
1. Qu es un sistema operativo
Algunos S.O. se caracterizan por:
Ejecucin de un solo programa a la vez.
Batch: conjunto de programas que se ejecutan en
grupo.
Multiprogramacin: varios programas se ejecutan a
la vez y el S. O. Asigna los recursos.
Entrada remota de trabajos
Tratamiento de transacciones: permite la ejecucin
mltiple de un mismo programas (multithreading)
Multiacceso: varios usuarios actuando de forma
concurrente.
Tiempo real: los ordenadores pueden interactuar con
otros equipos.
Definicin de S. O.
Es un programa o conjunto de programas.
Estos programas trabajan juntos para lograr
ciertos objetivos.
Se encarga de gestionar ciertos recursos:
Entrada/salida
Tratamiento de la informacin
Almacenamiento masivo
Acta de intermediario entre el hardware y los
programas de aplicacin.
Objetivos de los S. O.
Hacer posible el uso eficiente de los recursos
del sistema:
Acta coordinando las diferentes velocidades de
funcionamiento de los dispositivos. P. E. Mas
velocidad de procesadores, mas lentitud de
perifricos.
Simplificar la operacin de trabajo con el
hardware:
Generan una mquina virtual: ordenador
simplificado en el que el S. O. Carga con el trabajo
de acercamiento al hardware.
El Contexto
Funciones de los S. O.
Asignacin de tiempo de CPU:
Planificar las diversas actividades.
Control de recursos:
Asignar recursos de forma racional. P. E. Divisin de la
memoria del ordenador entre los programas, controlar
colas de e/s.
Control de entrada/salida:
Gestionar los datos desde y hacia los perifricos.
Control de los errores y proteccin:
Informar de las situaciones anmalas
Interfaz con el usuario:
Facilita el uso.
Facilidades contables:
Clculo de costes de uso de CPU.
Tipos de S. O. Estructura jerrquica
Tipos de S. O. Sistema operativos por servicios
Estructura de un S. O.
Ncleo
Gestin de la memoria
Control de entrada/salida
Gestin de dispositivos de almacenamiento
masivo
Asignacin de recursos y planificacin
Proteccin
Interfaz de usuario
Ncleo
Descansa directamente sobre el hardware y
proporciona una serie de servicios a las capas
superiores del sistema.
Las tareas principales son:
Manejo de interrupciones
Asignacin de trabajo al procesador
Proporcionar una va de comunicacin entre los
diferentes programas
Manejo de interrupciones:
Cuando el hardware detecta una
interrupcin, el control se transfiere a este
mdulo,
el cual analiza el carcter de la interrupcin
y toma las acciones apropiadas:
Transferir el control a otro mdulo del S. O.
Iniciar otro programa
Continuar la ejecucin del programa
interrumpido
Gestin de interrupciones S. O. multitarea

ES3 P3
ES2 P1
ES1 P2 P3

P3
P2
P1
SO
Asignacin de trabajo al procesador y
comunicacin entre programas
El ncleo transfiere el control al programa que el
planificador ha determinado para que sea el prximo en
ejecutarse.
La comunicacin entre programas se logra manteniendo
una cola de mensajes en espera para cada uno de los
programas activos.
El ncleo recibe los mensajes y los va almacenando en la
cola apropiada al destino en cuestin, para distribuirlos
cuando el programa destino se active.
Ncleo
Gestin de la memoria
La memoria principal de la mayora de los
ordenadores es mucho mas pequea de lo que sera
necesario para manejar todos los programas y datos.
El mdulo de gestin de memoria es el encargado de
asignar ciertas porciones de la memoria principal a
los diferentes programas, mientras el resto de
programas y datos se mantienen en los dispositivos
de almacenamiento masivo.
La forma mas comn de gestin de memoria es crear
una memoria virtual utilizando los dispositivos de
almacenamiento masivo.
Gestin de la memoria
Gestin de la memoria
Divisin de la memoria entre las tareas
Por pginas: bloques de bytes de igual
tamao para todos los procesos y tareas.
Por segmentos: bloques de bytes con
distinto tamao segn el proceso.
Por segmentos paginados: Los
segmentos de tamao distinto se dividen
a su vez en pginas de distinto tamao.
Control de la entrada/salida
Los problemas derivados de las diferentes
velocidades de funcionamiento de los
dispositivos son tratados por este mdulo
presentndolo como una cuestin
independiente del dispositivo.
Ej: En las salidas es frecuente la utilizacin de
spoolers, los datos se almacenan
temporalmente en una cola situada en un
dispositivo de almacenamiento masivo hasta
que el perifrico requerido quede libre.
Gestin de entradas/salidas

Proceso Soft E/S Soft Perif Ctrl Interr Hardware

Peticin E/S

Peticin OK
Gestin de los dispositivos de
almacenamiento masivo
Los datos y programas de un dispositivo de
almacenamiento masivo se mantienen en archivos.
Supervisa la creacin, actualizacin y eliminacin de
estos ficheros.
Mantiene un directorio con todos los ficheros que
existen en el sistema en cada momento.
Cada fichero est dotado de un conjunto de
privilegios de acceso, que indican la extensin con la
que pueden compartir la informacin contenida en el
fichero. El S. O. Vigila que estos privilegios no sean
violados.
Sistema de archivos
Asignacin de recursos y planificacin
La mayor parte del tiempo en que un ordenador est
funcionando, la demanda de recursos es mayor que
los realmente existentes. Este problema se resuelve
aplicando una poltica de asignacin de recursos.
El mecanismo sera sencillo si se pudiese utilizar una
poltica del tipo: atender primero al que antes lo
solicite, sin embargo esto puede llevar a situaciones
de deadlock (sistema colgado o caido) cuando dos
programas solicitan insistentemente recursos
asignados a otro.
El planificador cuenta con una poltica que varia de
un S. O. a otro. Una poltica muy comn consiste en
el time slicing (asignacin de intervalos cortos de
tiempo a los programas)
Asignacin de recursos y planificacin
Fin de un intervalo de tiempo

Nuevos Programas listos Programas


programas Cola del para ejecutarse terminados
procesador Procesador
Programas Ejecucin de
ejecutables Un programa

Programas bloqueados
Programas cuyas
Colas de por peticiones e/s
peticiones e/s
satisfechas Entrada/salida

Programas no ejecutables
Proteccin
Acta contra dos sucesos:
Errores
Abuso deliberado de los recursos del sistema
Bloqueos
Interfaz de usuario
Interfaz de comandos
Interfaz grfica
MS DOS
Desarrollado en 1979
MS DOS, IBM, Bill Gates y Microsoft
Modelo DOS
Usuario

Procesador
de comandos

Sistema de
Sistema de Programas
Transferencia de Utilidades
ficheros de aplicacin
caracteres

Controladores de
Bios
dispositivos

Firmware

Hardware
MS DOS
Procesador de comandos
Interfaz de usuario
Gestionar el sistema de interrupciones
Tratar los errores
Ejecutar los comandos internos del MS DOS
MS DOS
Gestin de almacenamiento masivo
Gestin de ficheros del ordenador
Sistemas de directorios

Directorio
raz

Fichero Directorio Fichero Directorio

Directorio Fichero Fichero Fichero


Windows
Interfaz grfico Historia
Metfora escritorio Windows 1.0, 2.0, 3.0
Mens y botones Windows 3.1
Windows 3.11
Teclado y ratn Windows 95 y 98
S: O. Usuario Windows NT, 2000 y XP
S. O. Servidores Windows CE
Windows Pocket PC
Windows XP
Windows 7
Windows 8
Windows 10
UNIX
Laboratorios Bell de ATT
S. O. de propsito general
Multiusuario e Interactivo
Soporta multiprogramacin y multiacceso
LINUX
Desarrollado por Linus Torvald
Funciona sobre plataformas Intel o Motorola
Se estructura en:
Ncleo o Kernel: Interacta directamente con el hardware
y reside permanentemente en memoria.
Shell: Intrprete de comandos. Interfaz entre ncleo y
usuario.
Utilidades o programas de usuario.