21
INTRODUCCIÓN

Estructuras de Control en Visual Basic · Niveles y vistas de un sistema informático. •Los que se encargan de diseñar SSOO, son los que deben conocer del funcionamiento del hardware

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Estructuras de Control en Visual Basic · Niveles y vistas de un sistema informático. •Los que se encargan de diseñar SSOO, son los que deben conocer del funcionamiento del hardware

INTRODUCCIÓN

Page 2: Estructuras de Control en Visual Basic · Niveles y vistas de un sistema informático. •Los que se encargan de diseñar SSOO, son los que deben conocer del funcionamiento del hardware

Introducción según Tanembaum

“Una computadora moderna consta de uno o más procesadores, una memoria principal, discos, impresoras, un teclado, un ratón, una pantalla o monitor, interfaces de red y otros dispositivos de entrada salida. En general es un sistema complejo. Si todos los programadores de aplicaciones tuvieran que comprender el funcionamiento de todas estas partes, no escribirían código alguno. Es más: el trabajo de administrar todos estos componentes y utilizarlos de manera óptima es una tarea muy desafiante. Por esta razón, las computadoras están equipadas con una capa de software llamada sistema operativo, cuyo trabajo es proporcionar a los programas de usuario un modelo de computadora mejor, más simple y pulcro, así como encargarse de la administración de todos los recursos antes mencionados.”

Sistemas operativos modernos – A. Tanembaum, 2009, pág. 1

Page 3: Estructuras de Control en Visual Basic · Niveles y vistas de un sistema informático. •Los que se encargan de diseñar SSOO, son los que deben conocer del funcionamiento del hardware

Visión general

Un sistema operativo (S.O.) es un programa o

conjunto de programas de control que tiene

por objeto facilitar el uso de la computadora

y conseguir que ésta se utilice eficientemente.

Básicamente cumple con dos funciones

independientes una de otra:

Máquina virtual o extendida

Gestor de recursos.

Page 4: Estructuras de Control en Visual Basic · Niveles y vistas de un sistema informático. •Los que se encargan de diseñar SSOO, son los que deben conocer del funcionamiento del hardware

SO como máquina extendida o virtual

La arquitectura de la mayoría de las

computadoras a nivel de lenguaje

máquina es primitiva y compleja de

programar, en especial para la

entrada/salida.

Un programador a tan bajo nivel debe

conocer muy bien la electrónica del

dispositivo a programar, ya sea disco duro,

unidad óptica, etc.

Page 5: Estructuras de Control en Visual Basic · Niveles y vistas de un sistema informático. •Los que se encargan de diseñar SSOO, son los que deben conocer del funcionamiento del hardware

Ejemplo:

Controlador de disco:

Dispone de comandos que realizan

operaciones tales como leer y escribir datos,

mover el brazo, saber en que plato y sección

se encuentra el dato, formatear pistas,

recalibrado, etc.

El programador ve el disco como una

colección de archivos y carpetas/directorios.

Page 6: Estructuras de Control en Visual Basic · Niveles y vistas de un sistema informático. •Los que se encargan de diseñar SSOO, son los que deben conocer del funcionamiento del hardware

La abstracción es la clave para lidiar

con la complejidad.

Una abstracción que casi cualquier usuario de

computadora comprende es el archivo: es una pieza

útil de información, como una fotografía digital, un

mensaje de correo electrónico almacenado o una

página Web. Es más fácil lidiar con fotografías,

correos electrónicos y páginas Web que con los

detalles de los discos.

Trabajo del sistema operativo: crear buenas

abstracciones para después implementar y

administrar los objetos abstractos entonces creados.

Page 7: Estructuras de Control en Visual Basic · Niveles y vistas de un sistema informático. •Los que se encargan de diseñar SSOO, son los que deben conocer del funcionamiento del hardware

Dificultad de interactuar con el

hardware

Procesadores, memorias, discos y otros dispositivos

presentan interfaces difíciles, enredadas, muy

peculiares e inconsistentes para las personas que

tienen que escribir software para utilizarlos.

Motivo: necesidad de tener compatibilidad con el

hardware anterior; deseo de ahorrar dinero; para

los diseñadores de hardware no es de interés qué la

programación del software sea sencilla.

Page 8: Estructuras de Control en Visual Basic · Niveles y vistas de un sistema informático. •Los que se encargan de diseñar SSOO, son los que deben conocer del funcionamiento del hardware

SO oculta hardware difícil de

programar…

El sistema operativo oculta el hardware y presenta

a los programas (y a sus programadores)

abstracciones agradables, elegantes, simples y

consistentes con las que puedan trabajar.

Ocultan la parte

desagradable con

la parte

agradable.

Page 9: Estructuras de Control en Visual Basic · Niveles y vistas de un sistema informático. •Los que se encargan de diseñar SSOO, son los que deben conocer del funcionamiento del hardware

Niveles y vistas de un sistema

informático.

• Los que se encargan de diseñar

SSOO, son los que deben

conocer del funcionamiento del

hardware y deben programar a

bajo nivel.

• En cambio los programadores

tiene una visión abstraída del

hardware y sólo deben

conocer del SO y sus

utilidades para enfocar

sus esfuerzos en el

desarrollo de las aplicaciones.

Page 10: Estructuras de Control en Visual Basic · Niveles y vistas de un sistema informático. •Los que se encargan de diseñar SSOO, son los que deben conocer del funcionamiento del hardware

Conclusión

La maquina extendida o también llamada máquina

virtual es un software que emula a una computadora

y puede ejecutar programas como si fuese una

computadora real. Este software en un principio fue

definido como un duplicado eficiente y aislado de

una maquina física.

Page 11: Estructuras de Control en Visual Basic · Niveles y vistas de un sistema informático. •Los que se encargan de diseñar SSOO, son los que deben conocer del funcionamiento del hardware

SO como administrador de recursos

Recursos de las computadoras modernas:

Procesador, memorias, temporizadores, discos,

ratones, interfaces de red, impresoras, etc.

El trabajo del sistema operativo es

proporcionar una asignación ordenada y

controlada de los procesadores, memorias y

dispositivos de E/S, entre los diversos

programas que compiten por estos recursos.

Page 12: Estructuras de Control en Visual Basic · Niveles y vistas de un sistema informático. •Los que se encargan de diseñar SSOO, son los que deben conocer del funcionamiento del hardware

Orden del uso de recursos

Los sistemas operativos modernos permiten la ejecución

simultánea de varios programas.

¿Qué pasaría si tres programas trataran de imprimir sus

documentos en forma simultánea en la misma impresora?

Las primeras líneas de impresión podrían provenir del

programa 1, las siguientes del programa 2, después

algunas del programa 3, y así sucesivamente.

RESULTADO = CAOS

SO: Impone orden al caos potencial, guardando los datos

a imprimir en disco hasta que la impresora se libere para

así tomar esos datos e imprimirlos.

Page 13: Estructuras de Control en Visual Basic · Niveles y vistas de un sistema informático. •Los que se encargan de diseñar SSOO, son los que deben conocer del funcionamiento del hardware

Recursos multiplexados

Dos aspectos:

Compartir recursos en el tiempo.

Compartir recursos en el espacio

Page 14: Estructuras de Control en Visual Basic · Niveles y vistas de un sistema informático. •Los que se encargan de diseñar SSOO, son los que deben conocer del funcionamiento del hardware

Compartir recursos en el tiempo

Distintos programas o usuarios toman turnos

para utilizarlo.

Ejemplo: con sólo una CPU y varios programas

que desean ejecutarse, el SO primero asigna

la CPU a un programa y luego, una vez que se

ha ejecutado por el tiempo suficiente, otro

programa obtiene acceso a la CPU, después

otro, y en un momento dado el primer

programa vuelve a obtener acceso al recurso.

Page 15: Estructuras de Control en Visual Basic · Niveles y vistas de un sistema informático. •Los que se encargan de diseñar SSOO, son los que deben conocer del funcionamiento del hardware

Compartir recursos en el tiempo

La tarea de determinar cómo se multiplexa el

recurso en el tiempo (quién sigue y durante cuánto

tiempo) es responsabilidad del sistema operativo.

Page 16: Estructuras de Control en Visual Basic · Niveles y vistas de un sistema informático. •Los que se encargan de diseñar SSOO, son los que deben conocer del funcionamiento del hardware

Compartir recursos en el espacio

Cada cliente obtiene una parte del recurso.

Ejemplo: normalmente la memoria principal

se divide entre varios programas en

ejecución para que cada uno pueda estar

residente al mismo tiempo. Con suficiente

memoria, es más eficiente contener varios

programas en memoria a la vez, en vez de

proporcionar a un solo programa toda la

memoria, en especial si sólo necesita una

pequeña fracción.

Puede generar problemas de equidad y

protección.

Corresponde al sistema operativo resolverlos.

Page 17: Estructuras de Control en Visual Basic · Niveles y vistas de un sistema informático. •Los que se encargan de diseñar SSOO, son los que deben conocer del funcionamiento del hardware

Compartir recursos en el espacio

Otro recurso que se multiplexa en espacio es el disco duro.

En muchos sistemas, un solo disco puede contener archivos

de muchos usuarios al mismo tiempo. Asignar espacio en

disco y llevar el registro de quién está utilizando cuáles

bloques de disco es una tarea típica de administración de

recursos común del sistema operativo.

Cada SO maneja un

sistema de Archivo

FAT, NTFS

ext2, ext3

Page 18: Estructuras de Control en Visual Basic · Niveles y vistas de un sistema informático. •Los que se encargan de diseñar SSOO, son los que deben conocer del funcionamiento del hardware

Funciones de un SO

Proporcionar una interfaz con la cual el usuario puede

interactuar con el hardware con la mayor abstracción posible.

Gestionar la memoria RAM y ejecutar las aplicaciones.

Administrar al CPU gracias a un algoritmo de planificación de

procesos.

Direccionar las entradas y salidas de datos (a través

de drivers) por medio de los periféricos de entrada o salida.

Administrar las tareas según su prioridad (Multitarea)

Administrar los archivos con la cual el usuario puede crear

borrar, mover y modificar los archivos en el equipo

Page 19: Estructuras de Control en Visual Basic · Niveles y vistas de un sistema informático. •Los que se encargan de diseñar SSOO, son los que deben conocer del funcionamiento del hardware

Núcleo

El núcleo del sistema operativo, también llamado kernel es aquella parte de un sistema operativo que interactúa de forma directa con el hardware de una máquina. Entre las funciones principales del kernel se encuentran:

La gestión de memoria.

La administración del sistema de archivos.

La administración de servicios de entrada/salida.

La asignación de recursos entre los usuarios.

La manipulación del hardware se realiza por medio de controladores de dispositivo, que conocen la forma de comunicarse directamente con el hardware de la máquina.

El software por su parte puede comunicarse con el kernel por medio de llamadas al sistema, las cuales le indican al kernel que realice tareas como abrir y escribir un archivo, ejecutar un programa, finalizar un proceso u obtener la fecha y hora del sistema.

Page 20: Estructuras de Control en Visual Basic · Niveles y vistas de un sistema informático. •Los que se encargan de diseñar SSOO, son los que deben conocer del funcionamiento del hardware

Tanenbaum, A., Sistemas operativos modernos.Tercera edición

• Página 3 a 7

Bibliografía

Page 21: Estructuras de Control en Visual Basic · Niveles y vistas de un sistema informático. •Los que se encargan de diseñar SSOO, son los que deben conocer del funcionamiento del hardware

Preguntas

1. ¿Cómo definiría en pocas palabra un sistema

operativo?

2. ¿Qué significa que un SO es una máquina

extendida?

3. ¿Qué significa que un SO es un gestor de recursos?

4. ¿Qué significa compartir recursos en el tiempo?

5. Qué significa compartir recursos en el espacio?

6. ¿Cuáles son las funciones de un SO?

7. ¿Qué es el núcleo de un SO?