Está en la página 1de 24

Conceptos de sistemas

operativos

Prof. Alejandro Miños


Bibliografía
 Tanenbaum, A. (2009). Sistemas Operativos
Modernos (3ª ed.). Pearsons Educación,
México.
 http://xml.cie.unam.mx/xml/Linux/glinux.html#t
oc2
http://www.juntadeandalucia.es/empleo/recursos/
material_didactico/especialidades/materialdidactic
o_administrador_servidores/Content/1-so/2-
Windows.pdf
¿Qué es un sistema operativo?
Capa de software especializada, especializada en
“la administración de todos los recursos” (p. 1) de
la computadora:
Memoria.
Disco.
Procesos.
Brindan acceso a recursos y los administran.
Tiene acceso a todo el hardware y puede ejecutar
cualquier instrucción, modo kernel; distinción
conceptual, procesos de usuario pueden
ejecutarse en modo kernel.
Características
 Abstracción: el programador no se preocupa
por la implementación del hardware, ni como se
resuelven los problemas de alto nivel.
 El programador de aplicaciones como “cliente”.
 Administra recursos: ¿cómo ejecutar
programas concurrentemente?, ¿cómo
administrar el sistema de archivos?, ¿cómo
crear procesos?, etc.
Características
 Abstracción: el programador no se preocupa
por la implementación del hardware, ni como se
resuelven los problemas de alto nivel.
 El programador de aplicaciones como “cliente”.
 Administra recursos: ¿cómo ejecutar
programas concurrentemente?, ¿cómo
administrar el sistema de archivos?, ¿cómo
crear procesos?, etc.
Características
 Brinda un entorno de trabajo amigable.
 Permite hacer uso de los recursos del sistema:
hardware y software:
 Como entorno para hardware o software.
 Permite ejecutar programas.
 Enmascara la implementación del hardware.
Evolución de sistemas operativos
 1945 a 1955: tubos de vacío
 Colossus, Z3, Mark I, ENIAC.
 Diseñadores y operadores la misma persona.
 Programación cableada, uso de tarjetas.
 Debuguear.
 1955 a 1965: transistores y lotes
 Distintos roles.
 FORTRAN o ensamblador, uso de tarjetas.
 Carga, ejecución, carga y ejecución.
 1965 a 1980: circuitos integrados y
multiprogramación
 Estandarización y compatibilidad, un único sistema
para todo. Errores y complejidad.
 Multiprogramación, administrar el ocio.
 Tiempo compartido, muchos usuarios y un sistema
que administra los recursos.
 MULTICS: complejo, lenguaje de programación,
hardware.
 UNIX... y LINUX: académico, código fuente, etc.
 Desde 1980: computadoras personales
 Mayor potencia de hardware.
 Amigabilidad con el usuario final, alta interactividad.
 CP/M y DOS; Windows 3.0; Windows 9x...
Windows NT.
 Sistemas distribuidos: coordinación de
procesadores, memoria, disco, comunicación, etc.
Interacción sistema operativo -
hardware
 Procesador:
 Conjunto de instrucciones específicas.
 Contador de programa.
 Apuntador a pila del proceso.
 Código de condiciones: condiciones, modo, etc.
 Pipeline, hilos y núcleos.
 Memoria y Disco:
 Memoria virtual
 Entrada – Salida:
 Proceso relativamenten lento.
 Interfaz estandarizadas y drivers.
 Modo Kernel para su uso.
 Interrupciones.
Estructuras de sistemas operativos
Sistemas monolíticos
 Todo el sistema está en un único programa
ejecutado en modo kernel.
 Es como tener todo el programa en un único
módulo o clase; aunque existen varios.
 No hay ocultamiento de la información.
 La jerarquía se realiza por invocación.
 Velocidad de ejecución, dificultad para
mantenerlo y comprenderlo.
Sistemas en capas
 Capa Capa está asociada a funcionalidades.
 Estructura jerárquica.
 Cada capa determina sus interfaces de
comunicación.
 Mantenimiento fácil, organización lógica.
 Dificultad para identificar las capas.
 Lento respecto a monolítico.
Sistemas en capas
Microkernel
 Módulo reducido, con privilegio de superusuario
y operaciones esenciales (procesos, manejo
mínimo de memoria).
 Resto de funcionalidades se ejecutan en modo
usuario; en caso de error el kernel informa,
pero el sistema sigue estable (memoria solicita,
kernel administra).
 Manejo de mensajes.
 Núcleo seguro, confiable, estable.
Microkernel
Cliente – Servidor
 Petición (cliente) – Respuesta (Servidor).
 Manejo de mensajes.
 Especialmente orientado a redes.
Caso de estudio: Linux
 Microkernel.
 Ampliamente usado en servidores.
 Varias distribuciones.
 Manejo de scripts.

También podría gustarte