Upload
ronaldquimi
View
220
Download
0
Embed Size (px)
Citation preview
8/4/2019 Sistemas Operativos 19
1/180
Sistemas Operativos
Ing. David Benavides
8/4/2019 Sistemas Operativos 19
2/180
Ing. David Benavides L.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
3/180
Ing. David Benavides L.
Sistemas Operativos
ProcesamientoDatos Resultado
Entrada Salida
Instrucciones de mquina
8/4/2019 Sistemas Operativos 19
4/180
Ing. David Benavides L.
Sistemas Operativos
La arquitectura de Von Neumann describe una computadora con 4secciones principales: la unidad aritmtico lgica (ALU por sus siglasdel ingls: Arithmetic Logic Unit), la unidad de control (UC), la memoriacentral, y los dispositivos de entrada y salida (E/S). Estas partes estninterconectadas por canales de conductores denominados buses.
8/4/2019 Sistemas Operativos 19
5/180
Ing. David Benavides L.
Sistemas Operativos
Secuencia de celdasde almacenamientonumeradas, dondecada una es un bit ou n i d a d d einformacin.
E l p r o c e s a d o r (tambin llamadoUnidad central deprocesamiento oCPU) consta de:
O A L U e s e ld i s p o s i t i v od iseado parallevar a cabo laso p e r a c i o n e selementales comolas operacionesa r i t m t i c a s yl g i c a s , yoperaciones decomparacin orelacionales
Sigue la direccinde las posicionesen memoria quec o n t i e n e n l ainstruccin que elcomputador va a
realizar. Transfiereluego el resultadoa ub i cac i onesapropiadas en lamemoria.
S i r v e n a l acomputadora parao b t e n e r informacin delmundo exterior y/o comunicar los
r e s u l t a d o sgenerados por elcomputador a lexterior.
8/4/2019 Sistemas Operativos 19
6/180
Ing. David Benavides L.
Sistemas Operativos
p1
p2
p3
Procesos.
CPU
Memoria.
8/4/2019 Sistemas Operativos 19
7/180Ing. David Benavides L.
Sistemas Operativos
Es una seal recibida por el procesador de un ordenador,indicando que debe "interrumpir" el curso de ejecucin actual ypasar a ejecutar cdigo especfico para tratar esta situacin.
Estas son
asncronas a laejecucin del
procesador, es decir,se pueden producir
en cualquiermomento.
Conocidas como excepciones.Son aquellas que se producen
de forma sncrona a laejecucin del procesador y portanto podran predecirse si seanaliza con detenimiento latraza del programa que en esemomento estaba s iendoejecutado en la CPU
8/4/2019 Sistemas Operativos 19
8/180Ing. David Benavides L.
Sistemas Operativos
Excepciones de programas.Interrupciones peridicas del reloj.Interrupciones de entrada y salida.Excepciones de Hardware.
8/4/2019 Sistemas Operativos 19
9/180Ing. David Benavides L.
Sistemas Operativos
Su objetivo es conseguir el rendimiento de una memoria de gran velocidad al coste de unamemoria de baja velocidad, basndose en el principio de cercana de referencias.
8/4/2019 Sistemas Operativos 19
10/180Ing. David Benavides L.
Sistemas Operativos
A menor tiempo de acceso mayor costoA mayor capacidad mayor costoA mayor capacidad menor velocidad.
- REGISTROS: Los registros son espacios fsicos dentro delmicroprocesador.- MEMORIA CACH: Clase de memoria RAM esttica (SRAM) de
acceso aleatorio y alta velocidad, situada entre el CPU y la RAM.
- MEMORIA RAM: Tipo de memoria de ordenador a la que se puedeacceder aleatoriamente; es decir, se puede acceder a cualquier byte dememoria sin acceder a los bytes precedentes.
- MEMORIA VIRTUAL: Es una tcnica de gerencia de memoria, usada
por un sistema operativo, donde memoria no contigua es presentada alsoftware como memoria contigua.
- DISCOS: Dispositivo magntico que almacena todos los programas ydatos de la computadora.
8/4/2019 Sistemas Operativos 19
11/180Ing. David Benavides L.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
12/180Ing. David Benavides L.
Sistemas Operativos
Es un software que acta de interfaz entre los dispositivos de hardware ylos programas utilizados por el usuario para gestionar un computador. Esel responsable de coordinar las actividades y llevar a cabo el intercambiode los recursos y acta como estacin de trabajo para las aplicacionesque se ejecutan en la mquina.
Provee de un ambiente conveniente de trabajo.Hace uso eficiente del Hardware.Provee de una adecuada distribucin de losrecursos
Un Sistema Operativo debe cumplir las siguientesfunciones:
Gobierna el Sistema.Asigna los recursos.Administra y controlar la ejecucin de los programas.
8/4/2019 Sistemas Operativos 19
13/180Ing. David Benavides L.
Sistemas Operativos
Nmero de usuariosque puede soportar
Propsito para elq u e f u e r o n
diseados
Monousuarios
Multiusuario
De propsitoGeneral
De propsitoespecfico
De tiempo real
De tolerancia a fallos
8/4/2019 Sistemas Operativos 19
14/180Ing. David Benavides L.
Sistemas Operativos
Modo de trabajo
Hardware delordenador
off-line (batch)
on-line (interactivo)
Nmero deprocesadores
Situacin de lamemoria principal
Centralizado
Distribuido
Monoprocesador
Multiprocesador
Si t O ti
8/4/2019 Sistemas Operativos 19
15/180Ing. David Benavides L.
Sistemas Operativos
Arbitro eficiente que asigna los recursos a losprocesos.
Procesos: Programas en ejecucin quecompiten por el uso de un recurso.
Recursos: Reales, virtuales, fsicos o lgicos.
El Sistema Operativo monitorea:
Estado en el que se encuentran los recursos.Quien, cuando y durante cuanto tiempo tieneel control.Asociar y desasociar recursos.
Si t O ti
8/4/2019 Sistemas Operativos 19
16/180Ing. David Benavides L.
Sistemas Operativos
1. Auto verificacin, memoria ROM.
2. Programa cargador del S.O.
Revisa el buen funcionamiento de los dispositivos bsicos en lacomputadora, memoria, unidades de disco, monitor, puertos y
teclado, si todo esta correcto inicia carga del sistema operativo.
Segn la secuencia de arranque declarada en la configuracin bsica de lacomputadora (setup) la computadora inicia una bsqueda del sistema operativo
(el disco duro, disco A: u otra unidad especifica, esto se conoce como boot
drive), una vez ubicado, lo cargar la memoria RAM.
Si t O ti
8/4/2019 Sistemas Operativos 19
17/180Ing. David Benavides L.
Sistemas Operativos
Comprobacin del sistemaSe establecen estructuras internas del SO: Tabla de procesos, tabla dememoria, de E/S.
Se carga la parte del S.O. que va a estar siempre en memoria, conocidocomo sistema operativo residente.
Se lanzan los procesos auxiliares y demonios (impresin, red, etc.)Se crea un proceso de inicio o login por cada terminal o sesin deusuario
3. Fase de iniciacin del S.O.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
18/180Ing. David Benavides L.
Sistemas Operativos
(1945 1955)Hardware: Tubos de vaco y paneles de control.Sistema Operativo: No existe.
(1955 1965)Hardware: Transistores (tarjetas perforadas).Sistema Operativo:I. SO de trabajo nico: slo se dedica a preparar elsistema para la llegada de trabajos.II. SO por lotes (batch): automatiza la secuencia deoperaciones involucradas en la ejecucin de unprograma usando ordenes que lee, interpreta yejecuta el monitor de lotes (porcin de cdigoresidente en memoria).
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
19/180Ing. David Benavides L.
Sistemas Operativos
(1965 1980)Hardware: Circuitos integrados.Sistema Operativo:I. SO de multiprogramacin: ms de unprograma residente en memoria principal al
mismo tiempo.II. SO de multiprocesamiento: ms de unprocesador.III. SO multiusuario o multiacceso: permite avarios usuarios acceder a un mismo ordenadormediante terminales interactivos (menor tiempo
de respuesta).Multiprogramacin MultiusuarioI V . S O d e t i e m p o c o m p a r t i d o :multiprogramacin, multiusuario e interactivo. Elusuario tiene la impresin de que es l el nicoque trabaja con la mquina.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
20/180Ing. David Benavides L.
Sistemas Operativos
(1980 hoy)Hardware: Microprocesador (computadorpersonal).
Sistema Operativo: (para comunicar variasmquinas)I. SO de red: el usuario es consciente de laexistencia de varias mquinas e indica deforma explcita con cul desea trabajar.II. SO distribuido: el usuario no es consciente
de las mquinas conectadas entre s(transparencia).
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
21/180
Ing. David Benavides L.
Sistemas Operativos
Usuarios de rdenes/aplicaciones.Usuario programador.Usuario diseador/implementador.Administrador del sistema.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
22/180
Ing. David Benavides L.
Sistemas Operativos
Se considera que un sistema operativo est formado por trescapas:NcleoServiciosIntrprete de mandatos o shell
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
23/180
Ing. David Benavides L.
Sistemas Operativos
Es el principal responsable de facilitar a los distintos programas acceso seguro al
hardware de la computadora. Generalmente utiliza abstracciones.
Se encarga de:La comunicacin entre los programas que solicitan recursos y el hardware.Gestin de los distintos programas informticos (tareas) de una mquina.Gestin del hardware (memoria, procesador, perifricos, formas de almacenamiento,etc.)
Ncleos hbridos:Son muy parecidos alos microncleos
puros, excepto queincluyen cdigoadicional en elespacio de ncleopara que se ejecutems rpidamente.
Tipos de kernel
Ncleosmonolticos:Facilitan
abstraccionesdel hardwarerealmentepotentes yvariadas.
Microncleos:Proporcionanun pequeoconjunto deabstraccionessimples del
hardware.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
24/180
Ing. David Benavides L.
Sistemas Operativos
Los servicios se suelen agrupar segn su funcionalidad en varios componentes, cada uno decuales se ocupa de las siguientes funciones:
Gestin de procesos:Encargada de la creacin, planificacin y destruccin de procesos.Gestin de memoria: Componente encargado de saber qu partes de memoria estnlibres y ocupadas, as como de la asignacin y liberacin de memoria segn la necesiten los
procesos.
Gestin de la E/S: Se ocupa de facilitar el manejo de los dispositivos perifricos.Gestin de archivos y directorios: Se encarga del manejo de archivos y directorios yde la administracin del almacenamiento secundario.
Comunicacin y sincronizacin en procesos: Encargada de ofrecer mecanismospara que los procesos puedan comunicase y sincronizarse.
Seguridad y proteccin: Este componente debe encargarse de garantizar la informacinde los usuarios y de definir lo que pueden hacer cada uno de ellos con los recursos delsistema.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
25/180
Ing. David Benavides L.
Sistemas Operativos
Es el programa que atiende a los comandos tecleados en el terminal y los traduce ainstrucciones en la sintaxis interna del sistema. Es un programa independiente queproporciona comunicacin directa entre el usuario y el sistema operativo.
El shell de comandos de lossistemas operativos de servidorWindows utiliza el intrprete decomandos Cmd.exe, que carga
aplicaciones y dirige el flujo deinformacin entre ellas, paratraducir los datos de entrada delusuario a un formato que elsistema operativo reconozca.
Algunos de los Shell de Linux msutilizados son:Bourne Shell: Es el interprete decomandos bsico. Se invoca con laorden sh.
C-Shell: Su programacin esprcticamente lenguaje C. Se invocacon la orden csh.
Bash: Es el shell utilizado por Linuxpor defecto. Se invoca con bash.
SHELL DE WINDOWS SHELL DE LINUX
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
26/180
Ing. David Benavides L.
Sistemas Operativos
Crea ilusiones (mquinas virtuales) de la mquina real, permitiendo que encada mquina virtual se ejecute un SO distinto. Lo que realmente hace escorrer los SO dentro de un contenedor que se ejecuta en el SO anfitrin, porlo que se comporta como si fuera una aplicacin ms.
El programa de control es el que se ejecuta directamente sobre el propio
hardware y ofrece al nivel inmediatamente superior varias mquinas virtuales.
HARDWARE
S.O. ANFITRION
VIRTUALIZADOR
USUARIOUSUARIO
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
27/180
Ing. David Benavides L.
Sistemas Operativos
Las mquinas virtuales son compatibles con todoslos ordenadores x86 estndar en adelante.
Las mquinas virtuales estn aisladas unas de otras.
Las mquinas virtuales encapsulan un entornoinformtico completo.
Compatibilidad:
Aislamiento:
Encapsulamiento:
Independencia del hardware:Las mquinas virtuales se ejecutan de formaindependiente del hardware subyacente.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
28/180
Ing. David Benavides L.
p
Agregan gran complejidad y carga operativaal sistema en tiempo de ejecucin
El programa no alcanzar la misma velocidadde ejecucin que si se instalase en el sistemaoperativo anfitrin
El desempeo de una vitalizacin nunca serel mismo que el de una instalacin directasobre el hardware requerido
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
29/180
Ing. David Benavides L.
p
Software propietario, muy maduro yrobusto.
Las versiones bsicas son freeware:
VMware player: Permite ejecutarmquinas virtuales creadas con cualquierVmware
Vmware server: Permite crearmquinas virtuales, y ejecutar mquinas
virtuales creadas con VMware server.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
30/180
Ing. David Benavides L.
p
Software propietario, algunas versiones son freeware.
Dos versiones:
Para Windows: Es un virtualizador.Para MAC: Es un emulador.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
31/180
Ing. David Benavides L.
p
Virtualizador para MAC basados en INTEL.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
32/180
Ing. David Benavides L.
Permite la ejecucin de maquinas virtuales de forma remota, por medio delRemote Desktop Protocolo (RDP). Los discos duros de los sistemas invitadosson almacenados en los sistemas anfitriones como archivos individuales en uncontenedor llamado Virtual Disk Image.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
33/180
Ing. David Benavides L.
K V M p e r m i t e e j e c u t a r mquinas virtuales utilizando
imgenes de disco quec o n t i e n e n s i s t e m a soperativos sin modificar.Cada mquina virtual tiene supropio hardware virtualizado:una tarjeta de red, discos
duros, tarjeta grfica, etc.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
34/180
Ing. David Benavides L.
A c c e d e r d e s d e u n a
computadora a un recurso
ubicado fsicamente en otra
computadora, a travs de unared local o externa (como
internet).
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
35/180
Ing. David Benavides L.
Funcionalidad de Windows (desde XP) que permite controlar unequipo de forma remota desde cualquier lugar con conexin a
Internet o LAN, siempre que se cuente con los requisitos
necesarios. Esto permite que el usuario pueda utilizar los datos,
aplicaciones y recursos de red de su equipo desde fuera de ella.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
36/180
Ing. David Benavides L.
Windows XP o superior instalado en el equipo que se quiera controlarde forma remota. A este equipo se le denomina host.
Un equipo remoto con Windows XP o superior. A este equipo lodenominaremos cliente y debe tener instalado el software cliente de
Conexin a Escritorio remoto.
Una conexin a Internet con ancho de banda mnimo de 64 Kbps ouna red LAN 10/100 MBPS con lnea de vista entre ambos equipos.
Cuentas de usuario y permisos adecuados.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
37/180
Ing. David Benavides L.
El primer paso antes de configurar
nada, ser conocer el nombre o la
direccin IP del equipo remoto.
Necesitaremos cualquiera de estos
dos parmetros para despus poder
conectarnos mediante el Escritorio
Remoto.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
38/180
Ing. David Benavides L.
A continuacin debemos seleccionar los usuarios que queremos que tenganacceso remoto al equipo. Los usuarios seleccionados deben disponer de los
permisos adecuados para conectarse al equipo de forma remota. Estos son el
administrador o cualquiera que sea miembro de los grupos Administradores o
Usuarios de escritorio remoto en el equipo host.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
39/180
Ing. David Benavides L.
Para conectarnos al equipo host remoto desde un equipo cliente,necesitamos disponer del software cliente de servicios de TerminalServer, que en Windows XP se denomina cliente de Conexin aEscritorio Remoto. Para conectarnos al equipo host remoto desde unequipo cliente, necesitamos disponer del software cliente de serviciosde Terminal Server, que en Windows XP se denomina cliente de
Conexin a Escritorio Remoto.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
40/180
Ing. David Benavides L.
El cliente de Conexin a
E s c r i t o r i o R e m o t o
presenta una serie de
opciones de configuracin
que podemos personalizar
pa ra cada conex in
remota.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
41/180
Ing. David Benavides L.
Una de las novedades del cliente Conexin a Escritorio Remoto es
la posibilidad de tener acceso a recursos locales del cliente desde
una sesin en el escritorio remoto del equipo host. Para tener
acceso a nuestros recursos locales pulsamos sobre la ficha
Recursos locales.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
42/180
Ing. David Benavides L.
Otro parmetro configurable es la velocidad de la conexin,
en la ficha Rendimiento podemos ver las distintas opciones
disponibles.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
43/180
Ing. David Benavides L.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
44/180
Ing. David Benavides L.
VNC es un programa de software libre basado en una estructura cliente-servidor el
cual permite tomar el control del ordenador servidor remotamente a travs de un
ordenador cliente, tambin llamado software de escritorio remoto. VNC permite que
el sistema operativo en cada computadora sea distinto: Es posible compartir la
pantalla de una mquina de "cualquier" sistema operativo conectando desde
cualquier otro ordenador o dispositivo que disponga de un cliente VNC portado.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
45/180
Ing. David Benavides L.
Al comenzar la instalacin
debemos elegir los servicios que
deseamos instalar.
VNC Server, para hacer de
servidor y que otro equipo se
conecte al nuestro.
VNC Viewer, para conectarnos a
otro equipo.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
46/180
Ing. David Benavides L.
Al usar Server es recomendable que
configuremos una contrasea de acceso
para permitir o denegar el acceso remoto
al computador.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
47/180
Ing. David Benavides L.
Si usamos el servicio Viewer, solo tenemos que introducir la ip delequipo al que queremos conectar (equipo con VNC Service Activo)
y a continuacin la contrasea.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
48/180
Ing. David Benavides L.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
49/180
Ing. David Benavides L.
LogMeIn es una utilidad de control remoto, que permite acceder y manejarnuestro PC desde otro equipo de forma segura, con el nico requisito de que
ambos estn conectados a Internet.
La comunicacin entre los dos equipos se realizar a travs del protocolo SSL
(Secure Sockets Layer) que inscripta todos los datos de las transferencias, as
como las contraseas necesarias para activar el sistema.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
50/180
Ing. David Benavides L.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
51/180
Ing. David Benavides L.
Paso 1. Despliegue
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
52/180
Ing. David Benavides L.
Paso 2: Acceso
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
53/180
Ing. David Benavides L.
Paso 3: Gestin y control
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
54/180
Ing. David Benavides L.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
55/180
Ing. David Benavides L.
Un proceso es un programa en ejecucin. Es una actividad del computador,gestionada directamente por el SO.
Est formado por:
Las instrucciones de un programa destinadas a ser ejecutadaspor el microprocesador.
Su estado de ejecucin en un momento dado, esto es, losvalores de los registros de la CPU para dicho programa.
Su memoria de trabajo, es decir, la memoria que ha reservado ysus contenidos.
Otra informacin que permite al sistema operativo suplanificacin.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
56/180
Ing. David Benavides L.
Se puede crear un proceso por los siguientes motivos:
Inicio del sistema: Procesos interactivos vs demonioLlamada al sistema para crear procesosEl usuario inicia un proceso en modo grfico o modo consola
Un proceso puede terminar por varias razones:
Terminacin normal -> voluntaria
Terminacin por error -> voluntariaError fatal -> involuntarioTerminado por otro proceso -> involuntario (kill -9)
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
57/180
Ing. David Benavides L.
En ejecucin: fase de procesamientoBloqueado: en espera de un eventoListo: puede entrar a la fase de procesamiento
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
58/180
Ing. David Benavides L.
Es un registro especial donde el sistema operativo agrupa toda lainformacin que necesita conocer respecto a un proceso enparticular.
El BCP incluye, entre otros, los siguientes campos:
Identificador del proceso (PID).Estado del proceso.Contador de programa: direccin de la prxima instruccin aejecutar.Espacio de direcciones de memoria.Prioridad del proceso.Lista de recursos asignados para atencin del proceso.Datos del propietario (owner).Permisos asignados.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
59/180
Ing. David Benavides L.
Un proceso es
independientesi no afecta o
no es afectadopor la ejecucin
de otrosprocesos en el
sistema. stosno comparten
datos.
Los procesos son
cooperantescuando estn
diseados paratrabajar
conjuntamente enalguna actividad,
para lo que debenser capaces decomunicarse e
interactuar entreellos.
Es un proceso
que hacompletado suejecucin peroan tiene unaentrada en la
tabla deprocesos,ocupando
recursos delcomputador deforma
permanente.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
60/180
Ing. David Benavides L.
Porcin de cdigo de un programa de computador en la cual se accede a un
recurso compartido que no debe ser accedido por ms de un hilo en ejecucin.
Cuando un proceso se encuentra ejecutando cdigo de la seccin crtica,
ningn otro proceso puede ejecutar en su seccin, ya que provocara conflictos.
Exclusin mutua,
Progreso,Espera acotada.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
61/180
Ing. David Benavides L.
Son mecanismos dinmicos que se usan para la gestinde:
Comunicacin:
Varios procesos puedan colaborar para realizar unamisma tarea.
Sincronizacin:
Funcionamiento coordinado en la resolucin de unatarea encomendada.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
62/180
Ing. David Benavides L.
El emisor ejecutael servicio enviarm i e n t r a s e lreceptor ejecutarecibir, coordinado
por el reloj delcomputador.
El emisor hace elenvo y prosiguesu ejecucin.
Asncrona:Sncrona:
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
63/180
Ing. David Benavides L.
Archivos.Tuberas.Variables en memoria compartida.Paso de mensajes.
Permite comunicar a un nmero potencialmente ilimitado deprocesos. Basta con que los procesos tengan permisos paraacceder a los datos almacenados en un archivo.
Necesita algn otro mecanismo que permita que los procesos sesincronicen en el acceso a los datos almacenados en un archivo.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
64/180
Ing. David Benavides L.
Cada proceso ve la tubera como un conducto con dos extremos, uno delos cuales se utiliza para escribir o insertar datos y el otro para extraer oleer datos de la tubera.
El flujo de datos puede ser:
Unidireccional Bidireccional
TUBERIA
Procesode
usuario
Procesode
usuario
write read
SOTUBERIA
TUBERIA
Flujo de datos
Procesode
usuario
Procesode
usuario
write
SO
read write
Flujo de datosFlujo de datos
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
65/180
Ing. David Benavides L.
Memoria compartida.
Un proceso almacena un valor en una determinada variable, y otro procesopuede acceder a ese valor sin ms que consultar la variable. De esta formase consigue que los dos procesos puedan comunicarse entre ellos.
TextoDatos
Pila
TextoDatos
Pila
Segmentode memoriacompartida
Proceso 2
var1var2
* var1 = 2
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
66/180
Ing. David Benavides L.
Utilizando paso de mensajes como mecanismo de comunicacin entreprocesos no es necesario recurrir a variables compartidas, nicamente debeexistir un enlace de comunicacin entre ellos.Utilizan 2 operaciones: send y receive
Mensaje
Proceso de
usuari
o
Procesode
usuario
send receive
Cola de mensajes
Mensaje
Procesode
usuario
Procesode
usuario
puerto
receive
Comunicacin con puertos
send
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
67/180
Ing. David Benavides L.
Seales.Tuberas.Semforos.M u t e x y v a r i a b l e scondicionales
Paso de mensajesCon este mecanismo se consigue que unos procesosesperen a que se cumpla una determinada condicin yque otros los despierten cuando se cumple la condicinque les permite continuar su ejecucin.
Las seales tienen un comportamiento asncrono y no seencolan
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
68/180
Ing. David Benavides L.
Un semforo es un objeto con un valor entero, al que se le puedeasignar un valor inicial no negativo y al que slo se puede accederutilizando dos operaciones atmicas:
Waitsignal
Son mecanismos especialmente concebidos para la sincronizacin deprocesos ligeros.Los mutex se emplean para obtener acceso exclusivo a recursos
compartidos y para asegurar la exclusin mutua sobre seccionescrticas.Se utilizan dos operaciones atmicas bsicas:
LockUnlock
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
69/180
Ing. David Benavides L.
Proceso que est pendiente de recibir rdenes de trabajo queprovienen de procesos denominados clientes
Estructura:Lectura de ordenEjecucin de OrdenFinalizacin de ejecucin
ProcesoServidor Recurso
Procesos
clientes
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
70/180
Ing. David Benavides L.
Proceso que se ejecuta en segundo plano (background) en vezde ser controlado directamente por el usuario
Caractersticas:
Se arranca al iniciar el sistemaNunca muereEst a la espera de un eventoRealiza labores peridicasLanza otros procesos para la realizacin de su trabajo
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
71/180
Ing. David Benavides L.
Un hilo de ejecucin o thread, es una caracterstica que permite auna aplicacin realizar varias tareas concurrentemente. Losdistintos hilos de ejecucin comparten una serie de recursos, losmismos que se consideran una abstraccin de un proceso.
Diferencia entre hilo y proceso: Los procesos sonindependientes, los hilos comparten datos y espacios dedirecciones.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
72/180
Ing. David Benavides L.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
73/180
Ing. David Benavides L.
Ofrecer a cada proceso un espacio lgicopropio
Proporcionar proteccin entre losprocesos.
Permitir que los procesos compartan memoria.
No se puede conocer la posicin dememoria que ocupar un programacuando se cargue en memoria paraproceder a su ejecucin.
Proteger al sistema operativo de losaccesos que realiza el programa enejecucin para evitar que, voluntaria oinvoluntariamente, pueda interferir en otros
procesos.
El sistema operativo debe crear espacioslgicos independientes y disjuntos para losprocesos
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
74/180
Ing. David Benavides L.
Maximizar el rendimiento del sistema.
Dar soporte a las distintas regiones delproceso.
Proporcionar a los procesos mapas de memoria muygrandes.
El sistema operativo conoce que regiones incluye el mapa de memoria decada proceso, el gestor de memoria con el apoyo del hardware deberadar soporte a las caractersticas especificas de cada regin.
Realizar un reparto de la memoria entre los procesos intentando quequepa el mayor numero de ellos en memoria y minimizando eldesperdicio inherente al reparto.
Tcnicas de tcnica de overlays y paginacin
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
75/180
Ing. David Benavides L.
Es una estructura de datos (tablas) que indica cmo estdistribuida la memoria. Contiene informacin sobre el tamaototal de memoria y las relaciones que existen entre direccioneslgica y fsicas, adems de poder proveer otros detalles
especficos sobre la arquitectura del computador.
Esta formado por distintas regiones o segmentos. Cada regines una zona contigua que est caracterizada por la direccindentro del mapa de proceso donde comienza y por su tamao.
Es utilizado por el procesador para ubicar a los procesos queestn a la espera de ser atendidos.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
76/180
Ing. David Benavides L.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
77/180
Ing. David Benavides L.
Espacio donde son alojados los procesos previo y durante suejecucin.
Espacio real que existe en memoria para que sean atendidos por elprocesador coordinado por el reloj.
De mayor costo que la memoria secundariaAcceso a la informacin contenida es ms rpido.Solo la memoria cache es ms rpida que la principal, pero su costo esa su vez mayor.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
78/180
Ing. David Benavides L.
Parte del disco duro que actacomo memoria cuando la memoria
principal llega al lmite de su
capacidad.U s o d e a l m a c e n a m i e n t osecundario para ofrecer al conjunto
de las aplicaciones la ilusin de
tener mas memoria RAM.Permite proporcionar a unproceso, un mapa de memoria
mayor que la memoria principal
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
79/180
Ing. David Benavides L.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
80/180
Ing. David Benavides L.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
81/180
Ing. David Benavides L.
Consiste en trasladar el cdigo y los datos de un proceso
completo de memoria al sistema de almacenamiento secundario,
para cargar otro previamente almacenado.
No permite a un proceso utilizar ms memoria RAM de la que
realmente existe en el sistema.
Generalmente se da como consecuencia de ajuste de
prioridades de ejecucin.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
82/180
Ing. David Benavides L.
Es generada cuando durante el reemplazo de procesos quedan
huecos entre dos o ms procesos de manera no contigua y cada
hueco no es capaz de soportar ningn proceso de la lista de espera.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
83/180
Ing. David Benavides L.
Es una tcnica de manejo de memoria, en la cual el espacio de memoria
se divide en secciones fsicas de igual tamao, denominadas marcos depgina. Los programas se dividen en unidades lgicas, denominadaspginas, que tienen el mismo tamao que los marcos de pginas. De estaforma, se puede cargar una pgina de informacin en cualquier marco depgina.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
84/180
Ing. David Benavides L.
El espacio de direcciones lgico de un proceso puede ser no contiguo.Se divide la memoria fsica en bloques de tamao fijo llamados marcos(frames).
Se divide la memoria de uso del proceso en bloques de tamao fijollamados paginas.
Se mantiene informacin en los marcos libres.Para correr un programa de n paginas de tamao, se necesitanencontrar n marcos y cargar el programa previamente.
Se establece una tabla de paginas para trasladar las direccioneslgicas a fsicas y poder identificar los diversos procesos paginados.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
85/180
Ing. David Benavides L.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
86/180
Ing. David Benavides L.
Es posible comenzar a ejecutar un programa, cargando solouna parte del mismo en memoria, y el resto se cargar por
demanda.
No es necesario que las paginas estn contiguas en memoria.Es fcil controlar todas las pginas, ya que tienen el mismotamao.
Se libera al programador de la restriccin de programar para untamao fsico de memoria, con lo que se aumenta su
productividad.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
87/180
Ing. David Benavides L.
El costo de hardware y software se incrementa, por la nuevainformacin que debe manejarse y el mecanismo de traduccin de
direcciones necesario.
Aparece el problema de fragmentacin interna. As, si se requieren
5K para un programa, pero las paginas son de 4K, debern
asignrseles 2 paginas (8k), con lo que quedan 3K sin utilizar. La
suma de los espacios libres dejados de esta forma puede ser mayor
que el de varias paginas, pero no podr ser utilizados.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
88/180
Ing. David Benavides L.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
89/180
Ing. David Benavides L.
Visin lgica:
V i s i n
fsica:
ArchivosDirectoriosSistema de Archivos y particiones
Bloques o bytes ubicados en dispositivos
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
90/180
Ing. David Benavides L.
Un archivo o fichero informtico es una entidadlgica compuesta por una secuencia finita debytes, almacenada en un sistema de archivosubicada en la memoria secundaria de unordenador. Los archivos son agrupados en
directorios dentro del sistema de archivos yson identificados por un nombre de archivo.
Es una agrupacin de archivos de datos, atendiendoa su contenido, a su propsito o a cualquier criterioque decida el usuario. Tcnicamente el directorioalmacena informacin acerca de los archivos quecontiene: como los atributos o ubicacin fsica.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
91/180
Ing. David Benavides L.
El acceso a los dispositivos es:
IncmodoNo seguro
El sistema de archivos es la capa de software entre dispositivos y
usuarios.
Permite suministrar una visin lgica de los dispositivos.Mecanismos de proteccin
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
92/180
Ing. David Benavides L.
Secuencia o tira de bytes
Registros (de tamao fijo o variable)
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
93/180
Ing. David Benavides L.
Datos
Programa
NumricosCarcterBinario
Cdigo fuenteArchivos objetos
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
94/180
Ing. David Benavides L.
PRIORIDAD TIPO Area del Computador EJEMPLO
0 .COM Sistema COMMAND.COM
0 .SYS Sistema HIMEM.SYS
1 .BIN Sistema DRVSPACE.BIN
1 .DLL Sistema COMMDLG.DLL
1 .DRV Sistema CANON330.DRV
1 .DAT Sistema SUHDLOG.DAT
1 .DOS Sistema CONFIG.DOS
1 .BAT Sistema AUTOEXEC.BAT
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
95/180
Ing. David Benavides L.
PRIORIDAD TIPO Area del Computador EJEMPLO
2 .EXE Aplicaciones WINWORD.EXE
2 .EXE Aplicaciones EXCEL.EXE2 .EXE Herramientas CACL.EXE
2 .EXE Herramientas EXPLORER.EXE
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
96/180
Ing. David Benavides L.
PRIORIDAD TIPO Area del Computador EJEMPLO
3 DOC Documentos CURRICULUM.DOC
3 .XLS Hojas Electrnicas CONTABILIDAD.XLS
3 .PPT Presentaciones EMPRESA.PPT3 .DBF Bases de Datos PERSONAL.DBF
3 .BMP Dibujos CUADRO.BMP
3 .WAV Sonido SALUDO.WAV
3 .MP3 Sonido CANCION.MP33 .TXT Texto puro LISTA.TXT
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
97/180
Ing. David Benavides L.
Ejecutables:
* ELF: Formato binario estndar en GNU/Linux* PL: Script en lenguaje Perl.
* PY: Script en lenguaje Python.
* SH: Script de Shell, utilizado para crear pequeos programas.
Cdigos fuentes y libreras:
* A: Libreras estticas.
* C: Cdigo del lenguaje C.
* CPP: Cdigo del lenguaje C++.
* DIFF: Conjunto de instrucciones que defines los cambios al aplicarse un parche.
* H: Cabecera de archivos programados en C
* LO: Archivo temporal creado en la compilacin de una librera.
* O: Archivo temporal creado al compilar un programa.
* SO: Libreras compartidas, equivalentes a DLL en Windows.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
98/180
Ing. David Benavides L.
Comprimidos y empaquetados:* ARJ: Formato de compresin muy habitual hace unos aos.
* BZ2: Archivo comprimido con la herramienta BZIP2.
* GZ: Fichero generado mediante la herramienta GZIP
* RAR: Sustituto natural de ARJ.
* TAR: Archivo empaquetado sin comprimir, habitualmente comprimido con GZIP o
BZIP2, formando extensiones dobles. (ej. tar.gz)
* TBZ2: Archivo resultante de comprimir en BZIP2 un archivo TAR.
* TGZ:Resultado de comprimir en GZIP un archivo TAR.
* Z: Fichero comprimido con la herramienta compress.* ZIP: Es el formato de compresin ms utilizado en internet, aunque en GNU/Linux
no es muy comn usarlo.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
99/180
Ing. David Benavides L.
Archivos del Sistema:
* CONF: Archivo de configuracin de un programa. Almacenados en su mayora en
el directorio /etc/
* KO: Mdulos del ncleo de l arama 2.6
* LOCK: Indica el bloqueo de un servicio, proceso o programa. Se suelen guardar
en /tmp borrndose con cada inicio.* LOG: Archivo de informacin, generados por el propio ncleo y los programas y
servicios instalados.
* PID: Ficheros identificadores de procesos, necesarios para el correcto
funcionamiento de los servicios en ejecucin.
* SOCKET: Medio de comunicacin entre dos programas situados habitualmente en
equipos distintos.
* TMP: Archivos temporales creado por un programa para almacenar informacin.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
100/180
Ing. David Benavides L.
Distribuciones de paquetes binarios:
* DEB: Usado por Debian y distros derivadas, entre las que destaca Ubuntu o Linux
Mint como ms conocidas.
* DSC: Archivo de informacin del cdigo fuente de un paquete en Debian.
* EBUILD: Script utilizado por Gentoo para compilar e instalar paquetes a partir de
su cdigo fuente.
* RPM: Usado por Red Hat, Fedora, CentOS, SUSE, Mandriva y derivados.
* SLP: Distribucin Stampede.
* TGZ: Archivos TAR.GZ ya compilados para Slackware.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
101/180
Ing. David Benavides L.
Nombre:Informacin en formato legible por una persona.
Identificacin nica del archivo y del usuario:descriptor interno del archivo, dueo y grupo del archivo
Tipo de archivo:necesario en sistemas que proporciona distintos formatos de archivos.Tamao del archivo:nmero de bytes en el archivo, mximo tamao posible, etc.
Proteccin:control de accesos y de las operaciones sobre archivos
Informacin temporal:de creacin, de acceso, de modificacin, etc.
Informacin de control:archivo oculto, de sistema, normal o directorio, etc.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
102/180
Ing. David Benavides L.
Acceso
secuencial(antiguo):
lectura de los bytes del archivo en orden ascendente, empezando por elprincipio.
read next, write next, reset, no read after last write, rewind: ir al principio para buscar hacia adelanteLectura -> posicin = posicin + datos ledosDispositivos de cintaISAM: mtodo de acceso secuencial indexado
Acceso Directo:
read n, write n, goto n, rewrite n, read next, write next.n = nmero de bloque relativo al origenDispositivos: discos magnticos
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
103/180
Ing. David Benavides L.
Objeto que relaciona de forma unvocaun nombre de usuario de archivo con sudescriptor interno
Organizan y proporcionaninformacin sobre la estructuracin de
los sistemas de archivos
Una coleccin de nodos quecontienen informacin acerca de los
archivos
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
104/180
Ing. David Benavides L.
Esquema jerrquico.
Cuando se abre un archivo el SO busca el nombre en la estructura de
directorios.
Operaciones sobre un directorio:
Crear (insertar) y borrar (eliminar) directorios.Abrir y cerrar directorios.Renombrar directorios.Leer entradas de un directorio.Montar (combinar)La organizacin jerrquica de un directorio
Simplifica el nombrado de archivos (nombres nicos)Proporciona una gestin de la distribucin => agrupar archivos de formalgica (mismo usuario, misma aplicacin)
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
105/180
Ing. David Benavides L.
Tanto la estructura del directorio como los archivos residen en discosLos directorios se suelen implementar como archivosCopias de respaldo, por seguridadInformacin en un directorio: nombre, tipo, direccin, longitud mximay actual, tiempos de acceso y modificacin, dueo, etc.
Hay estructuras de directorio muy distintas. La informacin dependede esa estructura.
Dos alternativas principales:
Almacenar atributos de archivo en entrada directorioAlmacenar , con datos archivo enuna estructura distinta.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
106/180
Ing. David Benavides L.
Directorio de 1 nivel.
Un nico directorio para todos los usuarios. Problemas de nombrado y agrupacin.
carta Mapa.gif Lista.txt directorio Program.o
archivos
Directorio de 2 niveles.
Un directorio para cada usuario. El mismo nombre de archivos para varios usuarios.
user1 user2 directorio maestro
Mapa.gif Lista.txt
directorio
Program.o
archivos
hola.txt
directorio
Program.o
archivos
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
107/180
Ing. David Benavides L.
Bsqueda eficiente y agrupacin. Nombres relativos y absolutos ->directorio de trabajo.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
108/180
Ing. David Benavides L.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
109/180
Ing. David Benavides L.
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
110/180
Ing. David Benavides L.
Proteccin:
Mecanismos que articula el Sistema Operativo paraproteger la informacin, los usuarios, los procesos
Seguridad:
Concepto ms amplio que incluye seguridad fsica
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
111/180
Ing. David Benavides L.
Problemas deseguridad
U s o i n d e b i d o o
malicioso de programas
Usuarios inexpertos odescuidados
Usuarios no autorizados
Virus
Gusanos
R o m p e d o r e s d eSistemas de proteccin
Bombardeo (Spoofing)
Caballo de Troya
Puerta de atrs
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
112/180
Ing. David Benavides L.
Origen Destino
Acceso solo a usuarios autorizadosConfidencialidad:
Integridad: Modificacin solo por los usuarios autorizados
Disponibilidad:Los recursos deben estar disponibles para los
usuarios autorizados
Sistemas Operativos
8/4/2019 Sistemas Operativos 19
113/180
Ing. David Benavides L.
Interrupcin (Afecta a la disponibilidad)
Se corta el flujo desde el emisor al receptor. Se destruye el elemento del sistema
o se hace inaccesible o intil.
Origen Destino
Intercepcin (Afecta a la confidencialidad)
Una tercera entidad se entera de la comunicacin. Una parte no autorizada que
puede ser una persona, programa o computador, consigue acceder a un elemento.