Post on 03-Jan-2016
description
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 virtualesComponentes más importantes de un sistema informático
CPU
Buses del sistema (Transferencia de datos, Direcciones, comandos de control)
Memoria Principal
Conexión a la red
Disco duroTecladoPantalla
de video
Dispositivos de entrada y salida
Máquinas virtualesRepresentación simple del software en relación con el hardware
Shell(interprete
de comandos)
Utilidades
Otros programas
(buscadores, juegos,
procesadores de palabras)
Núcleo del sistema operativo
CPUMemoriaDispositivos
(discos, teclados)
Máquinas virtuales
Llamadas al sistemaLos 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 virtualesColas 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
Las tablas se usan para almacenar información sobre varios objetos que gestiona el sistema
operativo
Por ejemplo el BCPBloque de Control de Procesos
Para seguir la pista de la información asociada al proceso
Por ejemplo el BCPBloque de Control de Procesos
Para seguir la pista de la información asociada al proceso
Máquinas virtualesColas y Tablas
Tabla de PáginasTabla de Páginas
Se usa para seguir la pista del espacio de direcciones de un procesos cuando el hardware
admite memoria en 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 virtualesColas y Tablas
Tabla de Archivos AbiertosTabla de Archivos Abiertos
Mantiene un elemento por cada archivo abierto en e sistema
Mantiene un elemento por cada archivo abierto en e sistema
Máquinas virtualesColas 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 discoCola de planificación de disco
Cola de impresiónCola de impresión
Cola de procesos listosCola de procesos listos
Máquinas virtualesEnfoque orientado a objetos
En este enfoque, cada modulo del SO debe diseñarse como una colección de objetosobjetos 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 virtualesEnfoque 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 dehardware
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
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 dehardware
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.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 3Núcleo 2
Dispositivos(discos teclados) MemoriaCPU
Máquina virtual
Máquinas virtuales deaplicació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
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.
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 deaplicació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.
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.
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
Biblioteca de clases del .NET FrameworkBiblioteca de clases del .NET Framework
ADO.NET: Datos y XMLADO.NET: Datos y XML
InterfazInterfazde usuariode usuario
Common Language RuntimeCommon Language Runtime
ASP .NETASP .NETFormularios Formularios
y Servicios Web y Servicios Web
Common Language RuntimeSoporte de la biblioteca de clases baseSoporte de la biblioteca de clases base
Soporte de hilosSoporte de hilos COM marshalerCOM marshaler
Verificador de tiposVerificador de tipos Gestor de excepcionesGestor de excepciones
MSIL a MSIL a compiladorescompiladores
nativosnativos
GestorGestorde códigode código
RecolectorRecolectorde basurade basura
Motor de seguridadMotor de seguridad Motor de depuraciónMotor de depuración
Cargador de clasesCargador de clases
Biblioteca de clases .NET Framework
System.GlobalizationSystem.Globalization
System.DiagnosticsSystem.Diagnostics
System.ConfigurationSystem.Configuration
System.CollectionsSystem.CollectionsSystem.IOSystem.IO
System.ReflectionSystem.Reflection
System.NetSystem.Net
SystemSystem
System.ThreadingSystem.Threading
System.TextSystem.Text
System.SecuritySystem.Security System.Runtime.System.Runtime.InteropServicesInteropServices
ADO.NET: Datos y XML
DataSetDataSet DataRowDataRow
DataTableDataTable DataViewDataView
System.DataSystem.Data System.XmlSystem.Xml
System.Xml.SchemaSystem.Xml.Schema
System.Xml.SerializationSystem.Xml.Serialization
ASP.NET: Formularios Web y Servicios Web
ASP.NETASP.NETSystem.WebSystem.Web
ConfiguraciónConfiguración Estado de SesiónEstado de Sesión
CachéCaché SeguridadSeguridad
ServiciosServicios
DescripciónDescripción
DescubrimientoDescubrimiento
ProtocolosProtocolos
IUIU
HtmlControlsHtmlControls
WebControlsWebControls
Interfaz de usuario
System.DrawingSystem.Drawing
System.Windows.FormsSystem.Windows.Forms
¿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