SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
1
Sistemas operativos
Tema 3: Estructura del sistema
operativo
2
Contenidos
Componentes típicos del SO
Servicios del SO
Llamadas al sistema
Programas del sistema
El núcleo o kernel
Modelos de diseño del SO
Cómo se implementa un SO
3
Componentes típicos de un SO
procesos memoria entrada/salida
redes archivosprotección
Intérprete de órdenes
4
Gestión de procesos
Un proceso es un programa en ejecución. Para
poder ejecutarse, un proceso necesita tiempo de
CPU, una porción de memoria, archivos, E/S y
demás recursos.
Responsabilidades del S.O.:
creación y eliminación de procesos
planificación de procesos: repartir la CPU entre los procesos
activos
sincronización entre procesos
comunicación entre procesos
procesos
5
Gestión de memoria
La memoria es un recurso escaso por el que
compiten los distintos procesos.
Responsabilidades del S.O.:
conocer qué zonas de memoria están libres y cuáles están
ocupadas
decidir qué procesos hay que cargar cuando haya memoria
libre
reservar y liberar zonas de memoria según se solicite
memoria virtual: utilizar el almacenamiento secundario como
una extensión de la memoria principal.
memoria
6
Gestión de la E/S
La E/S es un conjunto de dispositivos muy variados
y complejos de programar.
Objetivos del S.O.:
proporcionar una interfaz uniforme para el acceso a los
dispositivos (independencia del dispositivo)
proporcionar manejadores para los dispositivos
concretos
tratar automáticamente los errores más típicos
para los dispositivos de almacenamiento, utilizar cachés
para los discos, planificar de forma óptima las peticiones
entrada/salida
7
Sistema de archivos
Un archivo es un conjunto de datos identificado
por un nombre. Los archivos se almacenan en
dispositivos de E/S. Un archivo es un concepto
de alto nivel que no existe en el hardware.
Funciones del S.O.:
manipulación de archivos: crear, borrar, leer, escribir...
manipulación de directorios
ubicar los archivos y directorios en los dispositivos de
almacenamiento secundario
automatizar ciertos servicios: copia de seguridad,
versiones, etc.
archivos
8
Sistema de protección
La protección abarca los mecanismos destinados a
controlar el acceso de los usuarios a los recursos,
de acuerdo con los privilegios que se definan.
Objetivos del S.O.:
definir el esquema general de protección: clases de usuarios,
clases de permisos/privilegios, etc.
definir mecanismos de acceso a los recursos: contraseñas,
llaves, capacidades, etc.
controlar el acceso a los recursos, denegando el acceso
cuando no esté permitido
protección
9
Redes
En un sistema distribuido, existen varios
ordenadores con sus propios recursos
locales (memoria, archivos, etc.),
conectados mediante una red.
Objetivos del S.O.:
proporcionar primitivas para conectarse con equipos
remotos y acceder de forma controlada a sus
recursos: primitivas de comunicación (enviar y
recibir datos) sistema de ficheros en red (ej. NFS)
llamada remota a procedimiento (RPC) etc.
redes
10
Intérprete de órdenes
(command interpreter)
Para que un usuario pueda dialogar directamente
con el S.O., se proporciona una interfaz de usuario
básica para:
cargar programas
abortar programas
introducir datos a los programas
trabajar con archivos
trabajar con redes
Ejemplos: JCL en sistemas por lotes,
COMMAND.COM en MS-DOS, shell en UNIX
Intérprete de
órdenes
11
Servicios del SO
El S.O. ofrece a los programas una serie de
servicios para trabajar en el computador:
Ejecución de programas
Operaciones de E/S
Manipulación de archivos y directorios
Comunicación entre procesos
Comunicación con equipos remotos
Administración de la protección y seguridad
Leer el estado del sistema (hora, nº de procesos, etc.)
12
Servicios adicionales
Aparte de los servicios básicos, el S.O.
puede ofrecer algunas funciones para
optimizar el uso del sistema:
Compartición de recursos
Contabilidad (accounting) - conocer el
consumo de recursos
13
Interfaces con
los servicios del SO
Para el programador:
LLAMADAS AL SISTEMA en lenguaje máquina o
en alto nivel (ej. lenguaje C)
Para el usuario:
intérprete de órdenes
programas del sistema
14
¿Qué aspecto tiene una llamada al
sistema?
Windows:
handle = OpenFile(“mifichero”,ofstruct,OF_READ)
UNIX:
fd = open(“mifichero”,O_RDONLY);
MSDOS:
15
Llamadas al sistema
El S.O. ofrece una gama de servicios a los
programas.
Los programas acceden a estos servicios mediante
llamadas al sistema.
Las llamadas al sistema son la interfaz entre el
programa en ejecución y el S.O.
Es la única forma en la que un programa puede
solicitar operaciones al S.O.
16
Implementación de las llamadas al
sistema
¿Cómo se implementa la llamada?
Habitualmente, mediante una instrucción especial
de la máquina (syscall, int, trap...)
La instrucción cambia automáticamente a modo
privilegiado
Si programamos en un lenguaje de alto nivel,
escribimos la llamada al sistema como una
subrutina, y el compilador la sustituye por la
instrucción de máquina correspondiente.
17
Implementación de las llamadas al
sistema (2)
Muchas llamadas necesitan parámetros,
¿cómo los pasamos al S.O.?
guardándolos en registros de la máquina (muy
típico)
en una tabla en memoria principal
poniéndolos en la pila
18
Ejemplo:
llamadas al sistema de Unix
Procesos: crear proceso (fork), enviar señal a
un proceso (kill), tratar señales (signal)…
Memoria: pedir más memoria, liberar
memoria...
Archivos: open, close, creat, read, write, mkdir;
bloquear fichero (lockf)…
Redes: crear conexión (socket), cerrar
conexión...
Protección: cambiar permisos (chmod),
cambiar propietario (chown)…
19
Programas del sistema
Las llamadas al sistema nos proporcionan una
interfaz para el programador. Un usuario final
interactúa con el S.O. mediante programas
previamente compilados.
El entorno del S.O. Suele proveer utilidades
básicas, llamadas programas del sistema, para:
manipular ficheros (ej. ls, cp, etc.)
editar documentos (emacs, edit, etc.)
darnos un entorno de trabajo (ej. escritorio Windows)
desarrollar programas (compiladores, enlazadores, etc.)
comunicarnos con otros equipos (telnet, ftp, etc.)
20
El núcleo (kernel)
Se suele llamar núcleo (kernel) al software
del sistema operativo que reside
permanentemente en memoria y que atiende
las llamadas al sistema y demás eventos
básicos.
El núcleo se distingue de los programas del
sistema (que utilizan los servicios del
núcleo).
21
Modelos de diseño de un SO
¿Cómo está construido por dentro un
sistema operativo?
Hay múltiples técnicas:
Diseño monolítico
Diseño en capas
máquinas virtuales
Modelo cliente-servidor
Micronúcleos
…
22
Diseño monolítico
La arquitectura más simple para un S.O. Es un
núcleo compacto, que contiene todas las rutinas de
S.O.
NÚCLEO
hardware
programa
programa programa
Llamadas al sistema
23
Diseño por capas
El S.O. se construye en niveles jerárquicos, cada
uno de los cuales aprovecha los servicios del nivel
inferior.
Diseño más modular y escalable que el monolítico.
capa 0
capa 1
capa 2programa
24
Diseño por capas (2)
Cada capa del SO consistiría en la implementación
de un objeto abstracto
Datos
Operaciones
...
capa M-1
capa M
...
...
operaciones
nuevas
operaciones
existentes
operaciones
ocultas
25
Ejemplo por capas: THE
Sistema experimental de los años 60
Seis niveles:
L5: aplicaciones de usuario
L4: buffering
L3: consola del operador
L2: gestión de memoria paginada
L1: planificación de procesos
L0: hardware
26
Ejemplo: MS-DOS (Microsoft)
controladores de dispositivos en ROM BIOS
controladores de dispositivos
de MS-DOS
programa del sistema residente
programa de aplicación
27
Ejemplo: Unix (ATT)
(usuarios)
shells y órdenes
compiladores e intérpretes
bibliotecas del sistema
Interfaz con el núcleo mediante llamadas al sistema
manejo de terminales por
señales
sistema de E/S por caracteres
drivers de terminales
sistema de archivos
sistema de E/S por intercambio
de bloques
drivers de disco y cinta
planificación de CPU
reemplazo de páginas
paginación por demanda
memoria virtual
Interfaz con el núcleo
controladores de terminales
terminales
controladores de dispositivos
discos y cintas
controladores de memoria
memoria física
28
Ejemplo: OS/2 (IBM)
controlador
de dispositivo
controlador
de dispositivo
controlador
de dispositivo
controlador
de dispositivo
núcleo del sistema
• gestión de memoria
• planificación de tareas
• gestión de dispositivos
subsistema subsistema subsistema
interfaz de programación de aplicaciones (API) extensión API
aplicación aplicación aplicación aplicación
29
Diseño por capas: ventajas sobre
monolítico
La modularidad simplifica:
Depuración y verificación
Una vez depurada la primera capa se puede dar por
sentado su funcionamiento correcto mientras se trabaja
con la segunda capa.
Mantenimiento
Es posible por ejemplo cambiar las rutinas de bajo nivel
siempre que la interfaz externa de la rutina no cambie y
la rutina realice la misma tarea anunciada
30
Diseño por capas: desventajas sobre
monolítico
Problema: definición apropiada de las distintas
capas
Tienden a ser menos eficientes
Llamadas entre capas = paso de parámetros
En definitiva cada capa implica un gasto extra
Tendencia: equilibrio, menos capas con más funcionalidad:
Ventajas de la modularidad
Evitan los problemas de definición e interacción entre capas
31
Máquinas virtuales
La idea: mediante software, se proporciona a los
programas la emulación de un sistema que nos
interesa reproducir.
El sistema emulado puede ser una máquina, un
sistema operativo, una red de computadores…
El software emulador traduce las peticiones hechas a
la máquina virtual en operaciones sobre la máquina
real.
Se pueden ejecutar varias máquinas virtuales al
mismo tiempo (ej. mediante tiempo compartido).
Los recursos reales se reparten entre las distintas
máquinas virtuales.
32
Máquinas virtuales: ejemplos
IBM VM: ofrecía a cada usuario su propia
máquina virtual no multiprogramada; las m.v.
se planificaban con tiempo compartido.
Java: los programas compilados en Java
corren sobre una máquina virtual (JVM).
VMware: capaz de ejecutar al mismo tiempo
varias sesiones Windows, Linux, Mac OS X,
etc. sobre plataforma PC o Mac.
Nachos: S.O. que se ejecuta en una máquina
virtual MIPS, cuyo emulador corre sobre Unix.
33
Máquinas virtuales: pros y contras
Protección: cada máquina virtual está aislada
de las otras y no puede interferir
Independencia de la plataforma (ej. Java)
Pervivencia de sistemas antiguos (ej.
emuladores MSDOS)
Experimentación: se puede desarrollar y
ejecutar para un hardware que no tenemos
Pero… el rendimiento de la m.v. puede ser
muy lento
34
Modelo cliente-servidor
Según este modelo, el SO se organiza como un
conjunto de módulos autónomos, cada uno de los
cuales tiene a disposición del resto una serie de
servicios
Cada módulo actúa como un servidor de ciertas
funcionalidades, que atiende las peticiones de otros
módulos y que su vez puede ser cliente de otros
módulos
35
Modelo cliente-servidor
Podemos extender el modelo cliente-servidor hasta
el infinito, si consideramos cada módulo del sistema
como un conjunto de módulos con relaciones
cliente-servidor
El modelo jerárquico no es más que un caso
particular del modelo cliente-servidor
Indicado para sistemas distribuidos
36
Micronúcleo
Objetivo: construir un núcleo del SO con lo
mínimo imprescindible
cambios de contexto, gestión de interrupciones,
comunicación entre procesos, etc.
Las políticas de gestión de los recursos se
implementan fuera del núcleo, como
procesos externos a nivel de usuario
Primer micronúcleo: Mach (1980)

Más contenido relacionado

La actualidad más candente

Capitulo 22 windows XP
Capitulo 22 windows XPCapitulo 22 windows XP
Capitulo 22 windows XPJorge Alberto
 
Taller sistemas operativos (27) slatan
Taller sistemas operativos (27) slatanTaller sistemas operativos (27) slatan
Taller sistemas operativos (27) slatanSlatan27
 
Sistemas 110531155754-phpapp02
Sistemas 110531155754-phpapp02Sistemas 110531155754-phpapp02
Sistemas 110531155754-phpapp02pepita_11
 
El kernel en los sistemas operativos
El kernel en los sistemas operativosEl kernel en los sistemas operativos
El kernel en los sistemas operativosKaren Serrano
 
Sistema operativo Juank Caballero
Sistema operativo Juank CaballeroSistema operativo Juank Caballero
Sistema operativo Juank CaballeroJuank_Caballero
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativosdiegos11
 
Aplicaciones Informáticas 2011. Parte II
Aplicaciones Informáticas 2011. Parte IIAplicaciones Informáticas 2011. Parte II
Aplicaciones Informáticas 2011. Parte IIEuler V. Terán Yépez
 
Informatica basica 4. sistemas operativos
Informatica basica 4. sistemas operativosInformatica basica 4. sistemas operativos
Informatica basica 4. sistemas operativosEdward Ropero
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativosBARTOLEO
 
Kernel de un sistema operativo
Kernel de un sistema operativoKernel de un sistema operativo
Kernel de un sistema operativoKarianamawcinitt
 
Los Sistemas Operativos
Los Sistemas OperativosLos Sistemas Operativos
Los Sistemas OperativosMiguel Alfonso
 

La actualidad más candente (17)

2 conceptos basicos
2 conceptos basicos2 conceptos basicos
2 conceptos basicos
 
Capitulo 22 windows XP
Capitulo 22 windows XPCapitulo 22 windows XP
Capitulo 22 windows XP
 
Sistemas Operativos
Sistemas Operativos Sistemas Operativos
Sistemas Operativos
 
Taller sistemas operativos (27) slatan
Taller sistemas operativos (27) slatanTaller sistemas operativos (27) slatan
Taller sistemas operativos (27) slatan
 
Sistemas 110531155754-phpapp02
Sistemas 110531155754-phpapp02Sistemas 110531155754-phpapp02
Sistemas 110531155754-phpapp02
 
El kernel en los sistemas operativos
El kernel en los sistemas operativosEl kernel en los sistemas operativos
El kernel en los sistemas operativos
 
Clase1 sistemas
Clase1 sistemasClase1 sistemas
Clase1 sistemas
 
Sistema operativo Juank Caballero
Sistema operativo Juank CaballeroSistema operativo Juank Caballero
Sistema operativo Juank Caballero
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Aplicaciones Informáticas 2011. Parte II
Aplicaciones Informáticas 2011. Parte IIAplicaciones Informáticas 2011. Parte II
Aplicaciones Informáticas 2011. Parte II
 
Informatica basica 4. sistemas operativos
Informatica basica 4. sistemas operativosInformatica basica 4. sistemas operativos
Informatica basica 4. sistemas operativos
 
Taller sistema operativo gua 10...
Taller sistema operativo gua 10...Taller sistema operativo gua 10...
Taller sistema operativo gua 10...
 
Trabajo 1 s. operativos ii
Trabajo 1 s. operativos iiTrabajo 1 s. operativos ii
Trabajo 1 s. operativos ii
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
S.O. de computadoras, villares y conde
S.O. de computadoras, villares y condeS.O. de computadoras, villares y conde
S.O. de computadoras, villares y conde
 
Kernel de un sistema operativo
Kernel de un sistema operativoKernel de un sistema operativo
Kernel de un sistema operativo
 
Los Sistemas Operativos
Los Sistemas OperativosLos Sistemas Operativos
Los Sistemas Operativos
 

Destacado (17)

Certificate
CertificateCertificate
Certificate
 
Printing money consequences
Printing money consequencesPrinting money consequences
Printing money consequences
 
research presentation
research presentationresearch presentation
research presentation
 
C00191862
C00191862C00191862
C00191862
 
conditionals
conditionalsconditionals
conditionals
 
елена ильина презентация
елена ильина презентацияелена ильина презентация
елена ильина презентация
 
Apres smi final
Apres smi finalApres smi final
Apres smi final
 
Итоговое сочинение 2016-2017
Итоговое сочинение 2016-2017Итоговое сочинение 2016-2017
Итоговое сочинение 2016-2017
 
heath communication
heath communicationheath communication
heath communication
 
Martabak Research Findings
Martabak Research FindingsMartabak Research Findings
Martabak Research Findings
 
Madison
MadisonMadison
Madison
 
Post_Graduate_Diploma_in_Industrial engineering_ NPC Circular_1974
Post_Graduate_Diploma_in_Industrial engineering_ NPC Circular_1974Post_Graduate_Diploma_in_Industrial engineering_ NPC Circular_1974
Post_Graduate_Diploma_in_Industrial engineering_ NPC Circular_1974
 
2.gaia etxea
2.gaia etxea2.gaia etxea
2.gaia etxea
 
Experimental study design
Experimental study designExperimental study design
Experimental study design
 
Branding lock
Branding lockBranding lock
Branding lock
 
2016 CRW - An inside look at Kiewit's Crane & Rigging Management System
2016 CRW - An inside look at Kiewit's Crane & Rigging Management System2016 CRW - An inside look at Kiewit's Crane & Rigging Management System
2016 CRW - An inside look at Kiewit's Crane & Rigging Management System
 
KUMARESH.CV
KUMARESH.CVKUMARESH.CV
KUMARESH.CV
 

Similar a So 03-estructura del so-6x1

so-01-3-Estructura del Sistema Operativo.pptx
so-01-3-Estructura del Sistema Operativo.pptxso-01-3-Estructura del Sistema Operativo.pptx
so-01-3-Estructura del Sistema Operativo.pptxJoseMiguelCarballo1
 
Conceptos Básicos de Sistemas Operativos
Conceptos Básicos de Sistemas OperativosConceptos Básicos de Sistemas Operativos
Conceptos Básicos de Sistemas OperativosErwin Meza
 
Sistema opertivo
Sistema opertivoSistema opertivo
Sistema opertivofjaneth1
 
prueba
pruebaprueba
pruebathasly
 
Rosa espinozamarinssoo introduccionehistoria
Rosa espinozamarinssoo introduccionehistoriaRosa espinozamarinssoo introduccionehistoria
Rosa espinozamarinssoo introduccionehistoriarosaespinozamarin
 
Sistemaoperativo 101120071653-phpapp02
Sistemaoperativo 101120071653-phpapp02Sistemaoperativo 101120071653-phpapp02
Sistemaoperativo 101120071653-phpapp02txetxu12
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativosestimorenita
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativosestimorenita
 
Portafolio de evidencias
Portafolio de evidenciasPortafolio de evidencias
Portafolio de evidenciaseduardoamaya30
 
Introduccion a los sistemas operativos
Introduccion a los sistemas operativosIntroduccion a los sistemas operativos
Introduccion a los sistemas operativosFriky Equis De
 
Qué es un sistema operativo
Qué es un sistema operativoQué es un sistema operativo
Qué es un sistema operativovirginialorite
 
Qué es un sistema operativo
Qué es un sistema operativoQué es un sistema operativo
Qué es un sistema operativo8r3ky
 

Similar a So 03-estructura del so-6x1 (20)

so-01-3-Estructura del Sistema Operativo.pptx
so-01-3-Estructura del Sistema Operativo.pptxso-01-3-Estructura del Sistema Operativo.pptx
so-01-3-Estructura del Sistema Operativo.pptx
 
Conceptos Básicos de Sistemas Operativos
Conceptos Básicos de Sistemas OperativosConceptos Básicos de Sistemas Operativos
Conceptos Básicos de Sistemas Operativos
 
Sistema opertivo
Sistema opertivoSistema opertivo
Sistema opertivo
 
prueba
pruebaprueba
prueba
 
Rosa espinozamarinssoo introduccionehistoria
Rosa espinozamarinssoo introduccionehistoriaRosa espinozamarinssoo introduccionehistoria
Rosa espinozamarinssoo introduccionehistoria
 
Sistemaoperativo 101120071653-phpapp02
Sistemaoperativo 101120071653-phpapp02Sistemaoperativo 101120071653-phpapp02
Sistemaoperativo 101120071653-phpapp02
 
1.primer taller/segundo corte
1.primer taller/segundo corte1.primer taller/segundo corte
1.primer taller/segundo corte
 
Tarea 3 SO
Tarea 3 SOTarea 3 SO
Tarea 3 SO
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Slideshare
SlideshareSlideshare
Slideshare
 
estructura de los S.O.pptx
estructura de los S.O.pptxestructura de los S.O.pptx
estructura de los S.O.pptx
 
Sistemasoperativos 121213132416-phpapp01
Sistemasoperativos 121213132416-phpapp01Sistemasoperativos 121213132416-phpapp01
Sistemasoperativos 121213132416-phpapp01
 
Portafolio de evidencias
Portafolio de evidenciasPortafolio de evidencias
Portafolio de evidencias
 
Sistemas operativos tarea 3
Sistemas operativos tarea 3Sistemas operativos tarea 3
Sistemas operativos tarea 3
 
Introduccion a los sistemas operativos
Introduccion a los sistemas operativosIntroduccion a los sistemas operativos
Introduccion a los sistemas operativos
 
Qué es un sistema operativo
Qué es un sistema operativoQué es un sistema operativo
Qué es un sistema operativo
 
Dii4%2 B Sistema%2 B Operativo
Dii4%2 B Sistema%2 B OperativoDii4%2 B Sistema%2 B Operativo
Dii4%2 B Sistema%2 B Operativo
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Qué es un sistema operativo
Qué es un sistema operativoQué es un sistema operativo
Qué es un sistema operativo
 

Último

CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptxolgakaterin
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 

Último (20)

CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptx
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 

So 03-estructura del so-6x1

  • 1. 1 Sistemas operativos Tema 3: Estructura del sistema operativo 2 Contenidos Componentes típicos del SO Servicios del SO Llamadas al sistema Programas del sistema El núcleo o kernel Modelos de diseño del SO Cómo se implementa un SO 3 Componentes típicos de un SO procesos memoria entrada/salida redes archivosprotección Intérprete de órdenes 4 Gestión de procesos Un proceso es un programa en ejecución. Para poder ejecutarse, un proceso necesita tiempo de CPU, una porción de memoria, archivos, E/S y demás recursos. Responsabilidades del S.O.: creación y eliminación de procesos planificación de procesos: repartir la CPU entre los procesos activos sincronización entre procesos comunicación entre procesos procesos 5 Gestión de memoria La memoria es un recurso escaso por el que compiten los distintos procesos. Responsabilidades del S.O.: conocer qué zonas de memoria están libres y cuáles están ocupadas decidir qué procesos hay que cargar cuando haya memoria libre reservar y liberar zonas de memoria según se solicite memoria virtual: utilizar el almacenamiento secundario como una extensión de la memoria principal. memoria 6 Gestión de la E/S La E/S es un conjunto de dispositivos muy variados y complejos de programar. Objetivos del S.O.: proporcionar una interfaz uniforme para el acceso a los dispositivos (independencia del dispositivo) proporcionar manejadores para los dispositivos concretos tratar automáticamente los errores más típicos para los dispositivos de almacenamiento, utilizar cachés para los discos, planificar de forma óptima las peticiones entrada/salida
  • 2. 7 Sistema de archivos Un archivo es un conjunto de datos identificado por un nombre. Los archivos se almacenan en dispositivos de E/S. Un archivo es un concepto de alto nivel que no existe en el hardware. Funciones del S.O.: manipulación de archivos: crear, borrar, leer, escribir... manipulación de directorios ubicar los archivos y directorios en los dispositivos de almacenamiento secundario automatizar ciertos servicios: copia de seguridad, versiones, etc. archivos 8 Sistema de protección La protección abarca los mecanismos destinados a controlar el acceso de los usuarios a los recursos, de acuerdo con los privilegios que se definan. Objetivos del S.O.: definir el esquema general de protección: clases de usuarios, clases de permisos/privilegios, etc. definir mecanismos de acceso a los recursos: contraseñas, llaves, capacidades, etc. controlar el acceso a los recursos, denegando el acceso cuando no esté permitido protección 9 Redes En un sistema distribuido, existen varios ordenadores con sus propios recursos locales (memoria, archivos, etc.), conectados mediante una red. Objetivos del S.O.: proporcionar primitivas para conectarse con equipos remotos y acceder de forma controlada a sus recursos: primitivas de comunicación (enviar y recibir datos) sistema de ficheros en red (ej. NFS) llamada remota a procedimiento (RPC) etc. redes 10 Intérprete de órdenes (command interpreter) Para que un usuario pueda dialogar directamente con el S.O., se proporciona una interfaz de usuario básica para: cargar programas abortar programas introducir datos a los programas trabajar con archivos trabajar con redes Ejemplos: JCL en sistemas por lotes, COMMAND.COM en MS-DOS, shell en UNIX Intérprete de órdenes 11 Servicios del SO El S.O. ofrece a los programas una serie de servicios para trabajar en el computador: Ejecución de programas Operaciones de E/S Manipulación de archivos y directorios Comunicación entre procesos Comunicación con equipos remotos Administración de la protección y seguridad Leer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos, el S.O. puede ofrecer algunas funciones para optimizar el uso del sistema: Compartición de recursos Contabilidad (accounting) - conocer el consumo de recursos
  • 3. 13 Interfaces con los servicios del SO Para el programador: LLAMADAS AL SISTEMA en lenguaje máquina o en alto nivel (ej. lenguaje C) Para el usuario: intérprete de órdenes programas del sistema 14 ¿Qué aspecto tiene una llamada al sistema? Windows: handle = OpenFile(“mifichero”,ofstruct,OF_READ) UNIX: fd = open(“mifichero”,O_RDONLY); MSDOS:
  • 4. 15 Llamadas al sistema El S.O. ofrece una gama de servicios a los programas. Los programas acceden a estos servicios mediante llamadas al sistema. Las llamadas al sistema son la interfaz entre el programa en ejecución y el S.O. Es la única forma en la que un programa puede solicitar operaciones al S.O. 16 Implementación de las llamadas al sistema ¿Cómo se implementa la llamada? Habitualmente, mediante una instrucción especial de la máquina (syscall, int, trap...) La instrucción cambia automáticamente a modo privilegiado Si programamos en un lenguaje de alto nivel, escribimos la llamada al sistema como una subrutina, y el compilador la sustituye por la instrucción de máquina correspondiente. 17 Implementación de las llamadas al sistema (2) Muchas llamadas necesitan parámetros, ¿cómo los pasamos al S.O.? guardándolos en registros de la máquina (muy típico) en una tabla en memoria principal poniéndolos en la pila 18 Ejemplo: llamadas al sistema de Unix Procesos: crear proceso (fork), enviar señal a un proceso (kill), tratar señales (signal)… Memoria: pedir más memoria, liberar memoria... Archivos: open, close, creat, read, write, mkdir; bloquear fichero (lockf)… Redes: crear conexión (socket), cerrar conexión... Protección: cambiar permisos (chmod), cambiar propietario (chown)…
  • 5. 19 Programas del sistema Las llamadas al sistema nos proporcionan una interfaz para el programador. Un usuario final interactúa con el S.O. mediante programas previamente compilados. El entorno del S.O. Suele proveer utilidades básicas, llamadas programas del sistema, para: manipular ficheros (ej. ls, cp, etc.) editar documentos (emacs, edit, etc.) darnos un entorno de trabajo (ej. escritorio Windows) desarrollar programas (compiladores, enlazadores, etc.) comunicarnos con otros equipos (telnet, ftp, etc.) 20 El núcleo (kernel) Se suele llamar núcleo (kernel) al software del sistema operativo que reside permanentemente en memoria y que atiende las llamadas al sistema y demás eventos básicos. El núcleo se distingue de los programas del sistema (que utilizan los servicios del núcleo). 21 Modelos de diseño de un SO ¿Cómo está construido por dentro un sistema operativo? Hay múltiples técnicas: Diseño monolítico Diseño en capas máquinas virtuales Modelo cliente-servidor Micronúcleos … 22 Diseño monolítico La arquitectura más simple para un S.O. Es un núcleo compacto, que contiene todas las rutinas de S.O. NÚCLEO hardware programa programa programa Llamadas al sistema 23 Diseño por capas El S.O. se construye en niveles jerárquicos, cada uno de los cuales aprovecha los servicios del nivel inferior. Diseño más modular y escalable que el monolítico. capa 0 capa 1 capa 2programa 24 Diseño por capas (2) Cada capa del SO consistiría en la implementación de un objeto abstracto Datos Operaciones ... capa M-1 capa M ... ... operaciones nuevas operaciones existentes operaciones ocultas
  • 6. 25 Ejemplo por capas: THE Sistema experimental de los años 60 Seis niveles: L5: aplicaciones de usuario L4: buffering L3: consola del operador L2: gestión de memoria paginada L1: planificación de procesos L0: hardware 26 Ejemplo: MS-DOS (Microsoft) controladores de dispositivos en ROM BIOS controladores de dispositivos de MS-DOS programa del sistema residente programa de aplicación 27 Ejemplo: Unix (ATT) (usuarios) shells y órdenes compiladores e intérpretes bibliotecas del sistema Interfaz con el núcleo mediante llamadas al sistema manejo de terminales por señales sistema de E/S por caracteres drivers de terminales sistema de archivos sistema de E/S por intercambio de bloques drivers de disco y cinta planificación de CPU reemplazo de páginas paginación por demanda memoria virtual Interfaz con el núcleo controladores de terminales terminales controladores de dispositivos discos y cintas controladores de memoria memoria física 28 Ejemplo: OS/2 (IBM) controlador de dispositivo controlador de dispositivo controlador de dispositivo controlador de dispositivo núcleo del sistema • gestión de memoria • planificación de tareas • gestión de dispositivos subsistema subsistema subsistema interfaz de programación de aplicaciones (API) extensión API aplicación aplicación aplicación aplicación 29 Diseño por capas: ventajas sobre monolítico La modularidad simplifica: Depuración y verificación Una vez depurada la primera capa se puede dar por sentado su funcionamiento correcto mientras se trabaja con la segunda capa. Mantenimiento Es posible por ejemplo cambiar las rutinas de bajo nivel siempre que la interfaz externa de la rutina no cambie y la rutina realice la misma tarea anunciada 30 Diseño por capas: desventajas sobre monolítico Problema: definición apropiada de las distintas capas Tienden a ser menos eficientes Llamadas entre capas = paso de parámetros En definitiva cada capa implica un gasto extra Tendencia: equilibrio, menos capas con más funcionalidad: Ventajas de la modularidad Evitan los problemas de definición e interacción entre capas
  • 7. 31 Máquinas virtuales La idea: mediante software, se proporciona a los programas la emulación de un sistema que nos interesa reproducir. El sistema emulado puede ser una máquina, un sistema operativo, una red de computadores… El software emulador traduce las peticiones hechas a la máquina virtual en operaciones sobre la máquina real. Se pueden ejecutar varias máquinas virtuales al mismo tiempo (ej. mediante tiempo compartido). Los recursos reales se reparten entre las distintas máquinas virtuales. 32 Máquinas virtuales: ejemplos IBM VM: ofrecía a cada usuario su propia máquina virtual no multiprogramada; las m.v. se planificaban con tiempo compartido. Java: los programas compilados en Java corren sobre una máquina virtual (JVM). VMware: capaz de ejecutar al mismo tiempo varias sesiones Windows, Linux, Mac OS X, etc. sobre plataforma PC o Mac. Nachos: S.O. que se ejecuta en una máquina virtual MIPS, cuyo emulador corre sobre Unix. 33 Máquinas virtuales: pros y contras Protección: cada máquina virtual está aislada de las otras y no puede interferir Independencia de la plataforma (ej. Java) Pervivencia de sistemas antiguos (ej. emuladores MSDOS) Experimentación: se puede desarrollar y ejecutar para un hardware que no tenemos Pero… el rendimiento de la m.v. puede ser muy lento 34 Modelo cliente-servidor Según este modelo, el SO se organiza como un conjunto de módulos autónomos, cada uno de los cuales tiene a disposición del resto una serie de servicios Cada módulo actúa como un servidor de ciertas funcionalidades, que atiende las peticiones de otros módulos y que su vez puede ser cliente de otros módulos 35 Modelo cliente-servidor Podemos extender el modelo cliente-servidor hasta el infinito, si consideramos cada módulo del sistema como un conjunto de módulos con relaciones cliente-servidor El modelo jerárquico no es más que un caso particular del modelo cliente-servidor Indicado para sistemas distribuidos 36 Micronúcleo Objetivo: construir un núcleo del SO con lo mínimo imprescindible cambios de contexto, gestión de interrupciones, comunicación entre procesos, etc. Las políticas de gestión de los recursos se implementan fuera del núcleo, como procesos externos a nivel de usuario Primer micronúcleo: Mach (1980)
  • 8. 37 Micronúcleo (2) 38 Micronúcleos: ventajas Se pueden incorporar nuevos módulos sin necesidad de alterar el núcleo Se cargan en memoria sólo aquellos módulos que sean necesarios en cada momento Pueden aplicarse diferentes políticas para distintas clases de procesos (ej. unos por lotes, otros en tiempo real…) Puede servir como base de múltiples sistemas operativos (estos se implementan como colecciones de módulos cargables) Facilita la implementación de máquinas virtuales 39 Micronúcleos: ventajas (2) Fiabilidad “Lo pequeño es bello” el micronúcleo es menos complejo y por tanto más fácil de depurar Muchos módulos se ejecutan como procesos de usuario si un servicio falla, el resto del SO puede seguir adelante 40 Implementación de un sistema operativo Como todo software, debe seguirse un proceso de desarrollo (ingeniería de sw): requisitos, diseño, construcción, pruebas, paso a explotación, mantenimiento… Pero un SO presenta características especiales: Es un sistema crítico (todas las aplicaciones dependen de él) Normalmente hay requisitos más estrictos de portabilidad (respetar versiones anteriores) Es más complicado de depurar… ¿cómo probamos un pequeño cambio? ¿tenemos que volverlo a instalar un equipo? 41 Separar mecanismos y políticas Los mecanismos definen cómo se realiza algo; las políticas definen qué se debe realizar. Ejemplos: Tiempo compartido política Temporizador, colas de procesos, gestión de interrupciones mecanismos Es conveniente separar en el código los mecanismos de las políticas. Aunque la política cambie, los mismos mecanismos pueden seguir siendo útiles. 42 Lenguaje para implementar un SO En el pasado, lenguaje ensamblador (por eficiencia). Hoy día se usan lenguajes de alto nivel, sobre todo C/C++. Más legible y fácil de mantener y depurar Más transportable a distintas arquitecturas hardware