Академический Документы
Профессиональный Документы
Культура Документы
Recordando
¿Cuáles son los elementos que integran un sistema informático?
Hardware Datos
Software Personas
¿Qué es un ordenador?
El sistema operativo.
Cuando se requiere guardar un archivo, el sistema operativo
busca en la FAT un área disponible, almacena el archivo y,
finalmente, lo identifica con su ubicación en la FAT.
Software de sistema
Le dice al ordenador cómo usar sus propios componentes.
Software de aplicación
Le dice al ordenador cómo realizar tareas específicas
para el usuario.
Software de sistema
A esta categoría pertenecen todos los programas que
denominamos Sistemas Operativos.
Sistema Operativo
La Interfaz Gráfica
Menú
Ventana
1) Comunicación entre el usuario y el ordenador:
La interfaz de línea de comandos.
Su uso se basa en:
El conocimiento de los comandos que
pertenecen al sistema operativo, por parte del
usuario.
El teclado como dispositivo de entrada.
Una línea latente en la pantalla, donde el
usuario debe escribir cada comando. Esta línea
se conoce como prompt.
La Interfaz de línea de comandos
Línea de comandos
2) Carga en memoria RAM otros programas para su ejecución.
FAT
4) Administra el almacenamiento de la información.
Unidad
Archivo
Carpeta
Programas de productividad
Ventajas
Se obtiene rápidamente
Su costo es relativamente bajo
Desventajas
El usuario debe adaptarse a las características del programa
El programa podría no ajustarse a las necesidades del usuario
Modalidades de adquisición del Software
Ventajas
Con algunas modificaciones, el usuario obtiene los resultados
específicos que requiere.
Desventajas
No siempre se encuentra una opción válida en el mercado.
No siempre se logra una adaptación completa.
Puede crear dependencia del desarrollador.
Modalidades de adquisición del Software
Desventajas
Tiene costo relativamente elevado.
Toma más tiempo obtener el programa.
Modalidades de adquisición del Software
Software que se desarrolla completamente bajo las
especificaciones del usuario.
-ASÍNCRONOS -POCO
PREDECIBLE
-DIFERENTES
NECESIDADES DE LOS -DEPURACIÓN
USUARIOS COMPLICADA
MS-DOS
Capacidad de administrar información (32 o 64 bits)
WINDONWS 3.1
Estabilidad
WINDOWS 95
WINDOWS NT
SOLARIS
UBUNTU
KUBUNTU
FEDORA
UNIX
LINUX
ANDROID
Sistemas operativos más
utilizados:
Windows ( windows; 3.1, 3.1, NT, 95, 98, 00, XP, 7, 8) :
programa informático más conocido del mundo, utiliza los
ordenadores personales llamados “compatibles” y que ha
reemplazado al MS-DOS( primer sistema operativo par
microordenadores).
MS-DOS: Está compuesto por un conjunto de programas que
nos permiten comunicarnos con un ordenador personal, tanto
para darle órdenes como para recibir sus informaciones o
mensajes, cuya apariencia ere de texto y no de gráficos.
Unix: es el más extendido entre los grandes sistemas y
ordenadores llamados” Estaciones de trabajo”. En los últimos
años, se ha extendido un tipo especial de Unix, llamado; Linux
Mac-Os: se utiliza en ordenadores personales, pero en los
ordenadores de Apple llamados: Macintosh
Algunos Sistemas Operativos
MacOS Windows
Windows CE PalmOS
En el caso de MS-DOS está formado por dos archivos, que son: el
MSDOS.SYS y el IO.SYS.
El primero Realiza todas las opciones básicas de administración
de los elementos hardware del sistema (comunicación entre el
micro, la memoria, y los buses). El segundo es un DRIVER
(manejador) elemental, que rige y organiza las Entradas y Salidas
básicas del sistema ( I / O ), como la comunicación con consola
(teclado y monitor), las unidades de disco e impresora.
Voltaje al
procesador
programa
principal del memoria ROM
SFW
Controlador de Rutina q
Interrupciones inicializa el HW
• Manejo de interrupciones.
• Creación y destrucción de procesos.
• Cambio de estado de los procesos.
• Despacho.
• Suspensión y reanudación de procesos.
• Sincronización de procesos.
• Comunicación entre procesos.
• Manipulación de los bloques de control de procesos.
• Apoyo para las actividades de entrada/salida.
• Apoyo para asignación y liberación de memoria.
• Apoyo para el sistema de archivos.
• Apoyo para el mecanismo de llamada y retorno de un
procedimiento.
• Apoyo para ciertas funciones de contabilidad del
sistema.
Es el proceso encargado de traducir los comandos que los usuarios introducen, a instrucciones que el
sistema operativo entiende. Permite al usuario controlar los periféricos sin conocer las características del
hardware utilizado, la gestión de las direcciones físicas, etcétera.
Los shells de los sistemas operativos generalmente caen en dos
categorías según su interfaz:
ENTORN
O
GRÁFICO
Conjunto de formas y métodos que posibilitan
la interacción de un sistema con los
usuarios utilizando formas gráficas e
imágenes. Con formas gráficas se refiere a
botones, íconos, ventanas, fuentes, etc. los
cuales representan funciones, acciones e
información.
El sistema operativo Windows utiliza el Explorer
como su propio shell.
El Explorer provee el entorno de escritorio
típico de Windows con la barra de Inicio, la
barra de tareas, etc.
El sistema de archivos se basa en la administración de clústers, la
unidad de disco más chica que el sistema operativo puede
administrar, permite que los archivos se registren en una estructura
arbórea.
Es el mecanismo usado por una
aplicación para solicitar un servicio al
sistema operativo.
Dado que el hardware es
compartido por múltiples procesos,
el acceso a los recursos debe ser
administrado para garantizar su
correcto uso y evitar problemas de
seguridad(si procesos
malintencionados desean acceder
a recursos asignados a otros
procesos). Por estas razones, en
los sistemas duales, el acceso al
ambiente físico es manejado
exclusivamente por el Sistema
Operativo.
llamada al
sistema
Instrucciones
tarea finaliza de código de
alto nivel.
Compiladores
Ensambladores
programas del
Editores
sistema
Utilerías
Bibliotecas
COMPILADORES: Son programas que traducen
Programas Fuente en programas Objeto, Un
compilador es un programa informático que
traduce un programa escrito en un lenguaje
de programación a otro lenguaje de
programación, generando un programa
equivalente que la máquina será capaz de
interpretar.
ENSAMBLADORES: se refiere a un tipo de
programa informático que se encarga de
traducir un fichero fuente escrito en un
lenguaje ensamblador, a un fichero objeto
que contiene código máquina
UTILERIAS:
En informática, una
utilidad es una
herramienta que sirve
de soporte
para la construcción y
ejecución de
programas, en donde
se incluyen las
bibliotecas de sistema,
middleware,
herramientas de
desarrollo, etc.
A) UTILERÍAS DEL SISTEMA
C) UTILERÍAS INDEPENDIENTES
Carga del
Sector de Chequeo de la
Sistema
Arranque Configuración
Operativo
Carga Boot
Manager y
Carga del S. O.
ARRANQUE DEL SISTEMA
UNIDADES
Microproces Tarjeta de RAM TECLADO DE DISCO
ador Video
(DRIVERS)
ARRANQUE DEL SISTEMA
Algunos sistemas, como los teléfonos móviles, los PDA (Asistente Digital
Personal) y las consolas de juegos, almacenan todo el sistema operativo
en ROM. El almacenamiento del sistema operativo en ROM resulta
adecuado para sistemas operativos pequeños, hardware auxiliar
sencillo y dispositivos que operen en entornos agresivos. Un problema
con este método es que cambiar el código de arranque requiere
cambiar los chips de la ROM. Algunos sistemas resuelven este problema
usando una EPROM (erasable programmable read-only memory), que
es una memoria de sólo lectura excepto cuando se le proporciona
explícitamente un comando para hacer que se pueda escribir en ella.
Todas las for•mas de ROM se conocen también como firmware, dado
que tiene características intermedias entre las del hardware y las del
software.
ARRANQUE DEL SISTEMA
1. BIOS
Busca, carga y ejecuta el programa de arranque (boot loader).
Echa una mirada buscando el boot loader en floppy, cd-rom, o disco
duro, el BIOS carga y ejecuta el boot loader que se encuentra en el
3. GRUB
Este carga la imagen del kernel establecida por defecto en el fichero de
configuración de GRUB.
GRUB tiene conocimiento acerca del sistema de archivos, el fichero de
configuración de GRUB es /boot/grub/grub.conf o /boot/grub/grub.cfg
Entonces, en pocas palabras, GRUB carga y
ejecuta el kernel y la imagen initrd.
Ejemplo del fichero GRUB de CENTOS:
#boot=/dev/sda default=0 timeout=5
splashimage=(hd0,0)/boot/grub/splash.x pm.gz hiddenmenutitle CentOS
(2.6.18-194.el5PAE) root (hd0, 0) ro
94.el5PAE kernel
root=LABEL=/ initrd /bo
/boot/vmlinuz-2.6.18-1 ot/initrd-2.6.18-
194.el5PAE.img
El Kernel monta el sistema de archivos raiz como lo especifica "root=" en el
fichero de configuración de GRUB.
Ejecuta el programa /sbin/init.
initrd significa Initial RAM Disk, initrd es utilizado por el kernel como un sistema de
archivos raíz temporal hasta que el kernel es cargado y el sistema de archivos
real es montado. Además contiene controladores necesarios compilados
ARRANQUE DEL SISTEMA
INICIALIZACIÓN
Muchos de estos
elementos precisan de la
inicialización de registros,
carga de parámetros y
determinadas señales
para ponerlos en orden de
funcionamiento.
BIOS CONCEPTOS
Tabla de vectores de
interrupción
Memoria de la BIOS
Mensaje indicando
Mensajes de otros Revisión de la
como acceder a l
dispositivos Disco memoria Ram y su
BIOS,("Press Del to
duro por ejemplo. tamaño.
enter CMOS Setup“)
BIOS CONCEPTOS
Quick Power On
CPU Internal Cache External Cache:
Self Test
• Es altamente • Esta opción • Activando esta
recomendable también debe opción se acelera
que esta opción estar activada el POST y gana
este activa (la para poder hacer unos segundos en
marquemos como uso de la caché el arranque del
“Enabled”) esta externa o caché sistema.
opción, ya que en L2. Generalmente, no
caso contrario existe ningún
estaremos problema por
deshabilitando la tenerla activada.
caché interna del
procesador.
BIOS CONCEPTOS
Manejo
BIOS Features Setup básico de la BIOS
Boot Sequence Swap Floppy Drive: Security Option:
Entre sus opciones, permiten a los puertos USB, habilitar el soporte para
teclado USB, el tipo de bus AGP, etc. Estos elementos no deben
modificarse, ya que normalmente vienen configurado por defecto para un
funcionamiento correcto.
Sin embargo, las últimas placas bases permiten ajustar la frecuencia del
procesador mediante la BIOS en vez de usando los típicos jumpers.
Normalmente dicha configuración se encuentra en este apartado de la
BIOS, por lo que a muchos overclockers (personas que intentan hacer que
su procesador vaya más rápido que lo establecido de fábrica) les
interesarán las opciones que éste apartado puede ofrecer. Entre ellas
destacan la posibilidad de cambiar el FSB de la placa base o el
multiplicador del procesador.
BIOS CONCEPTOS
Manejo básico de la BIOS
Power Management Setup
En este apartado se configuran las opciones de ahorro de energía
del ordenador.
Manejo básico de la
BIOS
Power Management Setup
CPU Fan Off in MODEM/LAN
PM Events Wake Up
Suspend
Aquí se Determina si un
establece los Determina si el modem o una
eventos que se ventilador del tarjeta de red
han de controlar procesador se puede hacer
para el apagado apaga en caso que se encienda
del equipo. del que el el ordenador.
sistema entre en
estado de ahorro
de energía.
BIOS CONCEPTOS
Actualización de la BIOS
La BIOS se encuentra en un chip Flash-ROM, los fabricantes pueden
sacar nuevas versiones de la BIOS para incorporar nuevas funciones,
corregir fallos u optimizar funciones.
Hay que ir a la página del fabricante de la placa base, buscar el
modelo y descargar la última versión de la BIOS disponible. Realizar
este proceso sólo es recomendable en caso de que necesitemos
alguna nueva funcionalidad que incorporen la nueva BIOS. Si todo
funciona correctamente, no hay motivo por el que actualizar la BIOS.
DISEÑO DE UN SISTEMA OPERATIVO
MECANISMOS Y POLÍTICAS
Los mecanismos determinan cómo hacer algo; las políticas
determinan qué
hacer.
La separación de políticas y mecanismos es importante por
cuestiones de flexibilidad.
IMPLEMENTACIÓ
N ahora se escriben en lenguajes de alto nivel
Tradicionalmente, los sis•temas operativos tenían que escribirse en lenguaje
ensamblador. Sin embargo,
como C o C++.
Los sistemas opera•tivos Linux y Windows XP están escritos en su mayor parte
en C, aunque hay algunas pequeñas secciones de código ensamblador
para controladores de dispositivos y para guardar y restaurar el estado de
registros.
1.El código puede escribirse más rápido, es más compacto y más fácil de
entender y depurar.
2.La tecnología de compiladores permitirá mejorar el código generado
para el sistema operativo completo, mediante una simple recompilación.
3.Es más fácil de portar (trasladar a algún otro hard•ware) si está escrito en
un lenguaje de alto nivel
DISEÑO DE UN SISTEMA OPERATIVO
IMPLEMENTACIÓN
Las posibles desventajas de implementar un sistema operativo en un
lenguaje de alto nivel se reducen a los requisitos de velocidad y de
espacio de almacenamiento.
Aunque los sistemas operativos tienen un gran tamaño, sólo una pequeña
parte del código resulta crítica para conseguir un alto rendimiento; el gestor
de memoria y el planificador de la CPU son probablemente las rutinas más
críticas. Después de escribir el sistema y de que éste esté funcionando
correctamente, pueden identificarse las rutinas que constituyan un cuello
de botella y reemplazarse por equivalentes en lenguaje ensamblador.
Pruebas de carga
PRUEBAS DE
RENDIMIENTO
Este es el tipo más sencillo de pruebas de rendimiento. Una prueba de carga
se realiza generalmente para observar el comportamiento de una aplicación
bajo una cantidad de peticiones esperada. Esta carga puede ser el número
esperado de usuarios concurrentes utilizando la aplicación y que realizan un
número específico de transacciones durante el tiempo que dura la carga.
Esta prueba puede mostrar los tiempos de respuesta de todas las
transacciones importantes de la aplicación. Si la base de datos, el servidor de
aplicaciones, etc también se monitorizan, entonces esta prueba puede
mostrar el cuello de botella en la aplicación.
DISEÑO DE UN SISTEMA OPERATIVO
PRUEBAS DE
RENDIMIENTO
Prueba de estrés
Esta prueba se utiliza normalmente para romper la aplicación. Se va
doblando el número de usuarios que se agregan a la aplicación y se
ejecuta una prueba de carga hasta que se rompe. Este tipo de prueba
se realiza para determinar la solidez de la aplicación en los momentos
de carga extrema y ayuda a los administradores para determinar si la
aplicación rendirá lo suficiente en caso de que la carga real supere a la
carga esperada.
Prueba de estabilidad (soak testing)
Esta prueba normalmente se hace para determinar si la aplicación
puede aguantar una carga esperada continuada. Generalmente esta
prueba se realiza para determinar si hay alguna fuga de memoria en la
aplicación.
Pruebas de picos (spike testing)
La prueba de picos, como el nombre sugiere, trata de observar el
comportamiento del sistema variando el número de usuarios, tanto
cuando bajan, como cuando tiene cambios drásticos en su carga. Esta
prueba se recomienda que sea realizada con un software
automatizado que permita realizar cambios en el número de usuarios
mientras que los administradores llevan un registro de los valores a ser
monitoreados.
DISEÑO DE UN SISTEMA OPERATIVO
shells y comandos
compiladores e intérpretes
bibliotecas del sistema
MICROKERNE
L
Este método estructura el sistema operativo eliminando todos los
componentes no esenciales del kernel e implementándolos como programas
del sistema y de nivel de usuario; el resultado es un kernel más pequeño,
normalmente los microkernels proporcionan una gestión de la memoria y de
los procesos mínima, además de un mecanismo de comunicaciones.
La función principal del microkernel es proporcionar un mecanismo de
comunicaciones entre el programa cliente y los distintos servicios que se
ejecutan también en el espacio de usuario, estos nunca interactúan
directamente, sino que se comunican de forma indirecta intercambiando
mensajes con el microkernel.
DISEÑO DE UN SISTEMA OPERATIVO
MICROKERNE
El sistema operativo resultante es más fácil de portar de un diseño hardware a
otro. El microkernel tambiénLproporciona más seguridad y fiabilidad, dado que
la mayor parte de los servicios se ejecutan como procesos de usuario, en lugar
de como procesos del kernel. Si un servicio falla, el resto del sistema operativo
no se ve afectado.
Módulos
Quizá la mejor metodología actual para diseñar sistemas operativos es la que
usa las técnicas de programación orientada a objetos para crear un kernel
modular. En este caso, el kernel dispone de un conjunto de componentes
fundamentales y enlaza dinámicamente los servicios adicionales, bien durante
el arranque o en tiempo de ejecución.
Tal estrategia utiliza módulos que se cargan dinámicamente y resulta habitual
en las implementaciones modernas de UNIX, como Solaris, Linux y Mac OS X.
Por ejemplo, la estructura del sistema operativo Solaris compuesto de:
1.Clases de planificación
2.Sistemas de archivos
3.Llamadas al sistema cargables
4.Formatos ejecutables
5.Módulos STREAMS
6.Módulos misceláneos
DISEÑO DE UN SISTEMA OPERATIVO
MICROKERNEL – NÚCLEO
SOLARIS
Clases de
Planificación
Controladores de bus y
dispositivos. Sistemas de
Archivos
Núcleo
central
Módulos de Solaris Llamadas al sistema
Miceláneos cargables
MICROKERNE
El patrón Microkernel define cinco tipos de componentes:
• Servidores internos
L
• Servidores externos
• Clientes
• Adaptadores
• Microkernel
Servidores internos
También conocidos como subsistemas, extienden la funcionalidad
proporcionada por el microkernel. Representa un componente
separado que ofrece funcionalidad adicional.
Por ejemplo, controladores de dispositivos que soporten tarjetas gráficas
específicas son buenos candidatos para servidores internos.
Servidor Externo
Los servidores externos exponen su funcionalidad exportando interfaces
en la misma manera que el kernel lo hace. Cada uno de estos
servidores externos corre en un proceso separado. La implementación
de los servicios confía en los mecanismos del microkernel luego
acceden a sus interfaces de programación.
DISEÑO DE UN SISTEMA OPERATIVO
MICROKERNE
L
Adaptadores
La introducción de interfaces entre clientes y sus servidores externos protege a
los clientes de dependencias directas. Los adaptadores, también conocidos
como emuladores, representan
estas interfaces y permiten a los clientes acceder a los servicios de su servidor
externo de forma portable. Son parte del espacio de direcciones del cliente.
Cliente
Un cliente es una aplicación que está asociada con exactamente un servidor
externo, solamente accede a la interfaz de programación proporcionada por
este.
Cada comunicación conun servidor externo debe ser codificada en
el código cliente lo que trae varias desventajas:
–El sistema no soporta modificabilidad muy bien.
–Si los servidores externos emulan plataformas de aplicación existentes sus
aplicaciones no correrán sin modificación.
DISEÑO DE UN SISTEMA OPERATIVO
MICROKERNEL -
CLASE FUNCIONALIDAD
Servicios Internos
COLABORADORES
Microkernel
CLASE
Servicios Externos
COLABORADORES
Microkernel
RESPONSABLE RESPONSABLE
• Implementaservicios • Provee interfaces de
adicionales. aplicación para clientes.
• Encapsula algunas
aplicaciones del sistema.
CLASE COLABORADORES
Adaptador Microkernel
Servicios Externos
CLASE COLABORADORES
Cliente Adaptador
RESPONSABLE
• Depende de una
comunicación que facilite
RESPONSABLE la interacción con el
•Representa una aplicación. cliente.
• Invoca los métodosde
servidores externos en
nombre de los clientes
DISEÑO DE UN SISTEMA OPERATIVO
MICROKERNEL -
FUNCIONALIDAD
EJERCICIO:
El decano de la FIE requiere de un documento donde se especifique la
lista de los estudiantes de la Escuela de Ingeniería en Control y Redes
Industriales, que se encuentren aptos para presentar su anteproyecto
de tesis, se necesita declarar las clases que intervienen en este proceso,
utilizando el siguiente esquema:
Vicedecano
Estudiantes Secretarias
DECANO
Directores de
Conserjes Escuela
DISEÑO DE UN SISTEMA OPERATIVO
NÚCLEO
MONOLÍTICO
Estos sistemas tienen un núcleo grande y complejo, que engloba todos los
servicios del sistema. Está programado de forma no modular, y tiene un
rendimiento mayor que un micronúcleo. Sin embargo, cualquier cambio a
realizar en cualquier servicio requiere la recompilación del núcleo y el reinicio
del sistema para aplicar los nuevos cambios.
Hay diversas ramificaciones de este diseño, que se han ido amoldando a
nuevas necesidades. Podemos citar el sistema de módulos ejecutables en
tiempo de ejecución, que le brinda al modelo de núcleo monolítico algunas
de las ventajas de un micronúcleo. Dichos módulos pueden ser compilados,
modificados, cargados y descargados en tiempo de ejecución, de manera
similar a los servicios de un micronúcleo, pero con la diferencia de que se
ejecutan en el espacio de momemoria
(anillo 0).del núcleo mis
DISEÑO DE UN SISTEMA OPERATIVO
NÚCLEO MONOLÍTICO -
FUNCIONALIDAD
Un sistema operativo con núcleo monolítico concentra todas las
funcionalidades posibles (planificación, sistema de archivos, redes,
controladores de dispositivos, gestión de memoria, etc) dentro de un gran
programa. El mismo puede tener un tamaño considerable, y deberá ser
recompilado por completo al añadir una nueva funcionalidad. Todos los
componentes funcionales del núcleo tienen acceso a todas sus
estructuras de datos internas y a sus rutinas. Un error en una rutina puede
propagarse a todo el núcleo.
DISEÑO DE UN SISTEMA OPERATIVO
NÚCLEO MONOLÍTICO -
FUNCIONALIDAD
EJERCICIO:
En una institución bancaria, se requiere realizar varias transacciones
por parte de los usuarios depósitos, retiros, pagos etc., ¿Cómo se
definiría un sistema monolítico utilizando esta estructura?
BANCO S.O.
Clientes
Cajeros/as
Transacción
NÚCLEO DEL SISTEMA
Sistema
Respuesta
DISEÑO DE UN SISTEMA OPERATIVO
NÚCLEO HÍBRIDO -
FUNCIONALIDAD
usuario.
Los núcleos híbridos fundamentalmente son
micronúcleos que tienen algo de código «no esencial», en
espacio de núcleo para que éste se ejecute más rápido
de lo que lo haría si estuviera en espacio de
NÚCLEO HÍBRIDO -
EJEMPLO
En un supermercado se tiene varios mostradores con productos de
primera necesidad, existen otros productos que se encuentran en vitrinas
y solo se pueden acceder a ellos a través de vendedores, ¿Cómo se
estructura un sistema híbrido usando esta estructura?
Cliente
Mostradores
Modo
Productos de
primera necesidad Usuario
Vendedores
Núcleo
Productos en
vitrinas
DISEÑO DE UN SISTEMA OPERATIVO
Tipos de Núcleos