Publicado el 14 de Enero del 2017
1.052 visualizaciones desde el 14 de Enero del 2017
118,0 KB
19 paginas
Creado hace 14a (14/02/2011)
UNIVERSIDAD
DE CANTABRIA
Bloque I: Principios de sistemas
operativos
Tema 1. Principios básicos de los sistemas operativos
Tema 2. Concurrencia
Tema 3. Ficheros
Tema 4. Sincronización y programación dirigida por eventos
Tema 5. Planificación y despacho
Tema 6. Sistemas de tiempo real y sistemas empotrados
Tema 7. Gestión de memoria
Tema 8. Gestión de dispositivos de entrada-salida
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
1
© Michael González, J. Javier Gutiérrez
14/feb/11
1
Notas:
UNIVERSIDAD
DE CANTABRIA
Tema 1. Principios básicos de los sistemas operativos
• Concepto de sistema operativo.
• Evolución de los sistemas operativos.
• Estructura de los sistemas operativos.
• Concepto de programa y proceso.
• Concurrencia: gestión de procesos y threads.
• Gestión de memoria.
• Ficheros y el sistema de ficheros.
• Entrada/salida.
• Sistemas multiusuario y protección.
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
14/feb/11
2
UNIVERSIDAD
DE CANTABRIA
1. Concepto de sistema operativo
Controla el uso por parte de los programas de aplicación de todos
los recursos del computador: memoria, CPU, unidades de entrada
y salida
Independiza al programa de aplicación del hardware
Proporciona comunicación con otros computadores
Ejecuta servicios para los programas o aplicaciones
Ejecuta órdenes de los usuarios
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
14/feb/11
3
Niveles del sistema operativo
UNIVERSIDAD
DE CANTABRIA
Usuarios
Aplicaciones
Shell
Servicios (API)
Drivers I/O
Núcleo
Hardware
Sistema
operativo
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
14/feb/11
4
UNIVERSIDAD
DE CANTABRIA
Gestión de recursos
Asignación de recursos
• memoria, disco, dispositivos de entrada salida
• CPU (planificación)
Protección
• Entre usuarios y aplicaciones
• Entre cada aplicación y el sistema operativo
• Entre cada aplicación y el hardware
Contabilidad
• A efectos de gestión de coste
• A efectos de calidad de servicio
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
14/feb/11
5
UNIVERSIDAD
DE CANTABRIA
Servicios del sistema operativo
Concurrencia
• procesos
• threads
• sincronización
Ficheros
Entrada/Salida (incluyendo comunicaciones)
Gestión de la memoria
Servicios de tiempo real
• planificación, relojes, ...
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
14/feb/11
6
Arranque del computador
UNIVERSIDAD
DE CANTABRIA
Fase
Iniciador ROM
Cargador del SO
Inicialización SO
Funcionamiento normal
Operación
Test del hardware
Carga del cargador del SO
Carga en memoria de componentes
del SO
Test del sistema de archivos
Creación de estructuras de datos
internas
Arranque de procesos del sistema
(demonios)
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
14/feb/11
7
2. Evolución de los sistemas operativos
Los primeros computadores no tenían sistema operativo
• programados en lenguaje máquina
• el programador hacía todo el software
Sistemas de procesamiento por lotes (1955-1965)
UNIVERSIDAD
DE CANTABRIA
Tarjetas
Lector de
tarjetas
Unidad de
cinta
Cinta de
entrada
Computador
Cinta de
salida
Impresora
• se agrupaban varios trabajos en un lote, para agilizar el proceso
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
14/feb/11
8
Evolución de los sistemas operativos
(cont.)
La multiprogramación (1965-1980)
• Varias aplicaciones cargadas a la vez en memoria
• Cuando una aplicación está en espera, las demás pueden
UNIVERSIDAD
DE CANTABRIA
continuar
• Spooling: leer tarjetas al mismo tiempo que se procesan otras
• El tiempo compartido entre múltiples usuarios es una evolución
natural de la multiprogramación
- ejemplo: CTSS, MIT;
- reduce drásticamente el tiempo de espera a un trabajo
- se populariza sólo al haber hardware de protección
- desemboca en el sistema operativo UNIX
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
14/feb/11
9
Evolución de los sistemas operativos
(cont.)
Historia del UNIX
• A partir del CTSS se diseña el MULTICS (MIT, Bell Labs, General
UNIVERSIDAD
DE CANTABRIA
Electric)
- pensado para cientos de usuarios
- escrito en PL/I
- resultó demasiado ambicioso
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
14/feb/11
10
Evolución de los sistemas operativos
(cont.)
Historia del UNIX (cont.)
• Ken Thompson, de Bell Labs, desarrolla una versión
UNIVERSIDAD
DE CANTABRIA
monousuario, en ensamblador: UNICS
- se unen al proyecto Brian Kernighan y Denis Ritchie
- se porta a un computador PDP-11, con hardware de protección de
- se reescribe en un lenguaje propio: B, que es una simplificación del
memoria
BCPL
- Ritchie rediseña el lenguaje y lo llama C
- se reescribe Unix en C: se consigue la portabilidad
- se distribuye gratuitamente a las universidades
- se estandariza con el nombre POSIX
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
14/feb/11
11
Evolución de los sistemas operativos
(cont.)
Computadores personales (1980-1990)
• dos tipos:
- estaciones de trabajo: UNIX y redes
- PCs para oficinas y hogares: MS-DOS, luego Windows
• software fácil de usar: entornos gráficos de ventanas
La Internet (1991-hoy)
• los sistemas operativos generales proporcionan conexión a la
UNIVERSIDAD
DE CANTABRIA
red
• se populariza el software libre (Gnu)
• dos grandes familias: Windows y Unix/Linux
• surgen otros niveles diferentes al SO: Java, .net
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
14/feb/11
12
3. Estructura de los sistemas
operativos
UNIVERSIDAD
DE CANTABRIA
Usuarios
Aplicaciones
Shell 1
Shell 2
Servicios
Núcleo
API Win32
API POSIX
Gestión
de
Procesos
Gestión
de
Memoria
Entrada/
Salida
Archivos
y
Directorios
Seguridad
y
protección
Redes
Drivers I/O
Hardware
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
14/feb/11
13
Tipos de sistemas operativos por su
estructura
a) Monolíticos
• Todos los componentes en un solo programa
• Un solo espacio de direcciones
• Un solo flujo de control (no hay concurrencia interna)
• El sistema operativo se ejecuta en modo privilegiado; las
aplicaciones en modo usuario (restringido)
UNIVERSIDAD
DE CANTABRIA
• Ejemplos: MS-DOS, UNIX
• Son complicados de modificar
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
14/feb/11
14
Tipos de sistemas operativos por su
estructura (cont.)
b) A capas
• Jerarquía de capas, cada una con una interfaz clara y que sólo
UNIVERSIDAD
DE CANTABRIA
usa los servicios de la capa inferior
• Ejemplos THE (Dijkstra 1968), OS/2 (Deitel, 1994)
Aplicaciones
Gestión de entrada/salida
Controlador del terminal
Gestión de memoria
THE
Planificación de la CPU y multiprogramación
Hardware
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
14/feb/11
15
Tipos de sistemas operativos por su
estructura (cont.)
c) Máquinas virtuales
• Se proporciona un modelo de una máquina sobre la que se
UNIVERSIDAD
DE CANTABRIA
pueden ejecutar programas
• esta máquina se puede replicar por tiempo compartido
• se pueden ejecutar sistemas operativos completos sobre la
máquina virtual
• Ejemplos:
- JVM (Java virtual machine)
- VM-Ware (emula un PC sobre Windows o Linux)
- RT-Linux
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
14/feb/11
16
Tipos de sistemas operativos por su
estructura (cont.)
d) Modelo cliente-servidor
• Se mueven parte de los servicios del sistema operativo a una
UNIVERSIDAD
DE CANTABRIA
capa superior: servidores
• Los programas de aplicación son clientes
• Se comunican a través de un micro-núcleo (privilegiado)
Applic. Applic.
API
API
Servidor
de
procesos
Servidor
de
memoria
Servidor
de
I/O
Servidor
archivos
directorios
Servidor
de
redes
Micro-núcleo
Hardware
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
14/feb/11
17
Tipos de sistemas operativos por su
estructura (cont.)
Los sistemas cliente-servidor (cont.)
• Son más flexibles
• Pero menos eficientes
• Ejemplo: Minix (Tanenbaum 1998), Mach (Accetta, 1986)
• Windows NT/2000/XP es mezcla de un sistema monolítico (por
UNIVERSIDAD
DE CANTABRIA
eficiencia) y cliente-servidor (por flexibilidad)
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
14/feb/11
18
Tipos de sistema operativo por sus
servicios
Por el número de usuarios
• sistemas empotrados:
- sin usuarios directos
-
- ejemplo: controlador de un televisor
forman parte de un sistema mayor
UNIVERSIDAD
DE CANTABRIA
• sistemas monousuario:
- un solo usuario
- ejemplo: Windows 98
• sistemas multiusuario
- muchos usuarios
- presenta protección entre usuarios
- ejemplos: Unix, Windows XP profesional
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
14/feb/11
19
Tipos de sistema operativo por sus
servicios (cont.)
Por el nivel de protección (se protegen datos de una aplicación y
del sistema operativo frente a otras aplicaciones)
• protegidos (Unix, Windows XP profesional)
• semi-protegidos (Windows 98)
• no protegidos (Windows 3.1)
Por la capacidad de concurrencia
• monoproceso y monotarea: un solo programa con un solo flujo
UNIVERSIDAD
DE CANTABRIA
de control (MS-DOS)
• multitarea: capaz de ejecutar un solo programa, pero varias de
sus partes a la vez (MaRTE OS)
• multiproceso: capaz
Comentarios de: Bloque I: Principios de sistemas operativos (0)
No hay comentarios