Introducción y componenetes del sistema operativo
-
Upload
freddy-patricio-ajila-zaquinaula -
Category
Education
-
view
133 -
download
1
description
Transcript of Introducción y componenetes del sistema operativo
CARRERA DE INGENIERIA EN SISTEMAS
Docente:
SISTEMAS OPERATIVOS
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: [email protected]
Primera Parte:
Introducción y Componentes
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
1. Que es un sistema
operativo?
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.
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.
1.2. Esquema de componentes de un S. I.
1.2. Esquema de componentes de un S. I.
Esquema de llamadas alsistema
… 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.
1.3 Historia de los S.O
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
Charles Babbage (1792-1871 Máquina Analitica “Mecánica”)
Ada Lovelace Primera programadora del mundo, lenguaje ADA
ENIAC
2da Generación (1955–1965): Transistores ysistemas 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
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 trabajarcon ellos A su vez, el dispositivo de E/S inicia lasiguiente lectura Dispositivo y CPU trabajando a la vez
. Ideal si velocidad de CPU es ≈ E/S
3era Generación (1965–1980): Circuitos integradosy 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 InteractivoMás complejo
. Increíble crecimiento de computadoras
Ejemplos de S.O.: OS/360, MULTICS, UNIX, etc.
IBM/360 MODELO 30
IBM/360
4rta Generación (1980–A la Fecha): ComputadoresPersonales
. 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)
4rta Generación (1980–A la Fecha): ComputadoresPersonales
. 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)
2. TIPOS DE SISTEMAS
OPERATIVOS
➔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
2.1 Sistemas Operativos 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).
… Continua S.O de mainframe
➔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
2.2 Sistemas Operativos de servidores
➔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
2.3 Sistemas Operativos de multiprocesadores
S.O. para ordenadores personalesTodos 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
2.4 Sistemas Operativos de computadoras personales
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.
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
2.7 Sistemas Operativos de tarjetas inteligentes
➔Son los S.O más pequeños con restriciones de procesamiento ymemoria➔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 interpreteJVM)➔Varios applets en ejecución conlleva al multiprocesamientoy la nececidad de planificación.
2.8 Clasificación de los S.O
Actividad Practica n°1
Comparación de tipos de S.O
➔Nombre S.O➔Tipo➔Rendimiento (Monousuario, multiusuario, multiprocesamiento, shellprogramable, etc)➔Usos frecuentes ➔Costo➔Requisitos de sistema➔Fecha del lanzamiento
3. Estructura General del
computador y de un Sistema Informático
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.
3.1 Estructura del Computador
Grafica de la estructura del Computador
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.
Grafica de los componentes del la Unidad Central de Procesamiento o CPU
Grafica de los componentes de la unidad de control
Existen cuatro funciones básicas que un computador puede llevar a cabo:
➔Procesamiento de datos
➔Almacenamiento de datos
➔Transferencia de datos
➔Control
Funciones generales del computador
3.2 Estructura del sistema informático
Actividad Practica n°2
Esquematize la estructura básica del computador➔Explique desde su perspectiva que funciones principales realizanestos componentes➔Grafique y explique la arquitectura que tiene un procesadormultinucleo (INTEL y AMD)
4. Estructura y operaciones del un Sistemas Operativo
Gráfica de la estructura funcional del sistema operativo
4.1 Estructura del S.O
El sistema Operativos es la plataforma donde se ejecutan los programas.
• Multiprogramación:Incrementa el uso de la CPUOrgaziza 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 discoUn trabajo puede esperar para completar una
tarea (op E/S) pero la CPU cambia de trabajo y ejecuta otro.
… 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.
… 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
… 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
… 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.
… Continua estructura de 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
...Continua operaciones del S.O
...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
...Continua operaciones del S.O
5. Gestión de Procesos
Programa en ejecución = ProcesoUn 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)
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
➔ 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.●
6. Gestión de Memoria
● 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.
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
➔ 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.
7. Gestión de Almacenamiento
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 libreAsignación del espacio de almacenamientoPlanificación del discoFormateo de discosControl del sector de arranqueManejo de bloques defectuososAdministración del espacio de intercambio
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.
8. Sistemas de E/SExisten 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
9. Protección y seguridadSe 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)
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
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.
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:
...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
….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.
Los íconos representan programas, archivos, directorios y funciones del sistema
La primera GUI vino con la computadora
Xerox Alto en 1973
...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-WindowsAIX de IBMKDE (K Desktop Environment) (Linux y Unix)GNOME (proyecto GNU) (Linux y Unix)
...Continua Servicios del Sistema Operativo
… Continua Interfaz de usuario del Sistema Operativo
AIX DE IBM Kde ubuntu
Gnome Linux y Unix
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
...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.
...continua Servicios del Sistema Operativo
b. Ejecución de programasEl S.O carga los programas a la RAM y ejecuta dischos programas
c. Operaciones de E/SUn 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
...continua Servicios del Sistema Operativo
d. Sistema de archivosEl S.O puede leer y escribir archivos, crear, eliminar, copiar, mover, buscar, asignar privilegios de acceso a los archivos y directorios
e. ComunicacionesEl S.O transfiere información entre procesos locales del computador o procesos remotos a travez de una red de datos
...continua Servicios del Sistema Operativo
f. Detección de erroresEl 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:
...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 CPUMemoria RAMEspacio en discoDispositivos de E/S
Para aisgnar de mejor manera la CPU el S.O utiliza las rutinas de planificación.
...continua Servicios del Sistema Operativo
h. ResponsabilidadEl 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
...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
...continua Servicios del Sistema Operativo
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
...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.
...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.
...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
...continua Llamadas al sistema
Tipos de llamada al sistema
Se dividen en 5 categorías principales.
1. Control de procesos2. Administración de archivos.3. Administrador de dispositivos4. Mantenimiento de información.5. Comunicaciones.
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
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
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
Tipos de llamada al sistemaAdministració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:
Tipos de llamada al sistemaAdministración de Dispositivos
Solicitar dispositivo Liberar dispositivo Leer, escribir Obtener atributos del dispositivo, Definir
atributos del dispositivo Conectar y desconectar dispositivos
lógicamente
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)
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
Tipos de llamada al sistema
comunicacionesExisten 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 que se acceda la comunicación
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)
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)
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 conexihkoones entre procesos, usuarios y computadoras.
Tanto los programas del sistema y de aplicación ayudan Al usuario a facilitarse su trabajo
11. Diseño e implementación
del S.O
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.
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
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
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
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.
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.
12. Estructura del Sistema Operativo
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
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.
Grafica de la estructura de un sistema monolítico
Grafica de la estructura de S.O Unix
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.
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.
Grafica de la estructura de un sistema operativo por niveles
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.
iEstrucura 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.
iEstrucura 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.
iEstrucura 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
iEstrucura de sistemas por módulos
●
Grafica de la estructura de un sistema operativo MAC OSX
13. Máquinas Virtuales
iMá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.
iMá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.
iMáquinas Virtuales
● ●
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)
iMá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.
iMáquinas Virtuales
●