Programación Visual de Sistemas
Objetivo
El alumno adquirirá el conocimiento necesario sobre herramientas
visuales de programación que le permitan desarrollar y
comprender procesos visuales
Máquinas virtuales
Componentes más importantes de un sistema informático
CPU
Memoria Principal
Buses del sistema (Transferencia de datos,
Direcciones, comandos de control)
Pantalla
de video
Teclado
Disco
duro
Dispositivos de entrada y salida
Conexión
a la red
Máquinas virtuales
Representación simple del software en relación con el hardware
Shell
(interprete
de
comandos)
Otros
programas
(buscadores,
juegos,
procesadores
de palabras)
Utilidades
Núcleo del sistema operativo
Dispositivos
(discos,
teclados)
Memoria
CPU
Máquinas virtuales
Llamadas al sistema
Los programas de
aplicación
normalmente
necesitan usar datos y
servicios gestionados.
Las
aplicaciones
también
pueden
necesitar comunicarse
entre sí, y el SO debe
actuar
como
intermediario
Cualquier aplicación normal
requiere tales habilidades, y
la forma en que solicita
servicios al SO es usando una
llamada al sistema
Primero, la aplicación carga
ciertos registro con
información que describe
el servicio requerido y
luego ejecuta una
instrucción de llamada al
sistema
Máquinas virtuales
Llamadas al sistema
En lugar de llamar directamente a una sección del código que efectúe
la función, la instrucción de la llamada al sistema en general origina
una interrupción que manipula el SO.
El SO realiza el servicio solicitado y luego devuelve el control a la
aplicación
Máquinas virtuales
Llamadas al sistema
Por lo general los sistemas de desarrollo de aplicaciones cuentan con
una biblioteca que se carga como parte de los programas de
aplicación. Esta biblioteca manipula los detalles de pasar información
al núcleo y ejecutar las instrucciones de llamada al sistema.
El echo de que esta función la proporcione la biblioteca reduce la
intensidad de la conexión entre el sistema operativo y la aplicación, lo
que la hace más portátil.
Máquinas virtuales
Colas y Tablas
Un sistema operativo gestiona muchas estructuras de datos para llevar a
cabo sus tareas, las más comunes son las colas y las tablas.
Las tablas se usan para almacenar información
sobre varios objetos que gestiona el sistema
operativo
Por ejemplo el BCP
Bloque de Control de Procesos
Para seguir la pista de la información asociada
al proceso
Máquinas virtuales
Colas y Tablas
Tabla de Páginas
Se usa para seguir la pista del espacio de
direcciones de un procesos cuando el hardware
admite memoria en páginas
Máquinas virtuales
Colas y Tablas
Tabla de Archivos Abiertos
Mantiene un elemento por cada archivo
abierto en e sistema
Máquinas virtuales
Colas y Tablas
El SO también mantiene varias colas para seguir la pista de información que
está ordenada de alguna forma.
Cola de planificación de disco
Cola de impresión
Cola de procesos listos
Máquinas virtuales
Enfoque orientado a objetos
En este enfoque, cada modulo del SO debe diseñarse como una colección de
objetos y cada objeto incluye métodos que se proporcionan como servicio a
otras partes del SO o a programas de aplicación.
El hecho de construir el SO con objetos ofrece diversas ventajas de la
ingeniería de software orientada a objetos, como el encapsulamiento de
estructuras de datos objeto, separando una interfaz de su implementación,
extensibilidad y facilidad de reuso de objetos, entre muchas otras ventajas
Máquinas virtuales
Enfoque orientado a objetos
La característica clave de un objeto es que su estructura interna oculta, y
cualquier acceso a los datos que contiene un objeto es a través de los
métodos del objeto.
Esto hace menos probable que una aplicación pueda usar indebidamente u
objeto y provocar así problemas para otros módulos.
Máquinas virtuales
Otro enfoque al diseño de un SO es la técnica de
usar un emulador de software para abstraer o
virtualizar un sistema total (Dispositivos, CPU y
memoria).
Este concepto se denomina máquina virtual
(MV). La máquinas virtuales permiten que los
distintos entornos de emulación se protejan
entre si de modo que la caída en un programa no
hace caer a los demás
Máquinas virtuales de
hardware
Un programa o un subsistema de núcleo proporciona una
emulación de software de una máquina de hardware
real.
Hay dos clases distintas de tal emulación, una en la cual
el sistema de hardware huésped está siendo emulado y
otra donde otra CPU está siendo emulada.
La segunda clase fue desarrollada tradicionalmente por
un fabricante a fin de asistir a la migración de clientes de
un sistema antiguo a otro más nuevo
Máquinas virtuales de
hardware
La emulación de la máquina huésped a menudo se usaba para permitir la
ejecución simultanea de múltiples núcleos de sistema operativo.
Shell,
unidades o
programas
Shell,
unidades o
programas
Shell,
unidades o
programas
Núcleo 1
Núcleo 2
Núcleo 3
Máquina virtual
Dispositivos
(discos teclados)
CPU
Memoria
Máquinas virtuales de
aplicación
Algunas veces la máquina que se esta emulando no es un
CPU real, sino una especificación de máquina idealizada,
diseñada para manejar ya sea un lenguaje especifico o
una amplia variedad de lenguajes
Una maquina que actualmente es muy popular es la
máquina virtual java (MVJ) que crea una máquina
abstracta que ejecuta programas en Java.
Máquinas virtuales de
aplicación
En otros casos, la MV de emulación puede ser interna en
otro programa como un buscador de red, en tales casos
los programas en Java están restringidos en cuanto a lo
que se les permite hacer.
Otro paquete como éstos es el Lenguaje común en
tiempo de ejecución(CLR), creado por Microsoft para
manejar su arquitectura .net.
En este caso la máquina abstracta fue diseñada para
admitir una amplia variedad de lenguajes, en lugar de
uno solo.
¿Cuáles son los componentes del .NET Framework?

Los componentes del .NET Framework

Common Language Runtime - CLR

Biblioteca de clases del .NET Framework

ADO.NET: Datos y XML

ASP.NET: Formularios Web y Servicios Web

Interfaz de usuario
Componentes del .NET Framework
ASP .NET
Formularios
y Servicios Web
Interfaz
de usuario
ADO.NET: Datos y XML
Biblioteca de clases del .NET Framework
Common Language Runtime
Common Language Runtime
Soporte de la biblioteca de clases base
Soporte de hilos
COM marshaler
Verificador de tipos
Gestor de excepciones
Motor de seguridad
Motor de depuración
MSIL a
compiladores
nativos
Gestor
de código
Cargador de clases
Recolector
de basura
Biblioteca de clases .NET Framework
System
System.Security
System.Runtime.
InteropServices
System.Net
System.Text
System.Globalization
System.Reflection
System.Threading
System.Configuration
System.IO
System.Diagnostics
System.Collections
ADO.NET: Datos y XML
System.Data
System.Xml
System.Xml.Schema
DataSet
DataRow
System.Xml.Serialization
DataTable
DataView
ASP.NET: Formularios Web y Servicios Web
ASP.NET
System.Web
Servicios
IU
Descripción
HtmlControls
Descubrimiento
WebControls
Protocolos
Caché
Seguridad
Configuración
Estado de Sesión
Interfaz de usuario
System.Windows.Forms
System.Drawing
¿Cuáles son las mejoras de Visual Basic .NET?



Principales mejoras del lenguaje

Soporte mejorado orientado a objetos

Gestión de excepciones estructurada
Acceso total al .NET Framework

Nuevas opciones de manejo de hilos

Recolector de basura
Desarrollo Web mejorado


Creación de Formularios Web tan fácilmente como
formularios Windows
Crear servicios Web rápidamente
Descripción de los espacios de nombres

Espacios de nombres

Espacios de nombres utilizados en módulos
obligatorios

Espacios de nombres utilizados en módulos
opcionales
Descargar

Diapositiva 1