You are on page 1of 76

UNIDAD 1

Introducción a los Sistemas


Operativos

MSc Noemí Lizbeth Llanos Martínez


Contenido
• ¿Qué hacen los sistemas operativos?
• Organización del sistema operativo y la computadora
• Arquitectura y Estructura del sistema operativo
• Operaciones del sistema operativo
• Gestión de proceso y de la memoria
• Administración de almacenamiento
• El Kernel
• Entornos computacionales
Objetivos
• Describir la organización básica de los sistemas informáticos
• Caracterizar los principales componentes de los sistemas
operativos
• Conocer una visión general de los muchos tipos de entornos
informáticos
• Explorar varios sistemas operativos de código abierto
Introduccion

¿Qué es un Sistema
Operativo?
¿Qué es un Sistema Operativo?
Según Tanenbaum:
“Es un programa que actúa como intermediario entre un
usuario de una computadora y el hardware de la
computadora”

• Cumple con los siguientes objetivos:


• Ejecute programas de usuario y facilite la solución de problemas del usuario
• Hace que el sistema de la computadora sea conveniente de usar
• Uso el hardware de la computadora de una manera eficiente
Estructura de un sistema informático
• Entiéndase como sistema informático:
• Hardware: proporciona recursos informáticos básicos
• CPU, memoria, dispositivos de E / S
• Sistema operativo: Controla y coordina el uso del hardware entre varias
aplicaciones y usuarios
• Programas de aplicación: definen las formas en que los recursos del sistema
se utilizan para resolver los problemas informáticos de los usuarios
• Por ejemplo: Procesadores de textos, compiladores, navegadores web, sistemas de
bases de datos, videojuegos
• Usuarios: Usuarios, Administradores, máquinas, otras computadoras
Los 4 componentes de un Sistema Informático
Organización de una Computadora
• En lo que se refiere a la computadora, es el CPU junto a los controladores de
dispositivo se conectan a través de un bus común que proporciona acceso a
la memoria compartida
• Ejecución concurrente de CPU y dispositivos que compiten por ciclos de
memoria
¿Qué hace un Sistema Operativo?
• En general administra el HW y el SW de la computadora pero depende del
punto de vista, por ejemplo:
• Los usuarios desean comodidad, facilidad de uso y buen rendimiento y No les importa
la utilización de los recursos
• Pero una computadora compartida como una computadora central o una
minicomputadora debe mantener contentos a todos los usuarios
• Los usuarios de sistemas dedicados, como estaciones de trabajo, tienen recursos
dedicados pero a menudo utilizan recursos compartidos de los servidores
• Las computadoras portátiles son deficientes en recursos, optimizadas para la
usabilidad y la duración de la batería
• Algunas computadoras tienen poca o ninguna interfaz de usuario, como computadoras
integradas en dispositivos y automóviles
¿Qué hace un Sistema Operativo?
• Al administrar el HW y SW el Sistema Operativo:
• Es un asignador de recursos
• Administra todos los recursos
• Decide entre solicitudes conflictivas para el uso eficiente y justo
de los recursos
• Es un programa de control
• Controla la ejecución de programas para evitar errores y el uso
incorrecto de la computadora
Funcionamiento del Sistema
Operativo
Unidad 1
¿Qué hace un Sistema Operativo?

Bootstrap
• El Bootstrap es un programa que se carga al encender o reiniciar
Normalmente se almacena en ROM o EPROM, generalmente conocido como
firmware
• Inicializa todos los aspectos del sistema
• Carga el kernel del sistema operativo y comienza la ejecución
Una vez que se carga el Sistema Operativo
• Los dispositivos de E / S y la CPU se pueden ejecutar al mismo tiempo
• Cada controlador de dispositivo está a cargo de un tipo de dispositivo en
particular
• Cada controlador de dispositivo tiene un buffer local
• La CPU mueve los datos desde / hacia la memoria principal a / desde los
búferes locales
• La E / S es del dispositivo al búfer local del controlador
• El controlador del dispositivo informa a la CPU que ha terminado su
operación al causar una interrupción
Funcionamiento del Sistema Operativo
• Para realizar todas las funciones mencionadas, el SO se apoya en las
interrupciones
• La interrupción transfiere el control a la rutina de servicio de interrupción en
general, a través del vector de interrupción, que contiene las direcciones de
todas las rutinas de servicio
• La arquitectura de interrupción debe guardar la dirección de la instrucción
interrumpida
• Una trampa o excepción es una interrupción generada por software causada
por un error o una solicitud del usuario
• Un sistema operativo es impulsado por interrupciones
Manejo de Interrupciones
• Recordemos que mientras haya energía, la CPU esta en un estado de
funcionamiento o encendido
• El sistema operativo preserva el estado de la CPU almacenando registros y el
contador del programa
• El SO Determina qué tipo de interrupción se ha producido:
• Votación(polling)
• Sistema de interrupción vectorial
• El SO maneja segmentos de código separados que determinan qué acción se
debe tomar para cada tipo de interrupción
Interrupciones
Estructura de la Entrada/Salida
• Después de que se inicia la E / S, el control regresa al
programa del usuario solo después de la finalización de E / S
• La instrucción de espera inactiva la CPU hasta la siguiente
interrupción
• Ciclo de espera (contención para el acceso a la memoria)
• Como máximo, hay una solicitud de E / S pendiente a la vez, sin
procesamiento simultáneo de E / S
Estructura de la Entrada/Salida
• Después de que se inicia la E / S, el control vuelve al
programa del usuario sin esperar a que se complete la E / S
• Llamada al sistema: solicite al sistema operativo que permita al
usuario esperar la finalización de E / S
• La tabla de estado del dispositivo contiene una entrada para
cada dispositivo de E / S que indica su tipo, dirección y estado.
• El SO indexa en la tabla del dispositivo de E / S para determinar
el estado del dispositivo y modificar la entrada de la tabla para
incluir la interrupción
Lenguaje de Comunicación utilizado

¿Qué lenguaje creen que utilizan


los componentes de la
computadora para comunicarse
entre si?
Lenguaje de Comunicación utilizado
¿Qué lenguaje creen que utilizan los componentes
de la computadora para comunicarse entre si?

BIT
BIT
• La unidad básica de almacenamiento de la computadora es el bit. Un bit
puede contener uno de dos valores, 0 y 1.
• El resto del almacenamiento en una computadora se basa en colecciones de
bits. Con suficientes bits, es sorprendente la cantidad de cosas que una
computadora puede representar: números, letras, imágenes, películas,
sonidos, documentos y programas, por nombrar algunos.
• Del Bit, nace el Byte, KiloByte, MegaByte, etc.
Byte
• Un byte es de 8 bits, y en la mayoría de las computadoras es el trozo más
conveniente de almacenamiento. Por ejemplo, la mayoría de las
computadoras no tienen instrucciones para movers bits, pero sí tienen una
para mover un byte
• Una computadora ejecuta muchas operaciones en su tamaño de palabra
nativo en lugar de un byte a la vez.
• El almacenamiento de la computadora, junto con la mayoría del rendimiento
de la computadora, generalmente se mide y manipula en bytes y colecciones
de bytes.
Medidas de almacenamiento
Un kilobyte, o KB, tiene 1.024 bytes
Un megabyte o MB es 1.0242 bytes
Un gigabyte, o GB, es 1,0243 bytes
Un terabyte, o TB, tiene 1.0244 bytes
Un petabyte, o PB, tiene 1.0245 bytes
• Si embargo en términos reales, Los fabricantes de computadoras a
menudo redondean estos números, jamas los toman como exactos
y dicen que un megabyte es de 1 millón de bytes y un gigabyte de
mil millones de bytes, etc.
Estructura del almacenamiento
• Memoria principal
• Solo grandes medios de almacenamiento a los que la CPU puede acceder
directamente
• Es de acceso aleatorio
• Típicamente volátil
Estructura del almacenamiento
• Almacenamiento secundario: extensión de la memoria principal que
proporciona una gran capacidad de almacenamiento no volátil, aquí están:
Discos duros HDD Discos de estado sólido SSD
Estructura del almacenamiento
• Discos duros:
• platos rígidos de metal o vidrio cubiertos con material de grabación
magnética
• La superficie del disco se divide lógicamente en pistas, que se subdividen en
sectores
• El controlador de disco determina la interacción lógica entre el dispositivo y la
computadora
Estructura del almacenamiento
• Discos de estado sólido
• más rápidos que los discos duros
• no volátiles
• Varias tecnologías
• Es una tecnología relativamente nueva
• Cada vez más popular
Jerarquia del almacenamiento
Cache
• Principio importante, realizado en muchos niveles en una
computadora (en hardware, sistema operativo, software)
• Información en uso copiada de almacenamiento más lento a
más rápido temporalmente
• El almacenamiento más rápido es la caché, es el primero en
verificarse para determinar si la información está allí
• Si lo es, la información se usa directamente desde el caché
(rápido)
• Si no, los datos se copian a la memoria caché y se usan allí
Acceso directo a la memoria
• Se usa para dispositivos de E / S de alta velocidad capaces de
transmitir información casi a velocidades de memoria
• El controlador del dispositivo transfiere bloques de datos del
almacenamiento intermedio directamente a la memoria principal
sin intervención de la CPU
• Solo se genera una interrupción por bloque, en lugar de una
interrupción por byte
Uso de almacenamiento

Segun la arquitectura
de von Neumann
Procesadores
• La mayoría de los sistemas usan un único procesador de propósito general
pero otra parte de los sistemas también tienen procesadores de propósito
especial
• Sistemas multiprocesadores que crecen en uso e importancia
También conocidos como sistemas paralelos, sistemas estrechamente
acoplados, Las ventajas incluyen:
• Mayor rendimiento
• Economía de escala
• Mayor confiabilidad: degradación elegante o tolerancia a fallas
• Dos tipos:
• Multiprocesamiento asimétrico: a cada procesador se le asigna una tarea de tipo
specie.
• Multiprocesamiento simétrico: cada procesador realiza todas las tareas
Arquitectura del multiprocesamiento
Diseño multicore
• Multi-chip y multinúcleo
• Sistemas que contienen todos los chips
• Chasis que contiene múltiples sistemas de procesamiento separados
Sistemas Clusterizados (Distribuidos)
Estructura del SO, multiprogramación
• Multiprogramación (sistema por lotes) necesario para la eficiencia
• Un solo usuario no puede mantener los CPU y los dispositivos de E / S
ocupados en todo momento
• La multiprogramación organiza trabajos (código y datos) para que la CPU
siempre tenga uno para ejecutar
• Un subconjunto de trabajos totales en el sistema se mantiene en la
memoria
• Un trabajo seleccionado y ejecutado a través de la programación de
trabajos
• Cuando tiene que esperar (para E / S, por ejemplo), el sistema operativo
cambia a otro trabajo
Estructura del SO, multitarea
• El tiempo compartido (multitarea) es una extensión lógica en la que la CPU cambia
de trabajo con tanta frecuencia que los usuarios pueden interactuar con cada
trabajo mientras se está ejecutando, creando una informática interactiva.
• El tiempo de respuesta debe ser <1 segundo
• Cada usuario tiene al menos un programa ejecutándose en la memoria 
proceso
• Si hay varios trabajos listos para ejecutarse al mismo tiempo  Programación de
la CPU
• Si los procesos no encajan en la memoria, el intercambio los mueve hacia
adentro y hacia afuera para ejecutar
• La memoria virtual permite la ejecución de procesos que no están
completamente en la memoria
Gestion de la memoria en la multiprogramacion
Operaciones del SO, Interrupciones
• Impulsado por interrupciones (hardware y software)
• Interrupción de hardware por uno de los dispositivos
• Interrupción del software (excepciónes y threads):
• Error de software (por ejemplo, división por cero)
• Solicitud de servicio del sistema operativo
• Otros problemas de proceso incluyen bucle infinito, procesos
que se modifican entre sí o el sistema operativo
Manejo de procesos
• Un proceso es un programa en ejecución. Es una unidad de
trabajo dentro del sistema. El programa es una entidad
pasiva, el proceso es una entidad activa.
• El proceso necesita recursos para llevar a cabo su tarea
• CPU, memoria, E / S, archivos
• Datos de inicialización
• La finalización del proceso requiere la recuperación de los
recursos reutilizables
Manejo de procesos
• El proceso de un solo subproceso tiene un contador de programa
que especifica la ubicación de la siguiente instrucción para ejecutar
• El proceso ejecuta las instrucciones secuencialmente, una a la vez,
hasta que se completen
• El proceso de subprocesos múltiples tiene un contador de programa
por subproceso
• Normalmente, el sistema tiene muchos procesos, algunos usuarios,
algunos sistemas operativos que se ejecutan simultáneamente en
una o más CPU
Procesos ejercicio
• En Windows, ejecutar las teclas win+R o en el menú inicio abrir el programa
ejecutar
• En la ventana de Ejecutar, escribir el comando cmd, esto nos abrirá la consola
de Windows
Procesos ejercicio
• En Windows, ejecutar las teclas win+R o en el menú inicio abrir el programa
ejecutar
• En la ventana de Ejecutar, escribir el comando notepad, esto nos abrirá la
consola de Windows
Procesos ejercicio
• En la ventana de comandos
ejecutar el comando tasklist
• Buscar y anotar el PID de la
tarea notepad.exe
• En la grafica el proceso
notepad.exe tiene el PID 2748
Procesos ejercicio
• En la línea de comandos ejecutar el comando taskkill /?
• Es la ayuda del comando taskkill
Procesos ejercicio
• Maten al notepad
• Ejecuten el comando taskkill /pid 2748 /f
Proceso, ejercicio
• Cierren todo, vuelvan a abrir el cmd, esta vez desde ele menú y con permisos
de administrador
Actividades del manejo de procesos
• El sistema operativo es responsable de las siguientes
actividades relacionadas con la gestión de procesos:
• Crear y eliminar procesos de usuario y sistema
• Suspendiendo y reanudando procesos
• Proporcionar mecanismos para la sincronización de procesos
• Proporcionar mecanismos para la comunicación del proceso
• Proporcionar mecanismos para el manejo de interbloqueo
Procesos y la Memoria
• Para ejecutar un programa, todas (o parte) de las instrucciones deben estar
en la memoria
• Todos (o parte) de los datos que necesita el programa deben estar en la
memoria.
• La administración de memoria determina qué hay en la memoria y cuándo
• Optimizar la utilización de la CPU y la respuesta de la computadora a los usuarios
• Actividades de gestión de memoria
• Seguimiento de qué partes de la memoria están siendo utilizadas actualmente y quién
las está utilizando
• Decidir qué procesos (o partes de los mismos) y datos para entrar y salir de la memoria
• Asignación y desasignación de espacio de memoria según sea necesario
Procesos y la Memoria, ejercicio
• En Windows, ejecutar las teclas win+R o en el menú inicio abrir el programa
ejecutar
• En la ventana de Ejecutar, escribir el comando CONTROL ADMINTOOLS, esto
nos abrirá las herramientas administrativas de Windows
Procesos y la Memoria, ejercicio
• En la ventana de herramientas administrativas Abrir el Monitor de
rendimiento
Procesos y la Memoria, ejercicio
Procesos y la Memoria, ejercicio
Gestión del almacenamiento
• El sistema operativo proporciona una vista uniforme y lógica del
almacenamiento de información
• Resume las propiedades físicas a la unidad de almacenamiento
lógica – archivo
• Cada medio está controlado por dispositivo (es decir, unidad de
disco, memoria USB, etc.)
• Las propiedades variables incluyen velocidad de acceso, capacidad,
velocidad de transferencia de datos, método de acceso (secuencial
o aleatorio)
Gestión del almacenamiento
• Administración del sistema de archivos
• Archivos generalmente organizados en directorios
• Control de acceso en la mayoría de los sistemas para determinar
quién puede acceder a qué
• Las actividades del SO incluyen
• Crear y eliminar archivos y directorios
• Primitivas para manipular archivos y directorios
• Mapeo de archivos en almacenamiento secundario
• Copia de seguridad de archivos en medios de almacenamiento estables
(no volátiles)
Gestión del Almacenamiento
• Actividades de OS
• Gestión de espacio libre
• Asignación de almacenamiento
• Programación de disco

• Algunas veces el almacenamiento no necesita ser rápido


• El almacenamiento terciario incluye almacenamiento óptico
• Todavía debe ser administrado - por SO o aplicaciones
• Varía entre WORM(Write-Once Read-Many) escritura única, lectura muchas veces y
RW (lectura y escritura)
Rendimiento del almacenamiento según sus niveles
El Kernel
Unidad 1
Kernel
El núcleo o kernel es la parte
central de un sistema
operativo y es el que se
encarga de realizar toda la
comunicación segura entre el
software y el hardware del
ordenador.
Kernel
• El kernel permite la comunicación entre el software y los
dispositivos físicos de un ordenador, tanto el hardware interno
como la placa base, procesador, memoria y unidades de
almacenamiento
• El núcleo kernel también debe hacer una gestión de la memoria
RAM. La memoria debe ser utilizada de manera eficiente,
dividiéndola entre los distintos servicios y aplicaciones para que
todo funcione de forma fluida.
• El procesador también debe ser gestionado por el kernel.
Kernel, funcionamiento
• El Kernel utiliza estructuras de datos simples
• Listas simplemente enlazadas

• Listas doblemente enlazadas

• Listas Circulares
Kernel, funcionamiento
• Árboles de búsqueda binaria
Kernel, funcionamiento
• Mapas Hash
Entornos de procesamiento
Unidad 1
Entornos de computación, tradicional
• Máquinas independientes de uso general
• Para estos entornos existen dos tipos de sistemas operativos diferentes: de
escritorio y de red.
• Los sistemas operativos de escritorio estén diseñados para su uso en
entornos de oficinas pequeñas o domesticas (SOHO, small office, home
office) con un número limitado de usuarios.
• Los sistemas operativos de red (NOS, network operating system) estén
diseñados para su uso en entornos corporativos y sirven a muchos usuarios
con una amplia variedad de necesidades.
• Familias Windows, Linux, Mac OS
Entornos de computación, moviles
• Teléfonos inteligentes, tabletas, etc.
• más características Hardware que el sistema operativo (GPS, giroscopio)
• Permite nuevos tipos de aplicaciones como la realidad aumentada
• Use redes de datos celulares o inalámbricas IEEE 802.11 para conectividad
• Los líderes son Apple iOS y Google Android
Entornos de computación, Distribuido
• Computacion distribuida
• Colección de sistemas separados, posiblemente heterogéneos, conectados en
red
• La red es una ruta de comunicaciones, TCP / IP más común
• Red de área local (LAN)
• Red de área amplia (WAN)
• El sistema operativo de red proporciona funciones entre sistemas a través de
la red
• El esquema de comunicación permite a los sistemas intercambiar mensajes
Ilusión de un sistema único
Entornos de Computación, Cliente-Servidor
• Computación Cliente-Servidor
• Terminales tontas suplantadas por PC inteligentes
• Los sistemas operativos de servidores, responden a solicitudes generadas por clientes
constantes
• El sistema Cliente-Servidor proporciona una interfaz al cliente para solicitar servicios (es
decir, una base de datos)
• El sistema de servidor de archivos proporciona una interfaz para que los clientes
almacenen y recuperen archivos
Entornos de Computación, Virtualización
• Permite que los sistemas operativos ejecuten aplicaciones dentro de otros
sistemas operativos, es una Vasta y creciente industria
• Emulación utilizada cuando el tipo de CPU de origen es diferente del tipo de
destino (es decir, PowerPC a Intel x86)
• Virtualización: sistema operativo compilado de forma nativa para la CPU,
ejecutando sistemas operativos invitados también compilados de forma
nativa
• Considere la posibilidad de que VMware ejecute invitados de WinXP, cada
aplicación en ejecución, todo en el sistema operativo anfitrión Windows 10
nativo
Entornos de Computación, Virtualización
• Los casos de uso involucran computadoras portátiles y de escritorio que
ejecutan múltiples sistemas operativos para su exploración o compatibilidad
• Otro ejemplo es una Computadora portátil Windows que ejecuta el host
Windows 7, y tiene virtualizado Ubuntucomo invitado
• La virtualización trae mucha ventajas como ser:
• Desarrollar aplicaciones para múltiples sistemas operativos sin tener múltiples
sistemas
• Aplicaciones de prueba de QA sin tener sistemas múltiples
Ejecución y administración de entornos informáticos dentro de los centros de datos
• Usar un único Hardware para multiples sistemas
Entornos de Computación, Virtualización
Entornos de Computación, La Nube
• Ofrece informática, almacenamiento e incluso aplicaciones como
servicio a través de una red
• Extensión lógica de virtualización porque usa la virtualización como
base para su funcionalidad.
• Amazon EC2 tiene miles de servidores, millones de máquinas
virtuales, petabytes de almacenamiento disponibles en Internet
Entornos de Computación, La Nube
• Muchos tipos
• Nube pública: disponible a través de Internet para cualquier persona
dispuesta a pagar
• Nube privada: dirigida por una empresa para uso propio de la empresa
• Nube híbrida: incluye componentes de la nube públicos y privados
• Software como servicio (SaaS): una o más aplicaciones disponibles a través de
Internet (es decir, procesador de textos)
• Plataforma como servicio (PaaS): pila de software lista para su uso a través de
Internet (es decir, un servidor de base de datos)
• Infraestructura como servicio (IaaS): servidores o almacenamiento
disponibles a través de Internet (es decir, almacenamiento disponible para
uso de respaldo)
Entornos de Computación, La Nube
Entornos de computación, Sistemas Embebido
• Un sistema embebido​ o empotrado (integrado, incrustado) es un sistema de
computación diseñado para realizar una o algunas pocas funciones dedicadas
• Frecuentemente en un sistema de computación en tiempo real. Al contrario
de lo que ocurre con los ordenadores de propósito general (como por
ejemplo una computadora personal o PC) que están diseñados para cubrir un
amplio rango de necesidades, los sistemas embebidos se diseñan para cubrir
necesidades específicas.
• Por ejemplo, Smart TVs, Routers ADSL, Routers inalámbricos, etc.
Entornos de computación, Sistemas Embebido

You might also like