Вы находитесь на странице: 1из 31

Introduccin a los

Sistemas
Operativos
Tema 2 Introducciona los Sistemas Operativos p.1/7
UNIDAD DE COMPETENCIA 2
ndice
Conceptos claves de Sistemas Operativos
2.
2.1. Segn el usuario de rdenes/aplicaciones
2.1.1
2.1.2
2.1.3
2.1.2
2.1.5
2.1.6
2.1.7
Usuario
Sesin
Programa
Proceso
Fichero
Programas del sistema
Interfaz de usuario
2.2. Segn el usuario programador
2.2.1
2.2.2
2.2.3
Llamadas al sistema
Estndar POSIX
API Win32 de Windows
2.3. Segn el diseador/implementador
2.3.1
2.3.2
2.3.3
2.3.2
2.3.5
Subsistema de gestin de procesos
Subsistema de gestin de memoria
Subsistema de gestin de E/S
Subsistema de gestin de fi cheros
Subsistema de gestin de proteccin
Tema 2 Introducciona los Sistemas Operativos p.20/7
2.1. Conceptos Claves de S.O.
Segn el usuario de rdenes/aplicaciones
Usuario Persona que trabaja en el sistema
Sesin Periodo de tiempo durante el cual un usuario
interacta con el sistema
Programa Cdigo ejecutable. Concepto esttico
Proceso Programa en ejecucin. Concepto
dinmico
Fichero Unidad lgica de almacenamiento
Programas del sistema Ofrecen un entorno ms
cmodo para el desarrollo y ejecucin de programas
Interfaz de usuario Permite dar rdenes al sistema
para realizar diversas operaciones
Tema 2 Introducciona los Sistemas Operativos p.21/7
2.1.6. Programas del Sistema
Suelen venir con el S.O. y dependen de l
Normalmente realizan funciones bsicas:
Manipulacin de ficheros (crear, eliminar, ver, imprimir, etc.)
Informacin de estado (procesos, memoria, disco, etc.)
Modificacin de ficheros (crear y modifi car su contenido)
Apoyo a lenguajes de programacin (compiladores, etc.)
Comunicaciones (correo, ftp, etc.)
Aplicaciones (editores de texto, de grfi cos, etc.)
El intrprete de rdenes o shell es un programa del
sistema
El S.O. no diferencia entre los programas del usuario
los del sistema
y
Tema 2 Introducciona los Sistemas Operativos p.22/7
2.1.7. Interfaz de usuario (Carretero[2.12])
Interfaces alfanumricas
Su modo de trabajo est basado en lneas de texto
El usuario escribe la orden a ejecutar y sus parmetros
El intrprete de rdenes es el mdulo encargado de la
interfaz lee la orden, y ejecuta la accin especificada
Existen dos tipos de intrpretes de rdenes:
interno: un nico programa contiene el cdigo para
ejecutar todas las rdenes
externo: las rdenes no forman parte del intrprete,
son programas externos
En los sistemas reales puede existir una mezcla de las
dos estrategias
Tema 2 Introducciona los Sistemas Operativos p.23/7
2.1.7. Interfaces alfanumricas
Interfaz de
Es ms
grande,
rdenes interno
eficiente, pero puede llegar a ser muy
y posibles modificaciones o ampliaciones
exigen cambiar el cdigo del intrprete y
recompilarlo
Su funcionamiento es:
Lee la orden
Determina qu orden es, y salta a la parte del cdigo
correspondiente
Si no es una orden interna, ejecutar la aplicacin en
nuevo proceso
Espera a que fi nalice la ejecucin
un
command.com de MS-DOS es un intrprete de
rdenes interno
Tema 2 Introducciona los Sistemas Operativos p.22/7
2.1.7. Interfaces alfanumricas (i)
Interfaz de rdenes externo
La interfaz de usuario est compuesta por el
intrprete y cada uno de los programas del sistema
Su funcionamiento es:
Lee la orden
Crea un nuevo proceso que ejecutar esa orden
Espera a que termine la ejecucin
Es menos eficiente, y las modificaciones o
inclusiones de nuevas rdenes slo implican aadir
nuevos programas
Los shells de UNIX son externos, aunque algunas
rdenes estn implementadas como internas (p. ej.
cd, echo, expr, test)
Tema 2 Introducciona los Sistemas Operativos p.25/7
2.1.7. Interfaz de usuario
Interfaces grfi cas, GUI (Graphical User Interface)
El objetivo es presentar a los usuarios una visin
sencilla e intuitiva del sistema, ocultando su
complejidad
Estn basadas en ventanas que permiten trabajar
simultneamente con varias actividades
Se utilizan iconos y mens para representar los
recursos y poder realizar operaciones sobre los mismos
El ratn permite interactuar con estos elementos
Para usuarios avanzados y para agilizar el trabajo
proporcionan la posibilidad de realizar las mismas
operaciones mediante una combinacin de teclas
Tema 2 Introducciona los Sistemas Operativos p.26/7
2.1.7. Interfaces grficas
La estructura interna est formada por un conjunto de
programas, los cuales trabajan conjuntamente para
realizar las peticiones del usuario, usando los servicios
del sistema
Gestor de ventanas para mantener el estado de las
mismas y permitir su manipulacin
Administrador de programas para arrancar aplicaciones
Gestor de archivos para manipular ficheros y directorios
Herramientas de configuracin de la propia interfaz y
del entorno
Ideal si tambin incluye alguna otra interfaz
programtica a nivel de scripts (importante separar la
funcionalidad de la presentacin)
Tema 2 Introducciona los Sistemas Operativos p.27/7
2.2. Conceptos Claves de S.O.
Segn el usuario programador
Llamadas al sistema
Defi nen Interfaz entre el S.O. y los programas de usuario
Dependen mucho de la mquina y en ocasiones estn en
ensamblador
cdigo
Lenguajes de alto nivel tienen libreras de procedimientos que
permiten hacer llamadas al sistema
Un proceso de usuario necesita un servicio del S.O. llamada
al sistema control al S.O.
Entonces el S.O. realiza las siguientes tareas:
determina qu quiere el proceso invocador, examinando los parmetros
ejecutar la llamada al sistema
devuelve el control a la instruccin que est despus de la llamada al sistema
Llamada a un procedimiento especial que se ejecuta en modo
ncleo
Tema 2 Introducciona los Sistemas Operativos p.28/7
SEGN EL USUARIO PROGRAMADOR
MODOS Y LLAMADAS DE SISTEMA
Programa 2 del usuario
Programa 1 del usuario
Procedimiento de
servicio
Tabla de
despacho
1
2
3
4
M
o
d
o


N

c
l
e
o
M
o
d
o


U
s
u
a
r
i
o
2.2.1. LLAMADAS AL SISTEMA
2.2.2. Segn el usuario programador
Estndar POSIX (1003.1) (Tanenbaum[C.10.1.5])
Portable Operating System + UNIX
Realizado bajo la IEEE, participaron la industria, las
universidades y el gobierno
Defi ne el conjunto de procedimientos de librera que debe
proporcionar todo sistema UNIX que cumpla con la norma
Casi todos son llamadas al sistema, pero algunos se pueden
implementar fuera del ncleo
Programa que slo use procedimientos defi nidos en POSIX
ejecutar en cualquier sistema UNIX
open, read, fork, etc.
Documentos relacionados estandarizan procesos ligeros,
seguridad, shells y utilidades, servicios en tiempo real, etc.
se
Tema 2 Introducciona los Sistemas Operativos p.30/7
2.2.2. POSIX: Algunas llamadas
Process management
Call Description
Create a child process identical to the parent
Wait for a child to terminate
Replace a process core image
Terminate process execution and return status
pid = fork( )
pid = waitpid(pid, &statloc, options)
s = execve(name, argv, environp)
exit(status)
File management
Call
fd = open(file, how, ...)
s = close(fd)
n = read(fd, buffer, nbytes)
n = write(fd, buffer, nbytes)
position = lseek(fd, offset, whence)
s = stat(name, &buf)
Description
Open a file for reading, writing or both
Close an open file
Read data from a file into a buffer
Write data from a buffer into a file
Move the file pointer
Get a files status information
Directory and file systemmanagement
Description Call
s = mkdir(name, mode)
s = rmdir(name)
s = link(name1, name2)
s = unlink(name)
s = mount(special, name, flag)
s = umount(special)
Create a new directory
Remove an empty directory
Create a new entry, name2, pointing to name1
Remove a directory entry
Mount a file system
Unmount a file system
Miscellaneous
Call
s = chdir(dirname)
s = chmod(name, mode)
s = kill(pid, signal)
seconds = time(&seconds)
Description
Change the working directory
Change a files protection bits
Send a signal to a process
Get the elapsed time since Jan. 1, 1970
Tema 2 Introducciona los Sistemas Operativos p.31/7
2.2.3. Segn el usuario Programador
API Win32 de Windows (Application Programming Interface)
Programa Windows controlado por eventos
Programa Principal espera evento invoca un procedimiento
para procesarlo, actualizar la ventana, y el estado interno del
programa
Eventos pulsacin de una tecla, movimiento
insercin de un disquete, etc.
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
o clic del ratn,
Las llamadas al sistema y las libreras de procedimientos estn
desacopladas
Tema 2 Introducciona los Sistemas Operativos p.32/7
2.2.3.
Contina. . .
API Win 32
API Win32 cjto. de procedimientos para pedir servicios al S.O.
Se reconoce parcialmente en todas las versiones de Windows
(desde Windows 95)
Al desacoplar la interfaz de las llamadas al sistema, Microsoft se
guarda la posibilidad de modifi car las llamadas al sistema, sin
inutilizar los programas existentes
La API la forman millares de funciones, algunas provocan
llamadas al sistema, otras no (se ejecutan en modo usuario)
Difcil saber qu es una llamada al sistema o simplemente una
llamada a un procedimiento de librera en el espacio de usuario
Hablaremos de la API Win32, no de llamadas al sistema
propiamente dichas
Tambin maneja muchas caractersticas de la GUI: ventanas,
fi guras geomtricas, texto, tipos de letra, mens, etc.
Tema 2 Introducciona los Sistemas Operativos p.33/7
2.2.3. API Win32
de API llamadas al sistema de POSIX Llamadas
UNIX
fork
waitpid
execve
exit
open
close
read
write
lseek
stat
mkdir
rmdir
link
unlink
mount
umount
chdir
chmod
kill
time
Win32
CreateProcess
WaitForSingleObject
(none)
ExitProcess
CreateFile
CloseHandle
ReadFile
WriteFile
SetFilePointer
GetFileAttributesEx
CreateDirectory
RemoveDirectory
(none)
DeleteFile
(none)
(none)
SetCurrentDirectory
(none) (none)
GetLocalTime
Description
Create a new process
Can wait for a process to exit
CreateProcess = fork + execve
Terminate execution
Create a file or open an existing file
Close a file
Read data from a file
Write data to a file
Move the file pointer
Get various file attributes
Create a new directory
Remove an empty directory
Win32 does not support links
Destroy an existing file
Win32 does not support mount
Win32 does not support mount
Change the current working directory
Win32 does not support security (although NT does)
Win32 does not support signals
Get the current time
Tema 2 Introducciona los Sistemas Operativos p.32/7
2.3. Conceptos Claves de S.O.
Segn el diseador/implementador
Subsistema de gestin de procesos
Proceso programa en ejecucin
Trabajo por lotes, programa de usuario, tarea del sistema,
Necesita de recursos para su ejecucin: tiempo de CPU,
memoria, archivos, dispositivos de E/S, etc.
Programa entidad pasiva
Proceso entidad activa, tiene un contador de programa
dice cul es la siguiente instruccin a ejecutar
El proceso es la unidad de trabajo del sistema
etc.
que
Actividades del S.O.:
Crear y eliminar procesos de usuario y de sistema
Suspender y reanudar la ejecucin de procesos
Comunicacin y sincronizacin entre procesos
Tema 2 Introducciona los Sistemas Operativos p.35/7
2.3. Segn el diseador/implementador
Subsistema de gestin de la memoria principal
Principal almacenamiento de datos de acceso rpido y
compartido por la CPU y los dispositivos de E/S
Los procesos deben estar total o parcialmente en memoria
Entran y salen de memoria nuevos procesos
Utilizan memoria dinmica que reservan y liberan
reas internas al S.O. como DMA y contabilidad
Es necesario mantener varios procesos en memoria para
mejorar el uso de la CPU
Qu esquema de administracin de memoria utilizar?
Actividades del S.O.:
Llevar control de las zonas de memoria ocupadas y por quin,
y de las zonas libres
Decidir qu procesos se cargan en memoria
Asignar y recuperar espacio en memoria
Tema 2 Introducciona los Sistemas Operativos p.36/7
2.3. Segn el diseador/implementador (i
Subsistema de gestin de E/S
Ocultar las particularidades del hardware y que el usuario no las
perciba
Ofrecer una interfaz homognea
En UNIX se consigue mediante el subsistema de E/S:
Un componente de gestin de memoria que incluye el uso de buffers, cach
Interfaz general (y uniforme) con los manejadores de dispositivos
Manejadores para dispositivos hardware especfi cos
Slo el manejador de dispositivo conoce sus peculiaridades
Por ejemplo, para la gestin del almacenamiento secundario:
Administracin del espacio libre
Asignacin de almacenamiento
Planifi cacin del disco
Tema 2 Introducciona los Sistemas Operativos p.37/7
2.3.Segn el diseador/implementador (ii
Subsistema de gestin de ficheros
Es el componente ms visible del S.O.
Disquetes, discos magnticos, discos pticos, etc.
Presentar una perspectiva lgica uniforme de almacenamiento
de informacin, abstrayndose de las propiedades del dispositivo
Fichero unidad lgica de almacenamiento
Fichero coleccin de informacin relacionada (numricos,
alfabticos, alfanumricos, con formato libre o rgido, etc.)
Directorios organizar fi cheros para facilitar su uso
Actividades del S.O.:
Crear y eliminar fi cheros y directorios
Permitir la manipulacin de fi cheros y directorios
Correspondencia entre fi cheros y almacenamiento secundario
Tema 2 Introducciona los Sistemas Operativos p.38/7
.3. Segn el diseador/implementador (ii
Subsistema de proteccin
Proteccin mecanismo para controlar el acceso de los
procesos o usuarios a los recursos defi nidos por un sistema de
computacin: fi cheros, impresoras, procesos, etc.
Especifi car los controles que se impondrn y cmo ponerlos
Los distintos procesos deben protegerse unos de otros
Ficheros, segmentos de memoria, CPU, etc. slo deben
usados por los procesos que han obtenido autorizacin
Ya hemos visto a nivel HW
Modo ncleo/usuario controlar los dispositivos HW
Registros base y lmite controlar la memoria
Cronmetros controlar la CPU
ser
Tema 2 Introducciona los Sistemas Operativos p.39/7
ndice
Carga y Activacin de un S.O.
5.
5.1.
5.2.
5.3.
Arranque hardware
Ubicacin del Sistema Operativo
Arranque del Sistema Operativo
6. Arquitecturas de Sistemas Operativos
6.1.
6.2.
6.3.
6.2.
6.5.
6.6.
Sistemas monolticos
Sistemas en capas
Mquinas virtuales
Exokernels
Modelo cliente/servidor
Modelo OO o de objetos distribuidos y componentes
Tema 2 Introducciona los Sistemas Operativos p.20/7
5. Carga y Activacin de un S.O.
El arranque de un ordenador actual tiene 2 fases:
arranque
arranque
hardware
del S.O.
Tema 2 Introducciona los Sistemas Operativos p.21/7
5.1. Arranque hardware
Iniciador ROM Programa
la ROM
Al arrancar el ordenador Seal elctrica Carga
valores predefinidos en los registros
Contador del programa direccin de inicio del
iniciador ROM
de arranque disponible en
El
1.
iniciador ROM realiza tres funciones:
Comprueba el sistema, detectando sus caractersticas y
comprobando su funcionamiento
Lee y almacena en memoria el programa cargador del S.O.
Pasa el control al cargador del S.O., saltando a la direccin de
memoria donde lo ha almacenado
2.
3.
PCs la ROM tiene tambin un SW de E/S, la BIOS
Tema 2 Introducciona los Sistemas Operativos p.22/7
5.2. Ubicacin del Sistema Operativo
S.O. est almacenado en una unidad de disco
Programa cargador (o boot) del S.O. primeros
sectores del disco y con un tamao prefijado
Master Boot Record o Volume Boot Record
Programa iniciador de la ROM y S.O. tienen
sobre el cargador del S.O.:
ubicacin
direccin de arranque
tamao
un acuerdo
Esto permite que el iniciador pueda soportar varios S.O.
Tema 2 Introducciona los Sistemas Operativos p.23/7
5.3. Arranque del Sistema Operativo
Programa cargador del S.O. trae a memoria algunos
componentes del S.O.
Empieza la fase de iniciacin del S.O.:
Comprobacin del sistema
Se establecen estructuras internas del S.O.: tabla
procesos, tabla de memoria, de E/S
Se carga la parte del S.O. que va a estar siempre
memoria, sistema operativo residente
Se lanzan los procesos auxiliares y demonios
(impresin, red, etc.)
Se crea un proceso de inicio o login, por cada
terminal
de
en
Tema 2 Introducciona los Sistemas Operativos p.22/7
6.1. Arquitecturas de S.O.
Sistemas monolticos (El Gran Embrollo)
Coleccin de procedimientos sin estructura
Interfaz de procedimientos bien definida
No hay ocultamiento de informacin
Llamadas al sistema para solicitar
MS-DOS, UNIX, Windows
Estructura bsica:
Progr. ppal. procedimiento del
servicios al S.O.
Procedimiento
principal
servicio solicitado
Procedimientos de servicio
ejecutan llamadas al sistema
Procedimientos utilitarios apoyan
los procedimientos de servicio
Procedimientos
de servicio
Procedimientos
auxiliares
a
Tema 2 Introducciona los Sistemas Operativos p.25/7
6.2. Arquitecturas de S.O. (i)
Sistemas en Capas
Jerarqua de capas
Ventajas
Modularidad
Ocultacin de la informacin
Verifi cacin por capas
Inconvenientes
Difcil diseo de las capas
Dependencias mltiples
Dnde se pone esto?
THE, VENUS
MULTICS (anillos concntricos)
Layer
5
2
3
2
1
0
Function
The operator
User programs Input/output
management Operator-process
communication Memory and
drum management
Processor allocation and multiprogramming
Estructura del S.O. THE
Tema 2 Introducciona los Sistemas Operativos p.26/7
6.3. Arquitecturas de S.O. (ii)
Mquinas virtuales
El S.O. no aade funcionalidad nueva
El monitor de mquina virtual se ejecuta sobre el HW
desnudo, realiza multiprogramacin y proporciona
varias mquinas virtuales a la capa superior
Varias Mquinas Virtuales sobre una mquina fsica
Es complejo: duplicado idntico de la mquina fsica
CMS, Modo 8086 virtual
Ventajas
Proteccin total de los recursos
Desarrollo de nuevos S.O.
Distintos S.O. sobre una mquina
(VMWARE)
de Windows, VMWARE,
370 virtuales
JVM
Llamadas al sistema a
Trampa aqu
Instrucciones de E/S aqu
Trampa aqu
Tema 2 Introducciona los Sistemas Operativos p.27/7
CMS CMS CMS
VM/370
Hardware simple de la 370
6.2. Arquitecturas de S.O. (iii)
Exokernels
Presentan un clon exacto de la computadora real,
con un subconjunto de los recursos de la misma
pero
Exokernel:
Se ejecuta, en modo ncleo, en la capa ms baja
Asigna recursos a las mquinas virtuales
Controlar los intentos de uso de recursos, evitando interferencias
Cada mquina virtual a nivel usuario puede ejecutar su propio
S.O. pero limitado a los recursos
Ahorra una capa de mapeo o
que se le asignan
correspondencia
Separa la multiprogramacin (en el exokernel) y el cdigo
del S.O. del usuario (en el espacio de usuario)
Tema 2 Introducciona los Sistemas Operativos p.28/7
6.5. Arquitecturas de S.O. (iv)
Modelo Cliente/Servidor
Proceso Cliente: Solicita servicios
Proceso Servidor: Provee servicios
El ncleo se convierte en un microkernel:
Maneja la comunicacin entre clientes y servidores
Servidores en modo usuario:
Proteccin: no acceso directo al hardware entonces?
Bien algunos servidores en modo ncleo (incluidos en ncleo)
Bien envan mensajes especiales que el kernel reconoce
ptimo para sistemas distribuidos (extensible, escalable, etc.)
User mode
Kernel mode
Client obtains
service by
sending messages
to server processes
Tema 2 Introducciona los Sistemas Operativos p.29/7
Client
process
Client
process
Process
server
Terminal
server
File
server
Memory
server
Microkernel