Introducción y componentes, tipos de sistemas operativos, estructura general del computador y de un sistema informático, estructura y operaciones del un sistemas operativo, gestión de procesos, gestión de memoria, gestión de almacenamiento, sistemas de E/S, protección y seguridad, estructuras de sistemas
operativos, diseño e implementación del S.O, estructura
del sistema operativo, máquinas virtuales.
1. CARRERA DE INGENIERIA EN SISTEMAS
SISTEMAS OPERATIVOS
Docente:
Periodo:
Ing. Freddy Patricio Ajila Z.
septiembre 2013 – febrero 2014
1
AREA DE LA ENERGÍA LAS
INDUSTRIAS Y LOS RECURSOS
NATURALES NO RENOVABLES
Email: fpajila@unl.edu.ec
3. OBJETIVO
1. Proporcionar una visión general de los
principales componentes de los sistemas
operativos y describir los servicios que
proporciona a los usuarios, a los procesos y a
otros sistemas
5. Es un programa que actúa como un
intermediario entre el usuario y hardware de
una computadora, este programa administra
el hardware de una computadora y
proporciona las bases para los programas de
aplicación.
6.
7. 1.1 Puntos de vista de los S. O
Básicamente hay dos visiones para definir un S.O.:
1.- Máquina virtual: presenta una abstracción del HW
subyacente más sencilla y fácil de usar, ocultando sus
peculiaridades presta una variedad de servicios que los
programas utilizan mediante instrucciones especiales, i.e.,
llamadas al sistema.
2. Administrador o controlador de recursos:
Administra todos los elementos del ordenador reparte de
forma ordenada y controlada los elementos del sistema
entre los programas que los solicitan.
11. … Continua esquema de componentes de un S. I.
El sistema informático se puede dividir en cuatro componentes:
1.- Hardware - Proporciona computación básica recursos de CPU, memoria,
dispositivos de E / S
2.- Sistema operativo.- controla y coordina el uso del hardware entre
diferentes aplicaciones y usuarios.
3.- Programas de aplicación.- Definen la forma en que los recursos del
sistema se utilizan para resolver los problemas de computación de los
procesadores de los usuarios de Word, compiladores, navegadores web,
sistemas de bases de datos, video juegos
4.- Usuarios.- personas, máquinas, otros equipos.
12. 1.3 Historia de los S.O
Charles Babbage (1792-1871 Máquina Analitica
“Mecánica”)
Ada Lovelace Primera programadora del mundo, lenguaje
ADA
1. Primera Generación (1945–1955): Válvulas y conexiones
. No existen los S.O/ computadoras con 300 tubos al
vacío(BULBOS) ENIAC
· Grupo de personas diseñaba, construía, programaba,
operaba y mantenía la máquina
· Se introduce las Tarjetas perforadas, instrucción a
instrucción, lenguaje máquina
· Miles de cables a tablero de conexiones
14. 2da Generación (1955–1965): Transistores y
sistemas de procesamiento por lotes
. 1eros Sistemas Operativos Lenguaje Foltran
. Procesamiento por lotes agrupando ⇒ trabajos a
ejecutar
. Monitor Residente: Intérprete de tarjetas, Cargador
de programas, Controlador de E/S
15.
16. Buffers
. Almacenamiento intermedio entre dispositivos de E/S y
CPU, desde donde lee/escribe la CPU
. Cuando la CPU lee los datos del buffer pasa a trabajar
con ellos A su vez, el dispositivo de E/S inicia la
siguiente lectura Dispositivo y CPU trabajando a la vez
. Ideal si velocidad de CPU es ≈ E/S
17. 3era Generación (1965–1980): Circuitos integrados
y multiprogramación
. Multiprogramación.- Varios trabajos en memoria: cuando
uno espera para E/S, otro se puede ejecutar
Necesidad de planificación y protección
. Tiempo compartido (multitarea)
Variante del anterior Cambio rápido entre tareas: uso
Interactivo
Más complejo
. Increíble crecimiento de computadoras
Ejemplos de S.O.: OS/360, MULTICS, UNIX, etc.
20. 4rta Generación (1980–A la Fecha): Computadores
Personales
. IBM toma la iniciativa, contacto con BILL GATES
. BILL GATES compra DOS (Disk Operating System)
Creado por Seattle Computers Product(Tim Perterson)
en $75.000 y crea DOS/BASIC, y a su Vez MS-DOS
(Microsoft System-DOS)
. Xerox Crea la primera GUI (Interfaz gráfica de Usuario)
. Steve Jobs co-Inventor de la computadroa de Apple,
crea la Apple Macintosh en base a la idea de Xerox,
amigable para el usuario (S.O. FreeBSD derivado del
Unix)
. BILL GATES crea Windows Me, Windows 2000,
Windows NT y todas sus versiones
. Unix genera el X11 basado en Ventanas luego Linux, e
implementa S.O para servidores (Centos, Fedora, Redhat)
21. 4rta Generación (1980–A la Fecha): Computadores
Personales
. Se desarrollan Sistemas Operativos en Red y Sistemas
Operativos Distribuidos(compuesto por varios
procesadores, los usuarios no saben donde se ejecutan sus
programas o archivos)
25. 2.1 Sistemas Operativos de
mainframe
➔Son los S.O mas potentes
➔La dif con las PC es su gran capacidad de E/S
➔Pueden tener 1000 o mas discos y millones de GB datos
➔Una mainframe puede ocupar un cuarto completo, hoy presentes
en Data Centers.
➔Hoy están figurando como Serv Web de alto redimiento (por ej.
Google, Youtube, Facebook), Serv p' sitios de comercio
electrónico a gran escala (Paypal, ClickBank)
➔Ejecutan cientos de tareas a la vez, la > parte requiere muchas
operaciones de E/S.
Ofrecen 3 tipos de servicios: procesamientos x lotes,
procesamiento de transacciones y tiempo compartido
26. … Continua S.O de mainframe
➔Ofrecen 3 tipos de servicios:
➔procesamientos x lotes: procesa trabajos de rutina sin acción del
usuario (ej. Backup B.D sist finacieros)
procesamiento de transacciones: manejan grandes cantidades
peq transacciones (ej. Reservaciones en una aerolinea)
Procesamiento de tiempo compartido: varios usuarios remotos
ejecutan tareas en la computadora al mismo tiempo(ej. Consultas
a una gran B.D, google)
Ejemplo de S.O.: OS/390 descendiente del OS/360, gradualmente
estan siendo reemplazados x variantes de UNIX como Linux
(SUSE Linux Enterprise Server).
27. 2.2 Sistemas Operativos de
servidores
➔Se encuentran en un nives + abajo del S.O de mainframes.
➔S.O. de servidor.- Los servidores pueden ser PCs muy potentes o
incluso mainframes.
➔Dar servicio a múltiples usuarios a través de la red y permiten
compartir recursos HW y SW.
➔Prestan servicios de impresión, de ficheros o de Web.
➔Los ISP utilizan para: S. Web, S.Correo, S.DNS, S.Proxy, etc
S.O comunes son: UNIX (Linux (Centos, Debian, Fedora),
FreeBSD, Solaris), Windows server 200x
28. 2.3 Sistemas Operativos de
multiprocesadores
➔Conectan varias CPU en un solo sistema.
➔Conocidas como computadoras paralelas,
multicomputadoras o multiprocesadores.
➔Suelen ser S.O. de servidor, con funciones añadidas
especiales para comunicación y conectividad
➔Poseen chips multinucleo (PC, portatiles)
➔Esprobable que el n° nucleos aumente con el tiempo
S.O comunes: Windows y Linux
29. 2.4 Sistemas Operativos de
computadoras personales
S.O. para ordenadores personales
Todos los S.O modernos soportan la multiprogramación
Su misión es presentar un buen soporte para un único
usuario.
Su principal uso procesamiento ⇒ de textos, hojas de
cálculo, acceso a Internet, etc.
S.O comunes: Windows (XP, Vista, 7), Linux, Macintosh
30. 2.5 Sistemas Operativos
Computadoras de bolsillo
➔Son cada vez más pequeños
➔PDA (Personal, Digital, Assitant, Asistente personal digital)
➔PDA tiene funciones limitadas (libreta de direciones
➔Electrónica, bloc de notas)
➔Telefonos celulares similares a PDAs sin teclado y pantalla
➔Usan CPUs de 32 bits
➔Sofisticado S.O (telefonía, fotografía digital, y otras func).
➔Ejecutan aplicaciones desarrolladas por terceros
➔S.O disp bolsillo se asemejan a S.O de PC de hace 10 años.
➔Diferencia entre PC y disp bolsillo es q el 1ro disco duro cientos GB
➔Dos S.O mas populares son Symbiam OS, Palm OS, IOS y ANDROID.
31. 2.6 Sistemas Operativos en
tiempo real
➔El tiempo es un parametro clave
➔Utilizados en sist control procesos industriales
➔Recogen datos del proceso de producción para controlar maq fabrica.
➔Son sistemas en tiempo real duro (acciones en tiempo preciso, por ej
➔robot soldador de autos, procesos industriales controlando máquinas
de producción, controladores de aviación, centrales nucleares, etc)
➔Son tamb sistemas en tiempo real suave (ocasionalmente pueden
➔fallar en un tiempo determinado por ej, sist de audio digital, multimedia
➔telf digitales)
➔S.O comp bolsillo, sist integrados tienen caract de tiempo real suave
➔S.O integrados y tiempo real solo ejecutan soft de los diseñadores
➔S.O de comp bolsillo y S.O integrados diseñados p' consu finales
➔S.O tiempo real adecuados para uso industrial.
➔S.O conocidos e-Cos, VxWorks y QNX
32. 2.7 Sistemas Operativos de
tarjetas inteligentes
➔Son los S.O más pequeños con restriciones de procesamiento y
memoria
➔Contienen un Chip de CPU
➔Algunas tarjetas se energisan con lector
➔Poseen limitadas funciones, hasta una solo por ej, pagos electronicos
➔Algunas tarjetas inteligentes funcionan con java (ROM tiene interprete
JVM)
➔Varios applets en ejecución conlleva al multiprocesamiento
y la nececidad de planificación.
36. 3.1 Estructura del
Computador
Existen cuatro componentes estructurales
principales:
Unidad Central de procesamiento (CPU):
Controla el funcionamiento del computador
y se encarga del procesamiento de datos.
Memoria principal: Almacena Datos
E/S : Transfiere datos entre el computador y
el entorno externo
Sistema de Interconexión: proporciona la
comunicación entre la CPU, memoria
principal y la E/S.
38. El componente mas complejo e interesante es la
CPU y sus principales componentes estructurales
son:
Unidad de Control: Controla el funcionamiento de
la CPU y por lo tanto de todo el computador.
Unidad aritmético-lógica (ALU): Es la encargada
del procesamiento de datos del computador.
Registros: Proporcionan almacenamiento interno
a la CPU.
Interconexiones CPU: son los mecanismos que
proporcionan comunicación entre la unidad de
control, la ALU y los registros.
39. Grafica de los componentes del la Unidad Central de Procesamiento o CPU
41. Funciones generales del
Existen cuatro funciones básicas que
un computador puede llevar a cabo:
➔Procesamiento de datos
➔Almacenamiento de datos
➔Transferencia de datos
➔Control
computador
43. Actividad Practica n°2
Esquematize la estructura básica del computador
➔Explique desde su perspectiva que funciones principales realizan
estos componentes
➔Grafique y explique la arquitectura que tiene un procesador
multinucleo (INTEL y AMD)
45. 4.1 Estructura del S.O
Gráfica de la estructura funcional del sistema operativo
46. … Continua estructura de S.O
El sistema Operativos es la plataforma donde se
ejecutan los programas.
• Multiprogramación:
Incrementa el uso de la CPU
Orgaziza los trabajos p'CPU ejecute almenoos
uno.
Mantiene un subconjunto de trabajos del
conjunto de trabajos que estan en la cola de
espera.
La cola se encuentra en disco
Un trabajo puede esperar para completar una
tarea (op E/S) pero la CPU cambia de trabajo y
ejecuta otro.
47. … Continua estructura de S.O
Los sistemas multiprogramados aprovechan
eficazmente los recursos del sistema (CPU,
memoria y Periféricos)
Tiempo compartido o multitarea es una
extensión lógica de la multiprogramación.
Un S.O. De tiempo compartido permite que
muchos usuarios comparta
simultaneamente la computadora.
48. … Continua estructura de S.O
Tiempo compartido.- es asignar un tiempo
pequeño de CPU para cada usuario.
• Sistema de tiempo compartido =
Multiprogramación + Planificación de la
CPU
Un programa cargado en memoria y en
ejecución se denomina Proceso
49. … Continua estructura de S.O
Como la RAM es pequeña para cargar todos
los trabajos, estos se mantienen
inicialmente en disco, en la cola de espera
• Planificador de trabajos.- decide que
trabajos es cargado de memoria virtual a
memoria principal
• Gestión de memoria.- organiza el espacio
de memoria para los programas que han
sido cargado o van hace cargados
50. … Continua estructura de S.O
Planificador de la CPU .-decide que trabajo
cargado en memoria va hacer ejecutado.
• Gestión de Archivos.- Administra
información de /los Discos Duros
•
• Mecanismos de Protección.- Protección de
recursos del sistemas.
51. ...Continua operaciones del S.O
Los S.O modernos operan mediante
interrupciones (instrucciones de E/S) y
Excepciones: Errores que pueden generar los
programas en ejecución.
Operación en modo dual = Modo usuario y
Modo supervisor.
Cuando se ejecuta una aplicación de usuario el
S.O. se encuentra en modo usuario; sin
embargo cuando dicha aplicación solicita un
servicio del S.O. A través de una llamada al
sistema pasa de modo usuario a modo
supervisor
TODOS LOS SISTEMAS OPERATIVOS
MODERNOS TRABAJAN EN MODO DUAL
53. ...Continua operaciones del S.O
TEMPORIZADOR: evita que un
programa de usuario entre en un
bucle infinito, asegurando de esa
manera que el S.O. Mantenga
siempre el control de la CPU.
El temporizador impide que un
programa de usuario se ejecute
durante un tiempo excesivo
54. 5. Gestión de Procesos
Programa en ejecución = Proceso
Un proceso necesita ciertos recursos como
CPU, Memoria, archivos y Dispositivos de
E/S.
Los procesos pueden ser: Procesos del
Sistema Operativo(Aquellos que ejecutan
códigos del sistema) y procesos de
usuario (Aquellos que ejecutan código de
usuario)
55. Actividades del la gestión de
procesos.-
- Crear y eliminar los procesos de usuario y
del sistema
- Suspender y reanudar los procesos
- Proporcionar mecanismos para la
sincronización de procesos
- Proporcionar mecanismos para la
comunicación entre procesos.
-Proporcionar mecanismos para el
tratamiento de los interbloqueos
56. 6. Gestión de Memoria
➔ Matriz de palabras con cientos de miles de millones
de posiciones distintas.
➔ Cada palabra (instrucción o dato) tiene una dirección
de memoria distinta.
● La memoria es compartida por la CPU y los
dispositivos de E/S (DMA)
●Ej DMA: bloques de datos de periferico a memoria y
viceberza sin la intervención CPU
● La CPU lee las instruciones durante el ciclo de
captación de instrucciones.
●
57. ● La CPU lee o escribe datos en memoria durante el
ciclo de captación de datos.
● La multiprogramación hace que se utilicen
mecanismos o tecnicas de gestión de memoria.
● La memoria principal es un recurso al que la CPU
puede acceder directamente.
● Los programas deben estar en memoria antes de
poder ser ejecutados.
58. El SO gestiona la memoria y para ello debe ser
capaz de:
- Llevar el control de los bloques de memoria
actualmente usados por los procesos
- Decidir qué procesos o datos se deben cargar o
extraerlos de memoria
- Asignar y liberar espacios de memoria según las
nececidades
59. 7. Gestión de
Almacenamiento
➔ El S.O administra la información por medio de
archivos.
➔ Cada medio de almacenamiento tiene una
organización física diferente por ende diferentes formas
lectura y escritura, pero este trabajo no es del S.O sino
del controlador del periferico.
● Todos los medios de almacenamiento difieren en
cuestiones de velocidad de aceso, capacidad, velocidad
de transferencia y metodo de acceso.
60. El S.O en la gestion de archivos es responsable de:
Crear y eliminar archivos o directorios del disco o
disposivos de almacenamiento secundario.
➔ El S.O es resonsable tambien de las sig actividades:
Administración del espacio libre
Asignación del espacio de almacenamiento
Planificación del disco
Formateo de discos
Control del sector de arranque
Manejo de bloques defectuosos
Administración del espacio de intercambio
61. La memoria caché es un sistema de almacenamiento
más rápido que la RAM por ello se copia temporalmente
una pequeña parte de memoria RAM a la cahe.
El uso de memoria caché garantiza una mayor
velocidad de procesamiento
La tranferencia de datos de Cache a los reg de la CPU
es una funcion hardawre no interviene el S.O.
62. 8. Sistemas de E/S
Existen los SubSistemas(Control de un
hardware específico) de E/S que
ocultan al usuario y al propio S.O.
Las características del hardware.
Estos subsistemas de E/S se componen
de varios componentes:
Un componente de gestión de
memoria que incluye
almacenamiento en búfer, gestión
de caché y gestión de colas.
Una interfaz general para controles
de dispositivo
Controladores para dispositivos de
hardware específico
63. 9. Protección y seguridad
Se emplean estos mecanismos para
asegurar los procesos que van a
utilizar los recursos (Archivos,
segmentos de memoria , CPU, ),
hayan obtenido la debida
autorización del S.O.
Un recurso desprotegido no puede
defenderse contra el uso (mal
uso)de un usuario no autorizado o
intruso
Es responsabilidad de los
mecanismos de seguridad defender
al sistema frente a ataques internos
y externos (Virus, Gusanos, etc)
64. Protección y seguridad
La protección y seguridad requiere que el
sistema pueda distinguir a todos los
usuarios, identificándolos con un ID de
usuario y en algunos S.O. ID de grupos,
estos están relacionado con los procesos
e hilos de ese usuario.
Ejm: Permiso de solo lectura a un archivo
para un usuario o un grupo de usuarios
65. 10. Estructuras de Sistemas
Operativos
Esta unidad tiene como objetivo analizar
los servicios que presta un sistema
operativo a los usuarios, a los procesos y
a otros sistemas.
Veremos también como estructurar un
sistema operativo para finalmente
analizar cómo se instalan, personalizan y
arrancan los S.O.
66. 10.1 Servicios del Sistema
Operativo
Existen algunos servicios que los sistemas
operativos dan a los usuarios, procesos y
otros sistemas
Los servicios del S.O facilitan la tarea de
desarrollo al programador
Entre los principales servicios que
proporciona el S.O tenemos:
67. ...Continua Servicios del
Sistema Operativo
a. Interfaz de usuario
Generalmente se definen tres formas
(interfaz) en que el usuario puede
interactuar con el sistema operativo
68. ….Continua Servicios del
Sistema Operativo
1. Interfáz Gráfica:
Conocidas como interfaces gráficas de
usuario (GUI)
La GUI presenta al usuario un sistema de
ventas y menus que permiten ser
manipuladas por el mouse.
Por ej: el esritorio grafico de cualquier
sistema operativo.
69. ...Continua Servicios del
Sistema Operativo
Los íconos representan programas,
archivos, directorios y funciones del
sistema
La primera GUI vino con la computadora
Xerox Alto en 1973
70. ...Continua Servicios del
Sistema Operativo
La primera GUI de Windows vino con la
versión 1.0
Entre las GUI más conocidas están:
CDE (Common Desktop Environment)
X-Windows
AIX de IBM
KDE (K Desktop Environment) (Linux y Unix)
GNOME (proyecto GNU) (Linux y Unix)
71. … Continua Interfaz de usuario del
Sistema Operativo
AIX DE IBM Kde ubuntu
Gnome Linux y Unix
72. 2.Linea de Comandos:
En la cual el usuario ingresa comandos uno a uno, a
través del teclado.
Los interpretes de comandos pueden trabajar de dos
formas:
La primera es que el propio interprete contenga el
código que el comando tiene que ejecutar (MS-DOS)
La segunda es que el interprete busque el archivo
que contiene el código necesario lo carga en
memoria y lo ejecuta pasandole como parametro el
nombre y la extensión del archivo: Ej: (Unix, Linux)
rm file.txt
73. ...continua Servicios del
Sistema Operativo
3. Por lotes:
En el cual todos los comandos necesarios
son colocados en un archivo, desde donde
el Sistema Operativo los extrae y ejecuta.
Como ejemplo de una interfaz por lotes:
piense en las tareas de respaldo que
deben hacer todos los días los bancos.
74. ...continua Servicios del
Sistema Operativo
b. Ejecución de programas
El S.O carga los programas a la RAM y
ejecuta dischos programas
c. Operaciones de E/S
Un proceso en ejecución puede
nececitar de una operación de E/S.
El S.O administra los perifericos que el
programador y el usuario no puede
hacerlo
75. ...continua Servicios del
Sistema Operativo
d. Sistema de archivos
El S.O puede leer y escribir archivos,
crear, eliminar, copiar, mover, buscar,
asignar privilegios de acceso a los
archivos y directorios
e. Comunicaciones
El S.O transfiere información entre
procesos locales del computador o
procesos remotos a travez de una red
de datos
76. ...continua Servicios del
Sistema Operativo
f. Detección de errores
El S.O detecta los errores de ejecución
y realiza la acción apropiada para
manter la funcionalidad del sistema.
Existen otros servicios que le sirven al
propio sistema, estas son:
77. ...continua Servicios del
Sistema Operativo
g. Asignación de Recursos:
El S.O se encarga de asignar los recursos
necesarios a varios usuarios o procesos
simultanenamente.
Recursos como:
Ciclos de CPU
Memoria RAM
Espacio en disco
Dispositivos de E/S
Para aisgnar de mejor manera la CPU el S.O
utiliza las rutinas de planificación.
78. ...continua Servicios del
Sistema Operativo
h. Responsabilidad
El S.O utiliza runinas que le permiten
guardar información del uso de los recursos
por parte de los usuarios.
El S.O almacena información estadistica que
sirve posteriores reconfiguraciones del
sistema y procesos de auditoria
79. ...continua Servicios del
Sistema Operativo
i. Protección y seguridad:
El S.O se asegura de que todos los accesos a
los recursos del sistema por parte de varios
procesos concurrentes sea controlado
El S.O garantiza la seguridad del sistema
frente a posibles intrusos por medio de una
red de datos
El S.O tambien protege el acceso a los
recursos de E/S
81. 10.2 Llamadas al sistema
Las llamadas al sistema proporcionan
la interfaz necesaria para obtener los
servicios del Sistema Operativo
(Interfaz de usuario, ejcución de
prog, Operaciones de E/S, Administ
de archivos, Comunicación, Deteción
de errores, gestión de recursos,
proteción y seguridad).
Las llamadas son rutinas escritas en C
y C++, pero hay otras escritas en
lenguaje ensamblador para funciones
del S.O realacionadas directamente
con el hardware
82. ...continua Llamadas al
sistema
Un programa pequeño utiliza muchas
llamadas al sistema pero los programas
grandes ejecutan miles de llamadas al
sistema por segundo.
Para evitar estas tantas llamadas los sistemas
operativos proporcionan al programador un
conjunto de funciones APIs (Interfaz de
programación de aplicaciones), que pueden
usarse especificando los parametros y los
valores de retorno necesarios por c/función.
83. ...continua Llamadas al
sistema
API win 32 para sistemas Windows.
API POSIX (En versiones de Unix, Linux
y Mac OS X)
API de Java, para diseñar programas
que se ejecutan sobre la máquina
virtual de Java.
84. ...continua Llamadas al
sistema
Las funciones API sirven invocar las
llamas al sistema que operan a nivel
del kernel del S.O
Las funciones API hacen que el
programador pueda construir
aplicaciones que se puedan ejecutar
en cualquier S.O que soporte la
misma API
Los lenguajes de programación
poseen la interfaz necesaria para
hacer llamadas a las funciones API
86. Tipos de llamada al sistema
Se dividen en 5 categorías principales.
1. Control de procesos
2. Administración de archivos.
3. Administrador de dispositivos
4. Mantenimiento de información.
5. Comunicaciones.
87. Tipos de llamada al sistema
Control de Procesos
Es un conjunto de rutinas dedicadas al
control los procesos que se estan
ejecutado para el éxito o fallo de los
mismos (se ejecutan a nivel de
kernel no visibles al usuario).
Dentro de estas rutinas están:
Terminar, Abordar
Cargar, ejecutar
88. Tipos de llamada al sistema
Control de Procesos
Crear procesos, Terminar procesos
Obtener atributos del proceso,
definir atributos del proceso
Esperar para obtener tiempo
Esperar suceso, señalar suceso
Asignar y liberar memoria
89. Tipos de llamada al sistema
Administración de Archivos
Entre las llamadas comunes de la
gestión de archivos tenemos:
Create, Delete, Open, Read, Write,
reposition, Close, mover, copiar,
pegar, buscar, etc
Todas estas operaciones son
dedicadas tambien a directorios.
Cada directorio o archivo contiene
atributos como son: Tipo de archivo,
códigos de protección, información
de usuario, atributos, etc
90. Tipos de llamada al sistema
Administración de Dispositivos
Son rutinas que permiten controlar el uso
de los recursos para los procesos en
ejecución.
Entre las funciones princ para la gestión
dispositivos o recursos estan request
(solicitar), release (liberar).
Entre las rutinas principales estan:
91. Tipos de llamada al sistema
Administración de Dispositivos
Solicitar dispositivo
Liberar dispositivo
Leer, escribir
Obtener atributos del dispositivo, Definir
atributos del dispositivo
Conectar y desconectar dispositivos
lógicamente
92. Tipos de llamada al sistema
Mantenimiento de información
El S.O. Mantiene información rederente a la
hora (time), y fecha (date), información
sobre el sistema, además mantiene
información de todos sus procesos y se
usan llamadas al sistemas para acceder a
esta información.
(Get process attributes y set process
attributes)
93. Tipos de llamada al sistema
Mantenimiento de información
Obtener la Hora o Fecha
Definir hora o fecha
Obtener datos del sistema
Obtener los atributos del proceso,
archivos y dispositivos
Establecer atributos de procesos archivos
o dispositivos
94. Tipos de llamada al sistema
comunicaciones
Existen dos formas de comunicación:
1.- Paso de mensajes(uso frecuente para
intercambiar pocos datos).- Los procesos
se comunican e intercambian mensajes
entre sí.
Antes de la comunicación entre procesos
debe establecerse una conexión (Locales
y remotos)
Todo proceso posee un id para que el S.O.
lo identifique
Los Procesos que reciben conexiones de
propósito especial se denominan
demonios y son los que dan permiso para
95. 10.3 Programas del sistema
Son los que brindan un cómodo
entorno para desarrollar y ejecutar
programas.
Categorías:
Administración de Archivos:
Manipulan o administran archivos y
directorios.
Información de estado: programas que
solicitan al sistema info de estado
(fecha, hora, cant de RAM, espacio
libre en disco, num usuarios, etc)
96. Programas del sistema
Modificación de archivos: Editores de
texto para crear y modificar
archivos almacenados en disco u
otros dispositivos de
almacenamiento.
Soporte de lenguaje de
programación.-compiladores,
ensambladores(código programador
+ código de lenguaje ), interpretes
para lenguajes de programación(C+
+, Java, Visual Estudio, etc)
97. Programas del sistema
Cargas y ejecución de programas.- Se
cargan los programas a memoria
para ser ejecutados.
Comunicación.-Proporcionan los
Mecanismos para crear conexi
hkoones entre procesos, usuarios y
computadoras.
Tanto los programas del sistema y de aplicación ayudan
Al usuario a facilitarse su trabajo
99. Objetivos del Diseño
● Se debe definir primero los objetivos y
especificaciones del sistema.
●Se debe tomar en cuenta los objetivos del
usuario y el sistema.
●Los objetivos de usuario estaán orientados
a un S.O facil, confiable, seguro y rapido.
●
●El diseño de los S.O difieren de acuerdo al
hardware y a los servicios que va a
brindar.
100. Objetivos del Diseño
● Se debe definir tambien los mecanismos y
políticas del sistema.
●De igual manera se debe definir las
politicas de implementación
101. Mecanismos y politicas
● Se debe separar y analizar con detalle
cuales serán los mecanismos y las
politicas del sistema.
●Los mecanismos se refieren al ¿como
hacer?
●Las politicas se refieren ¿que hacer?
●Las politicas pueden cambiar durante el
tiempo.
●Los mecanismos deben ser flexibles para
adaptarse a nuevas políticas
102. Mecanismos y politicas
● Las politicas son importantes para la
asignación de recursos (RAM, CPU, E/S)
●Los mecanismos nos indican como
implementar el sistema para cumplir las
politicas (algoritmos de planificación)
●La separación correcta de mecanismos y
políticas permiten construir un sistema
flexible.
●Los mecanismos deben adaptarse a
cualquier cambio de politicas
103. Implementación
● Una vez diseñado el sistema se debe
implementar con el lenguaje de
programación adecuado.
●El lenguaje más usual en la
implementación es el lenguaje C y
Ensamblador.
●Por ejemplo el MS-DOS de Microsoft fue
escrito en asembler y se acopla de
eficientemente a hardware con
arquitecturas Intel.
104. Implementación
● Los sistemas operativos linux y Windows
están escritos en lenguaje C y se acoplan
eficientemente a hardware defirentes
arquitecturas (portabilidad).
●Los S.O actuales usan rutinas escritas en
lenguaje de alto nivel con el fin de poder
atender a las peticiones de
procesamiento complejo que tienen las
grandes aplicaciones.
109. Estrucura Simple
● Las interfaces y niveles de funcionalidad
no estan bien separados.
● Los programas de aplicación pueden
aceder directamente a controladores (el
sistema es vulnerable).
● Posibles causas: caidas del sistema o
perdida de datos
●Sistemas pequeños y limitados que luegon
crecieron más allá de su alcance original
110. Estrucura Simple
● Por ej: MS-DOS
● Son conocidos como sistemas monoliticos
porque su estructura es de un solo nivel
●Son sistemas complejos de implementar y
mantener.
113. Estrucura en niveles
● Los sistemas operativos por niveles no
son limitados en funcionalidad.
●Su diseño es modular.
● Están divididos por niveles con diseño Top
– Down
●Son sistemas más flexibles de
implementar y mantener.
114. Estrucura en niveles
● En estos sistemas las capas superiores
solicitan las operaciones y servicios de
las capas inferiores.
●Cada nivel o capa oculta a los niveles
superiores la existencia de las
estructuras de datos, operaciones y
hardware.
● En los diseños mas recientes se utilizan
menor num de niveles con mas
funcionalidades por cada nivel.
115. Grafica de la estructura de un sistema operativo por niveles
116. Estrucura de sistemas microkernel
●Son sistemas operativos cuyo kernel es pequeño
ya que posee un mínimo de funciones porque la
mayoria esta implemetada en el espacio de
usuario.
●
●Se caract porque los componentes no esenciales
del kernel se implentaron el los programas del
sistema y espacio de usuario.
● La función principal del microkernel es
proporcionar un mecanismo de comunicación
entre los programas y los distintos servicios que
se ejecutan en el mismo espacio de usuario.
117. i
Estrucura de sistemas microkernel
●La comunicación se realiza mediante el paso de
mensajes.
●Los prog cliente y los servicios nunca
interactuan directamente ya que lo hacen
interambiando mensajes con el microkernel
●Ventajas:
Facilidad de expansión del S.O ya que se
modifica el espacio de usuario y no el kernel.
118. i
Estrucura de sistemas microkernel
● Proporciona mas seguridad y fiabilidad, ya que la
mayor parte de servicios se ejecutan como
procesos de usuario de tal manera que los
procesos del kernel quedarán mas protegidos.
● Varios S.O actuales utilizan el método de
microkernel.
Desventajas:
Baja el rendimiento a medida de que aumenta los
servicios en el espacio de usuario.
119. i
Estrucura de sistemas por módulos
● Posiblemente es la mejor metodología para crear
S.O ya que permite crear un kernel modular.
●Este diseño es habitual en las implementaciones
modernas de UNIX como Solaris, Linux y Mac OS.
● Es similiar que la estructura por niveles ya que el
kernel tiene interfaces bien definidas y protegidas
pero es más flexible ya que cualquier módulo
puede llamar a otro módulo.
●Es similar al microkernel ya que el módulo principal
posee funciones esenciales y sabe como cargar y
comunicarse con otros módulos y es más eficiente
ya que los módulos no nececitan intercambiar
mensajes con el módulo principal para
comunicarse
123. i
Máquinas Virtuales
●
● La máquina virtual se basa en una arquitectura por
niveles.
● Software que permiten compartir el mismo hardware,
pero operan en entornos diferentes (diferentes
sistemas Operativos); Es un duplicado virtual de la
maquina compuesta por (CPU, Memoria, Unidades
de disco tarjetas de interfaz (etc, etc)).
●La maquina virtual nececita un buen espacio en disco
para poder implementar la virtualización de todas
sus funciones.
124. i
Máquinas Virtuales
●
Implementación
● Consiste en realizar un duplicado exacto de la
maquina subayacente es decir deberá ejecutarse
en modo usuario y modo kernel.
●
●Las acciones tambien deben pasarse del modo
usuario virtual al modo kernel virtual tal como
sucede en la maquina real.
126. i Maquinas Virtuales
Ejemplos de MAQUINAS VIRTUALES
VMWARE (Proporciona la abstracción del hardware físico creando
máquinas virtuales)
Maquina Virtual de Java.-(Se implementa por encima del S.O. En muchos casos
también se implementan en un Chip)
127. i
Máquinas Virtuales
●
Ventajas
● Consolidación de servidores: convertir muchos servidores físicos en
virtuales. De este modo se aprovecha el hardware disponible de la
mejor manera posible.
·Recuperación ante desastres: las máquinas virtuales se pueden
salvar muy fácilmente, y además su estado se puede almacenar, por lo
que en caso de desastre se puede recuperar la información con rapidez.
·Pruebas de aplicaciones: en muchas ocasiones se necesita un
entorno limpio para probar una aplicación. Usar una máquina virtual
permite instalar un sistema operativo desde cero, probar la aplicación y
luego eliminar la máquina.
·Ejecución de entornos completos sin instalación ni
configuración: la posibilidad de descargar máquinas virtuales desde
Internet permite ahorrar tiempo en instalaciones y configuraciones.
Existen muchas máquinas virtuales con servidores LAMP (Linux, Apache,
mySQL y PHP) completos listos para ser usados, máquinas con gestores
de contenidos, wikis, etc., gratuitos y funcionales desde el primer
momento.
·Aplicaciones portátiles: con el uso de las máquinas virtuales se
pueden tener PCs completos listos para usar en dispositivos USB, lo que
puede ser de mucha utilidad para tener un entorno privado y usarlo en
cualquier PC.