1-Introduccion Sistemas Operativos
-
Upload
fernando-cabrera -
Category
Documents
-
view
225 -
download
0
Transcript of 1-Introduccion Sistemas Operativos
-
8/17/2019 1-Introduccion Sistemas Operativos
1/22
Sistemas OperativosRicardo Corin - Pedro R. D’Argenio
Carlos Bederián - Rafael Carrascosa - Edgardo HamesDaniel Moisset - Natalia Bidart (invitada)
Gonzalo Bonigo -Andrés BordeseCarlos Budde - Germán Ceballos
Administrativas
Horarios:
Teórico: Lunes y Miércoles, de 14 a 16, Aula 27
Laboratorio: Lunes y Miércoles, de 16 a 18, Lab 30 (arriba)
Reservaremos un horario para consultas sobre el prácticoSistemas colaborativos:
Moodle: Toda la info pasa por ahí
svn: repositorio para administrar sus laboratorios
Bibliografía principal:
Sistemas Operativos Modernos, A. Tanenbaum, 3ra ed.,Prentice Hall
Administrativas
Promoción:
Aprobar los 2 parciales con un promedio de 8 (ambos conmás de 6)
Aprobar todos los labs con 6 o más
Calificación final:0.4 * Parcial1 + 0.4 * Parcial2 + Lab
donde Lab es una calificación entre 0 y 3 obtenida a partir deldesempeño en los laboratorios.
Regularización:
Aprobar los 2 parciales con 4 o más
Aprobar todos los labs con 6 o más
1. Introducción
-
8/17/2019 1-Introduccion Sistemas Operativos
2/22
Una computadora es un sistema complejo que consta de:
uno o más procesadores, memoria principal, discos,impresora, monitor, teclado, mouse, interface de red, etc.
Administrar y utilizar todas las partes de este sistema demanera correcta y eficiente es un desafío muy serio.
maneja todos estos recursos
=> Administrador de recursos
provee una interfaz simple para su uso (capa de abstracción)
=> Máquina extendida
Sistemas operativos
- Acceso completo a todo elhardware
- Puede ejecutar cualquierinstrucción de la máquina
Puede ejecutar unconjunto limitado de las
instrucciones de lamáquina
shell / GUI
Atención: tambiéncompiladores, editores, y
además ls, passwd, chmod,etc.
¿Qué es un sistema operativo?
Dos funciones básicas
La
arquitectura de lascomputadoras son primitivas ydifícil de programar
¿Saben cómo se lleva a cabouna lectura o escritura
en el disco?
¿Qué es un sistema operativo?
Dos funciones básicas
Extender la máquina
Oculta los detalles complejosde la máquina
Presenta al usuario unamáquina virtual fácil de usar
Es decir:brinda una abstracción
Importante: tal abstraccióndebería ser homogénea
-
8/17/2019 1-Introduccion Sistemas Operativos
3/22
¿Qué es un sistema operativo?
Dos funciones básicas
Extender la máquinaOculta los detalles complejosde la máquina
Presenta al usuario unamáquina virtual fácil de usar
Es decir:brinda una abstracción
Importante: tal abstraccióndebería ser homogénea
Imaginense quéocurriría si 3 programasquieren imprimir al mismo
tiempo (o usar el disco, o laCPU)
¿Qué es un sistema operativo?
Dos funciones básicas
Extender la máquinaOculta los detalles complejosde la máquina
Presenta al usuario unamáquina virtual fácil de usar
Es decir:brinda una abstracción
Importante: tal abstraccióndebería ser homogénea
Administrar RecursosAsegura que los programastengan acceso ordenado ycontrolado a los recursos
El orden puede ser temporalo espacial
¿Qué es un sistema operativo?
Dos funciones básicas
Administrar Recursos
Asegura que los programastengan acceso ordenado ycontrolado a los recursos
El orden puede ser temporalo espacial
Verificar quién usa qué cosa(protección)
Otorgar cosas a quien lonecesite (sched., admin. mem,...)
Llevar un registro del uso derecursos
Mediar en conflictos denecesidad !
" " " " # $
¿Qué es un sistema operativo?
Dos funciones básicas
Administrar Recursos
Asegura que los programastengan acceso ordenado ycontrolado a los recursos
El orden puede ser temporalo espacial
Multiplexado:
- en tiempo
- en espacio ! # $
-
8/17/2019 1-Introduccion Sistemas Operativos
4/22
Historia de los Sistemas operativos
Primera generación [1945-1955]Válvulas, relés y tableros con enchufes
Máquinas diseñadas, construidas programadas, operadas y mantenidaspor el mismo grupo de personas
Programadas en lenguaje de máquina cableando del tablero de controlNo existía el concepto de de lenguajes de programación (ni asembler)
Ni pensar en sist. operativos.
Uso: El programador espera su turno / entra a la habitación y cablea /esperar horas y rogar que no se queme alguna de las 20000 válvulas
Sólo cálculo numérico
Mejora en los 50: tarjetas perforadas
Mark I (Howard Aiken @ Harvard)ENIAC (Mauchly & Eckert @ Pennsylvania)
Historia de los Sistemas operativos
Segunda generación [1955-1965]Transistor => computadoras confiables
Separación entre diseñadores, constructores, operadores,programadores y personal de mantenimiento
Mainframes => altos costos de operación y mantenimiéntoIntroducción del sistema batch (procesamiento por lotes)- reducción de tiempos perdidos- bueno para procesamiento no interactivo
Progr. Oper. Oper.
Historia de los Sistemas operativos
Tercera generación [1965-1980]Circuitos integrados
Comienza con la introducción de la serie System/360 de IBM
Familia de máquinas totalmente compatibles
Múltiples usos: comercial / científico / militar / ...
Diseño del OS/360: espantoso
Introdujo técnicas claves, ej:
Multiprogramación
Spooling (Simultaneous Peripheral Operation On Line)
Timesharing
Se introduce las minicomputadoras: DEC PDP-1 --> PDP-7 / UNIX
Gene Amdahl,Fred Brooks,Gerrit Blauw
Historia de los Sistemas operativos
Tercera generación [1965-1980]Circuitos integrados
Comienza con la introducción de la serie System/360 de IBM
Familia de máquinas totalmente compatibles
Múltiples usos: comercial / científico / militar / ...
Diseño del OS/360: espantoso
Introdujo técnicas claves, ej:
Multiprogramación
Spooling (Simultaneous Peripheral Operation On Line)
Timesharing
Se introduce las minicomputadoras: DEC PDP-1 --> PDP-7 / UNIX
Gene Amdahl,Fred Brooks,Gerrit Blauw
Multiprogramación:
muchos programas corriendo “al mismo tiempo”
comparten recursos
cuando un trabajo espera E/S otro usa la CPU
Trabajos comerciales requieren hasta80%-90% E/S (I/O bound)
Cálculos científicos requieren mucha CPU ypoca E/S (CPU bound)
Se requiere hardware especial para protegerun trabajo de otro
-
8/17/2019 1-Introduccion Sistemas Operativos
5/22
Historia de los Sistemas operativos
Tercera generación [1965-1980]Circuitos integrados
Comienza con la introducción de la serie System/360 de IBM
Familia de máquinas totalmente compatibles
Múltiples usos: comercial / científico / militar / ...
Diseño del OS/360: espantoso
Introdujo técnicas claves, ej:
Multiprogramación
Spooling (Simultaneous Peripheral Operation On Line)
Timesharing
Se introduce las minicomputadoras: DEC PDP-1 --> PDP-7 / UNIX
Gene Amdahl,Fred Brooks,Gerrit Blauw
Spooling:
permitía leer tarjetas ycopiarlas a disco
y al revés: las salidas de losprogramas se producían a discoy otro programa las imprimía
es decir: hacía batch pero todoen una sola máquina
Historia de los Sistemas operativos
Tercera generación [1965-1980]Circuitos integrados
Comienza con la introducción de la serie System/360 de IBM
Familia de máquinas totalmente compatibles
Múltiples usos: comercial / científico / militar / ...
Diseño del OS/360: espantoso
Introdujo técnicas claves, ej:
Multiprogramación
Spooling (Simultaneous Peripheral Operation On Line)
Timesharing
Se introduce las minicomputadoras: DEC PDP-1 --> PDP-7 / UNIX
Gene Amdahl,Fred Brooks,Gerrit Blauw
Timesharing:
sistema batch -> la máquina no está dedicadaal usuario :-(
variante de la multiprogramación donde cadausuario tiene su propia terminal
idea: compartir la máquina entre variosusuarios total son pocos los que están activosal mismo tiempo
=> se genera una interactividad no antes vista
CTSS -> 1er timesharing
se populariza cuando aparece la protección porhardware
MULTICS: ¡100 usuarios por máquina!
Introduce ideas importantes
Fuerte influencia a posteriori (Ej. MMU)
Historia de los Sistemas operativos
Tercera generación [1965-1980]Circuitos integrados
Comienza con la introducción de la serie System/360 de IBM
Familia de máquinas totalmente compatibles
Múltiples usos: comercial / científico / militar / ...
Diseño del OS/360: espantoso
Introdujo técnicas claves, ej:
Multiprogramación
Spooling (Simultaneous Peripheral Operation On Line)
Timesharing
Se introduce las minicomputadoras: DEC PDP-1 --> PDP-7 / UNIX
Gene Amdahl,Fred Brooks,Gerrit Blauw
De UNIX surgen:System V, BSD, MINIX,
Linux, Mac OSX, ...Ken Thompson (1969)
Ver:http://www.levenez.com/unix/
http://www.netneurotic.de/mac/unix/timeline.htmlO goog lear “timeline unix”
Estándar POSIX
Historia de los Sistemas operativos
Cuarta generación [1980-hoy]LSI / VLSI / ...
microcomputadoras (predecesoras de la PC)
8080, Z80 -> CP/M (Control Program for Microcomputer - Gary Kildall)
IBM-PC -> Kildall dice “no” (?!) -> DOS (Tim Paterson, luego en MS)
Doug Engelbart desarrolla GUI @ Stanford en 1960
es adoptado luego por Xerox (que no le pone pilas)
y luego por Steve Job, que sí
Apple -> Lisa -> Mac ... NextStep -> MacOSX
Windows 3.11 -> 95 -> 98 -> Me
NT -> 2000 -> XP -> Vista -> 7
X-windows sobre UNIX: Luego KDE / Gnome / XFCE / ...
-
8/17/2019 1-Introduccion Sistemas Operativos
6/22
Tipos de Sistemas Operativos
Sistemas operativos para mainframes:
Tipos de Sistemas Operativos
Sistemas operativos para mainframes:
Centro de procesamiento de grandes cantidades de datos
debe manejar 1000 discos y terabytes de información
Procesamiento de muchos trabajos por unidad de tiempo conenorme cantidad de E/S
3 tipos de procesamiento:
Batch (ej: liquidación de sueldo)
Transacciones (ej: reservas de pasajes)
Timesharing (ej: terminales para consultas)
Ej: OS/360, IBMsystem z, Linux.
Tipos de Sistemas Operativos
Sistemas operativos para servidores:
Tipos de Sistemas Operativos
Sistemas operativos para servidores:
Atiende muchos usuarios al mismo tiempo con el fin decompartir recursos y datos
Puede proveer:
Servicio de impresión
Servicio de archivo (agni.famaf.unc.edu.ar)Servicio de mail (mail.famaf.unc.edu.ar)Servicio web (nfs.famaf.unc.edu.ar)Servicio de aplicación (ganesh.famaf.unc.edu.ar)Servicio de ...
Característica importante -> SeguridadEj: Unix, Linux,
Mac OSX, WindowsServer.
-
8/17/2019 1-Introduccion Sistemas Operativos
7/22
Tipos de Sistemas Operativos
Sistemas operativos para multiprocesadores:
Tipos de Sistemas Operativos
Sistemas operativos para multiprocesadores:
Muchas CPUs en un único sistema:
Multiprocesador -> muchas CPU comparten una memoria
Multicomputadora -> c/CPU con su propia mem. (clusters)
Usualmente variantes de los SO para servidores concaracterísticas especiales p/ comunicación y conectividad
Sistemas operativos para computadoras personales:
Tipos de Sistemas Operativos
Sistemas operativos para multiprocesadores:
Muchas CPUs en un único sistema:
Multiprocesador -> muchas CPU comparten una memoria
Multicomputadora -> c/CPU con su propia mem. (clusters)
Usualmente variantes de los SO para servidores concaracterísticas especiales p/ comunicación y conectividad
Sistemas operativos para computadoras personales:
Provee una interfaz para un sólo usuario
interactividad / capacidad multimedia / capacidad paracompartir información
Ej: Linux, Mac OSX,Windows7.
Tipos de Sistemas Operativos
Sistemas operativos para computadoras de bolsillo / móviles:
-
8/17/2019 1-Introduccion Sistemas Operativos
8/22
Tipos de Sistemas Operativos
Sistemas operativos para computadoras de bolsillo / móviles:
PDA / celulares modernos / tablets
agenda, bloc de notas, calendario,
telefonía, fotografía, audio, video,
web browsing, G+, FB, Twitter, juegos, ...
Tener en cuenta:
arquitectura reducida (relativamente poco disco)
bajo consumo de energía
Ej: Palm OS, Symbian OS,Android, iOS, Windows CE,
Blackberry.
Tipos de Sistemas Operativos
Sistemas operativos para sistemas de tiempo real:
Tipos de Sistemas Operativos
Sistemas operativos para sistemas de tiempo real:
El tiempo es un parámetro clave
Dos tipos:
Sistemas de tiempo real estricto:
-Ej: Control de procesos industriales, donde la recolecciónde datos que se usan para controlar el proceso deproducción de una planta industrial
- c/acción debe ocurrir en un momento determinado
Sistemas de tiempo real laxo:
- Ej: Procesamiento de audio o video digital
- el no cumplimiento de algunos plazos no afectasignificativamente el comportamiento
Ej: QNX,RT Linux, VxWorks.
También: Android, iOS,Windows CE, ...
Tipos de Sistemas Operativos
Sistemas operativos para sistemas integrados (o empotrados):
Controlan disp. que usualmente no se ven como computadoras(microondas, TV, Automóviles, DVDs, ...)No aceptan software cargado por el usuario=> no necesita protección (sólo se ejecuta SW confiable)
Sistemas operativos para nodos de sensores:Pequeñas computadoras que se comunican entre sí y con una estaciónbase en forma inalámbricaEnergía provista por bateríaLargos períodos desatendidos y a la intemperie
Sistemas operativos para tarjetas inteligentes:
Severas restricciones de procesamiento y memoriaAlgunas funcionan sólo a inducción! Otras corren JVM
Ej: QNX,VxWorks, Android, iOS,
Windows CE, ...
Ej: Tiny OS
-
8/17/2019 1-Introduccion Sistemas Operativos
9/22
Tipos de Sistemas Operativos
Sistemas operativos para sistemas integrados (o empotrados):
Controlan disp. que usualmente no se ven como computadoras(microondas, TV, Automóviles, DVDs, ...)No aceptan software cargado por el usuario
=> no necesita protección (sólo se ejecuta SW confiable)Sistemas operativos para nodos de sensores:
Pequeñas computadoras que se comunican entre sí y con una estaciónbase en forma inalámbricaEnergía provista por bateríaLargos períodos desatendidos y a la intemperie
Sistemas operativos para tarjetas inteligentes:
Severas restricciones de procesamiento y memoriaAlgunas funcionan sólo a inducción! Otras corren JVM
Ej: QNX,VxWorks, Android, iOS,
Windows CE, ...
Ej: Tiny OS
Tipos de Sistemas Operativos
Sistemas operativos para sistemas integrados (o empotrados):
Controlan disp. que usualmente no se ven como computadoras(microondas, TV, Automóviles, DVDs, ...)No aceptan software cargado por el usuario
=> no necesita protección (sólo se ejecuta SW confiable)Sistemas operativos para nodos de sensores:
Pequeñas computadoras que se comunican entre sí y con una estaciónbase en forma inalámbricaEnergía provista por bateríaLargos períodos desatendidos y a la intemperie
Sistemas operativos para tarjetas inteligentes:
Severas restricciones de procesamiento y memoriaAlgunas funcionan sólo a inducción! Otras corren JVM
Ej: QNX,VxWorks, Android, iOS,
Windows CE, ...
Ej: Tiny OS
Revisión del Hardware de la Computadora
El SO está íntimamente ligado al HW de la computadora.
extiende el conjunto de instrucciones y
maneja recursos
=> debe conocerlo detalladamente
Revisión del HW: Procesadores
Componente primario en la ejecución de las tareas de la comp.
Ciclo básico:
Cada CPU tiene un conjunto específico de instrucciones
Posee registros de uso general para guardar resultadostemporales (memoria súper rápida, pero escasa)
y registros especiales: Contador de programa (PC), Puntero de lapila (SP) estatus del programa (PSW).
El SO debe conocer los registros: cada vez que cambia deactividad guarda los valores de los registros para continuarluego con la actividad pospuesta (ej: interrupciones, multiplexadodel tiempo)
búsqueda decodificación ejecución
-
8/17/2019 1-Introduccion Sistemas Operativos
10/22
Revisión del HW: Procesadores
Para mejorar el desempeño se ejecutan varias instrucciones almismo tiempo:
Problemas:
Pipeline Superscalar
ADD AX,BXBNZ 128LD BX,0
ADD AX,BXLD BX,0
Además:Multithreading / Hyperthreading / Multicore
Revisión del HW: Procesadores
La mayoría de las CPU modernas proveen:
Modo kernel: todo el HW / conj. de instruc. disponibles
Modo usuario: conj. de instruc. restringido y acceso limitado alHW (ej: no se permite E/S, protección de memoria).
Del modo usuario se puede pasar al modo kernel a través de lasllamadas al sistema (system calls) que ejecutan la instrucción“TRAP”
Cuando la llamada al sistema finaliza se vuelve a modo usuario
La CPU puede “autoproducirse” TRAPs. Ej: división por 0, salirsedel rango de memoria.
Revisión del HW: Memoria
Idealmente: rapidísima, enorme y barata.
Jerarquía de memoria:
1 nsec
2 nsec
10 nsec
10 msec
100 sec
< 1 KB
4 MB
2 a 4 GB
350 GB
800 GB
Tiempo deacceso típico
Capacidadtípica
m á s r á p i d a
m á s gr an d e
Revisión del HW: Memoria
Idealmente: rapidísima, enorme y barata.
Jerarquía de memoria:Registros:
32 x 32 bits o 64 x 64 bits
extremadamente rápidos
uno debe ser hábil para “quedarse” aquídentro el mayor tiempo posible-> tarea del compilador
-
8/17/2019 1-Introduccion Sistemas Operativos
11/22
Revisión del HW: Memoria
Idealmente: rapidísima, enorme y barata.
Jerarquía de memoria:Cache:
módulo intermedio entre CPU y memoria
mejora el desempeño
aprovecha la localidad espacial y temporalde los programas (loops!!)
cache hit: se encuentra lo que se desea enla cache: !2 ciclos de reloj
cache miss: no está en la cache y se debeir a buscarlo a memoria: mucho más tiempo
hay varios niveles de cache
Revisión del HW: Memoria
Idealmente: rapidísima, enorme y barata.
Jerarquía de memoria:
Memoria principal:
es la verdadera trabajadora en elsistema de memoriaúltima volátil en la jerarquía dememoria
Revisión del HW: Memoria
Idealmente: rapidísima, enorme y barata.
Jerarquía de memoria: Discos magnéticos:
2 órdenes de magnitud más grande que la memoria RAM
3 órdenes de magnitud más lento que la memoria RAM(el disco es mecánico!!)
organizado en pistas circulares concéntricas
el conjunto de las pistas en la misma posición del brazoforman un cilindro
cada pista se divide en sectores (usual. 512 bytes c/u)
Revisión del HW: Memoria
Idealmente: rapidísima, enorme y barata.
Jerarquía de memoria:
Cintas:
se usan para backups
Otras memorias:
Flash (EEPROM)
-> Memory sticks / Camaras digitales /...
CMOS (batería, bajo consumo)
-
8/17/2019 1-Introduccion Sistemas Operativos
12/22
Revisión del HW: Memoria
Memoria principal
multiplexión del espacio de memor ia obvio: para que un programa no afecte a los otros
Reubicación -> más sutil: el progr. se compila como si tuviera toda lamemoria a su disposición comenzando por 0.
2 soluciones:
reubicación a tiempo de carga
reubicación “on the fly” (en ejecución)
Revisión del HW: Memoria
Memoria principal
multiplexión del espacio de memor ia obvio: para que un programa no afecte a los otros
Reubicación -> más sutil: el progr. se compila como si tuviera toda lamemoria a su disposición comenzando por 0.
2 soluciones:
reubicación a tiempo de carga
reubicación “on the fly” (en ejecución)
buscar ymodificar todas las direcciones
en el programa:factible pero costoso
Revisión del HW: Memoria
Memoria principal
multiplexión del espacio de memor ia obvio: para que un programa no afecte a los otros
Reubicación -> más sutil: el progr. se compila como si tuviera toda lamemoria a su disposición comenzando por 0.
2 soluciones:
reubicación a tiempo de carga
reubicación “on the fly” (en ejecución)
Reubicación “on the fly”:
solución más simple.
un registro base y
uno límite por progr.:if dir < límite
then base+direlse TRAP
soluciona reubicación y
protección
la dirección que manipula
el programa es la dirección virtual
el dispositivo que mapea direcciones virtualesa direcciones físicas se denomina MMU(Memory Management Unit)
Revisión del HW: Memoria
Memoria principal
multiplexión del espacio de memor ia obvio: para que un programa no afecte a los otros
Reubicación -> más sutil: el progr. se compila como si tuviera toda lamemoria a su disposición comenzando por 0.
2 soluciones:
reubicación a tiempo de carga
reubicación “on the fly” (en ejecución)
Observaciones sobre el desempeño:
La cache oculta la velocidad relativamente lenta de la memoria:
Luego de ejecutar un rato, un programa inunda la cache con lainformación que este necesita para operar
=> buen desempeño
Si el SO cambia la ejecución de un prog. a otro, la cache se debecargar con la info del nuevo programa
=> el desempeño se deteriora si los cambios son muy segui do
Para cambiar de un programa a otro, los registros de la MMU debencambiarse.
!El cambio de un programa a otro (cambio de contexto o context switch)puede ser muy caro.
Hacer watch -n 1 cat /proc/stat
y ver “ctxt”
-
8/17/2019 1-Introduccion Sistemas Operativos
13/22
Revisión del HW: Dispositivos de E/S
Consiste de 2 partes
El controlador es una porción de hardware (un chip o un conj. dechips) que controla físicamente al dispositivo
Acepta comandos del SO y los lleva a cabo.
Brinda una interfaz más simple al SO (pero aún compleja).
Por ej. acepta un comando para leer el sector 11206. Luego tendrá quetransformar esto en el cilindro, sector y cabezal correcto.
El dispositivo propiamente dicho.Tienen interfaces simples estandarizadas. Ej: IDE, SCSI, USB, etc
La interfaz del dispositivo está oculta detrás del controlador
La parte del SO que envía comandos al controlador se denominadevice driver (manejador del dispositivo)
El device driver se localiza habitualmente en el kernel.
Tres maneras de incorporarlo: relink, reload, y “on the fly”
El device driver se comunica con el controlador a través de registros
Dos alternativas de mapeo de los registros:
mapeados en memoria
mapeados en E/S
Ambas se deben realizar en modo kernel
Tres modos de comunicación del device driver con el controlador:
Polling
Interrupciones
DMA
Revisión del HW: Dispositivos de E/S
El device driver se comunica con el controlador a través de registros
Dos alternativas de mapeo de los registros:
mapeados en memoria
mapeados en E/S
Ambas se deben realizar en modo kernel
Tres modos de comunicación del device driver con el controlador:
Polling
Interrupciones
DMA
Revisión del HW: Dispositivos de E/SUn espacio especial dentro
del direccionamiento de memoria.El espacio especial nunca se asigna al
usuario
El device driver se comunica con el controlador a través de registros
Dos alternativas de mapeo de los registros:
mapeados en memoria
mapeados en E/S
Ambas se deben realizar en modo kernel
Tres modos de comunicación del device driver con el controlador:
Polling
Interrupciones
DMA
Revisión del HW: Dispositivos de E/S
Otro espacio dedireccionamiento ! dir. de memoria.
Se accede con dos instrucciones especiales:in y out que sólo se pueden ejecutar en
modo kernel
-
8/17/2019 1-Introduccion Sistemas Operativos
14/22
El device driver se comunica con el controlador a través de registros
Dos alternativas de mapeo de los registros:
mapeados en memoria
mapeados en E/S
Ambas se deben realizar en modo kernel
Tres modos de comunicación del device driver con el controlador:
Polling
Interrupciones
DMA
Revisión del HW: Dispositivos de E/S
Un loop pregunta constantemente si eldispositivo está listo -> “Busy waiting”
Bloquea la CPU => sólo es útil endispositivos dedicados
El device driver se comunica con el controlador a través de registros
Dos alternativas de mapeo de los registros:
mapeados en memoria
mapeados en E/S
Ambas se deben realizar en modo kernel
Tres modos de comunicación del device driver con el controlador:
Polling
Interrupciones
DMA
Revisión del HW: Dispositivos de E/S
El driver inicia al dispositivo y espera a que éste leavise cuando haya finalizado
En este punto el driver devuelve el control al SO y estebusca un nuevo trabajo para hacer
=> CPU y controlador trabajan en paralelo
Cuando el controlador termina levanta la interrupción
que actúa de aviso al driver
El device driver se comunica con el controlador a través de registros
Dos alternativas de mapeo de los registros:
mapeados en memoria
mapeados en E/S
Ambas se deben realizar en modo kernel
Tres modos de comunicación del device driver con el controlador:
Polling
Interrupciones
DMA
Revisión del HW: Dispositivos de E/S
El driver inicia al dispositivo y espera a que éste leavise cuando haya finalizado
En este punto el driver devuelve el control al SO y estebusca un nuevo trabajo para hacer
=> CPU y controlador trabajan en paralelo
Cuando el controlador termina levanta la interrupciónque actúa de aviso al driver
cat /proc/interrupts
El device driver se comunica con el controlador a través de registros
Dos alternativas de mapeo de los registros:
mapeados en memoria
mapeados en E/S
Ambas se deben realizar en modo kernel
Tres modos de comunicación del device driver con el controlador:
Polling
Interrupciones
DMA
Revisión del HW: Dispositivos de E/S
Un chip e specífico que directamente transfierelos datos del dispositivo a memor ia (o al revés)
Sin super visión constante de la CPU
Ésta sólo indica qué, donde y cuanto
El DMA usa los buses cuando la CPU no losutiliza
Cuando el DMA finaliza le avisa a la CPU conuna interrupción
-
8/17/2019 1-Introduccion Sistemas Operativos
15/22
Revisión del HW: Buses
Organización original
Revisión del HW: Buses
Organización original
En la actualidadhay mucha diferencia de
velocidad entre las distintascomponentes
Revisión del HW: Buses
Posible organización contemporánea
Revisión del HW: Buses
Posible organización contemporánea
L2(L1 es interna a la CPU)
-
8/17/2019 1-Introduccion Sistemas Operativos
16/22
Revisión del HW: Buses
Posible organización contemporánea
> 100 MHzDDR SDRAM: 200 MHz
Revisión del HW: Buses
Posible organización contemporánea
ISA:Original de IBM PC2 bytes a 8.33 MHz
(16.67 MB/seg)Ya se está omitiendo
Revisión del HW: Buses
Posible organización contemporánea
PCI:8 bytes a 66 MHz
(528 MB/seg)
PCIe: hasta16 GB/seg
Revisión del HW: Buses
Posible organización contemporánea
IDE, tambiénParallel ATA:
discos y CDROM
Serial ATA (SATA):2.0 -> 384 MB/seg3.0 -> 768 MB/seg
-
8/17/2019 1-Introduccion Sistemas Operativos
17/22
-
8/17/2019 1-Introduccion Sistemas Operativos
18/22
Procesos:
Un proceso puede crearse o terminarse
Ej:
Conceptos de los Sistemas OperativosA través de
system calls
ffx
sh$ firefox &
Procesos:
Un proceso puede crearse o terminarse
Ej:
Conceptos de los Sistemas OperativosA través de
system calls
gccffx
sh$ firefox &$ gcc -o test test.c
Procesos:
Un proceso puede crearse o terminarse
Ej:
Conceptos de los Sistemas OperativosA través de
system calls
ffx
sh$ firefox &$ gcc -o test test.c$
Hacer:pstree
Procesos:
Un proceso puede crearse o terminarse
Ej:
Otras system calls relacionadas a procesos:solicitar más memoria / esperar que un proceso hijo termine / etc.
Los procesos necesitan comunicarse para hacer tareas conjuntas:
IPC (Inter processs communication)
Ej: $ cat file1 | grep subject | lpr
Conceptos de los Sistemas OperativosA través de
system calls
gccffx
sh$ firefox &$ gcc -o test test.c$
Hacer:pstree
-
8/17/2019 1-Introduccion Sistemas Operativos
19/22
Deadlock (Interbloqueos):
Conceptos de los Sistemas Operativos
P1:
get(scanner);
get(printer);
release(printer);
release(scanner);
P2:
get(printer);
get(scanner);
release(printer);
release(scanner);
Deadlock potencial Deadlock real
Deadlock (Interbloqueos):
Conceptos de los Sistemas Operativos
P1:
get(scanner);
get(printer);
release(printer);
release(scanner);
P2:
get(printer);
get(scanner);
release(printer);
release(scanner);
Deadlock potencial Deadlock real
Deadlock (Interbloqueos):
Conceptos de los Sistemas Operativos
P1:
get(scanner);
get(printer);
release(printer);
release(scanner);
P2:
get(printer);
get(scanner);
release(printer);
release(scanner);
Manejo de memoria:
El HW provee mecanismos para manejo de memoria (MMU)
Muchos programas en la memoria al mismo tiempo => protección
Debe manejar todo el espacio de direccionamiento de un proceso:
aunque la memoria física sea menor o
esté ocupada parcialmente por otros procesosLa CPU direcciona 232 o 264 bytes >> mem. física disponible
Memoria virtual:
El SO mantiene parte del espacio de direccionamiento enmemoria física y parte en disco
El SO debe saber:
donde está cada parte y
cómo reemplazar (entre mem. física y disco)
Conceptos de los Sistemas Operativos
-
8/17/2019 1-Introduccion Sistemas Operativos
20/22
Archivos:
Todo SO maneja archivos
Funcionalidad importante del SO:Ocultar las peculiaridades de los discos y otros dispositivos de E/S ypresentar al programador un modelo abstracto de archivos que sea simpley prolijo e independiente del dispositivo subyacente
Syscalls: crear, borrar, lee, escribir, ...
Patrón transaccional heredado de las cintas (abrir / usar /cerrar)
Otro concepto clave -> directorio
Cada archivo en uso tiene asociado un “file descriptor”
Concepto importante en UNIX: montado de sistemas de archivos
Archivos especiales que muestran a los dispositivos como archivos
Pipes
Conceptos de los Sistemas Operativos
Archivos:
Todo SO maneja archivos
Funcionalidad importante del SO:Ocultar las peculiaridades de los discos y otros dispositivos de E/S ypresentar al programador un modelo abstracto de archivos que sea simpley prolijo e independiente del dispositivo subyacente
Syscalls: crear, borrar, lee, escribir, ...
Patrón transaccional heredado de las cintas (abrir / usar /cerrar)
Otro concepto clave -> directorio
Cada archivo en uso tiene asociado un “file descriptor”
Concepto importante en UNIX: montado de sistemas de archivos
Archivos especiales que muestran a los dispositivos como archivos
Pipes
Conceptos de los Sistemas Operativos
/Faculty/Prof.Brown/Courses/CS101/
También relativo aldirectorio de trabajo:
$ pwd
Archivos:
Todo SO maneja archivos
Funcionalidad importante del SO:Ocultar las peculiaridades de los discos y otros dispositivos de E/S ypresentar al programador un modelo abstracto de archivos que sea simpley prolijo e independiente del dispositivo subyacente
Syscalls: crear, borrar, lee, escribir, ...Patrón transaccional heredado de las cintas (abrir / usar /cerrar)
Otro concepto clave -> directorio
Cada archivo en uso tiene asociado un “file descriptor”
Concepto importante en UNIX: montado de sistemas de archivos
Archivos especiales que muestran a los dispositivos como archivos
Pipes
Conceptos de los Sistemas Operativos
Cuando se abre el archivo
-> retorna un entero llamado file descriptor
Cuando se utiliza el archivo
-> con el file descr iptor
Cuando se cierra el archivo-> elimina el file descr iptor
Archivos:
Todo SO maneja archivos
Funcionalidad importante del SO:Ocultar las peculiaridades de los discos y otros dispositivos de E/S ypresentar al programador un modelo abstracto de archivos que sea simpley prolijo e independiente del dispositivo subyacente
Syscalls: crear, borrar, lee, escribir, ...Patrón transaccional heredado de las cintas (abrir / usar /cerrar)
Otro concepto clave -> directorio
Cada archivo en uso tiene asociado un “file descriptor”
Concepto importante en UNIX: montado de sistemas de archivos
Archivos especiales que muestran a los dispositivos como archivos
Pipes
Conceptos de los Sistemas Operativos
-
8/17/2019 1-Introduccion Sistemas Operativos
21/22
Archivos:
Todo SO maneja archivos
Funcionalidad importante del SO:Ocultar las peculiaridades de los discos y otros dispositivos de E/S ypresentar al programador un modelo abstracto de archivos que sea simpley prolijo e independiente del dispositivo subyacente
Syscalls: crear, borrar, lee, escribir, ...
Patrón transaccional heredado de las cintas (abrir / usar /cerrar)
Otro concepto clave -> directorio
Cada archivo en uso tiene asociado un “file descriptor”
Concepto importante en UNIX: montado de sistemas de archivos
Archivos especiales que muestran a los dispositivos como archivos
Pipes
Conceptos de los Sistemas OperativosPermite eliminar la dependencia de los dispositivos:
No más C:, E:, LPT1:, etc.
Archivos especiales que hacen que los dispositivos sevean como archivos:
Ej: LPT1 -> /dev/lp0
Pueden ser
de bloque -> acceso aleatoriode carácter -> acceso secuencial
Hacer:$ ls -l /dev
y buscar los flags b y c
Archivos:
Todo SO maneja archivos
Funcionalidad importante del SO:Ocultar las peculiaridades de los discos y otros dispositivos de E/S ypresentar al programador un modelo abstracto de archivos que sea simpley prolijo e independiente del dispositivo subyacente
Syscalls: crear, borrar, lee, escribir, ...
Patrón transaccional heredado de las cintas (abrir / usar /cerrar)
Otro concepto clave -> directorio
Cada archivo en uso tiene asociado un “file descriptor”
Concepto importante en UNIX: montado de sistemas de archivos
Archivos especiales que muestran a los dispositivos como archivos
Pipes
Conceptos de los Sistemas Operativos
$ ls -l /dev | grep hda
Entrada/Salida:
Subsistema de E/S para manejar los dispositivos
Cómo se agrupan en clases
Seguridad:
Fundamentos para proteger la información:
Confidencialidad: sólo los usuarios con la autorización apropiadapueden ver los datos
Integridad: sólo los usuarios con la autorización apropiadapueden modificar los datos
Aparece en muchas partes. Ej: protección de memoria.
En particular, en archivos: bits rwx
Conceptos de los Sistemas Operativos
Entrada/Salida:
Subsistema de E/S para manejar los dispositivos
Cómo se agrupan en clases
Seguridad:
Fundamentos para proteger la información:
Confidencialidad: sólo los usuarios con la autorización apropiadapueden ver los datos
Integridad: sólo los usuarios con la autorización apropiadapueden modificar los datos
Aparece en muchas partes. Ej: protección de memoria.
En particular, en archivos: bits rwx
Conceptos de los Sistemas Operativos
Hacer:$ ls -l
y observarrwxr-x--x } } }
u g a
-
8/17/2019 1-Introduccion Sistemas Operativos
22/22
Presentan la interface entre el Sist. Op. y los programas usuarios
El conjunto de syscalls varía en cada Sist. Op.
Hacer un syscall es muy dependiente de la máquina -> TRAP
Se usan procedimientos de biblioteca que “envuelven” (wrap) las syscalls(libc, glibc)
POSIX (estándar)
-> UNIX, System V, Lnux, BSD,
MINIX, Mac OSX
Ej:
read(fd, buffer, nbytes);
Llamadas al sistema (System Calls) Llamadas al sistema (System Calls)
Ejemplos:
Llamadas al sistema (System Calls)
Ejemplos: