lunes, 27 de julio de 2020

Programación I

Asignatura: Programación I


Curso: 4° Informática


Profesora: Evangelina Rivero - e-mail: evange_rivero@hotmail.com




Las variables: clasificación de variables según su contenido (numéricas, lógicas y alfanuméricas) y su uso (de trabajo, contador y acumulador) y constantes

Actividades:
1) Leer el material
2) ¿Qué es una variable?
3) ¿Cómo se clasifican las variables: según su contenido y según su uso? Ejemplo y conceptos
4) ¿Qué es un contador?
5) ¿Qué es un acumulador?
6) ¿Qué es una constante)


Variable (progra
mación)
En programación, una variable está formada por un espacio en el sistema de almacenaje (memoria principal de un ordenador) y un nombre simbólico (un identificador) que está asociado a dicho espacio. Ese espacio contiene una cantidad de información conocida o desconocida, es decir un valor. El nombre de la variable es la forma usual de referirse al valor almacenado: esta separación entre nombre y contenido permite que el nombre sea usado independientemente de la información exacta que representa. El identificador, en el código fuente de la computadora puede estar ligado a un valor durante el tiempo de ejecución y el valor de la variable puede por lo tanto cambiar durante el curso de la ejecución del programa. El concepto de variables en computación puede no corresponder directamente al concepto de variables en matemática. El valor de una variable en computación no es necesariamente parte de una ecuación o fórmula como en matemáticas. En computación una variable puede ser utilizada en un proceso repetitivo: puede asignársele un valor en un sitio, ser luego utilizada en otro, más adelante reasignársele un nuevo valor para más tarde utilizarla de la misma manera.Procedimientos de este tipo son conocidos con el nombre de iteración. En programación de computadoras, a las variables, frecuentemente se le asignan nombres largos para hacerlos relativamente descriptivas para su uso, mientras que las variables en matemáticas a menudo tienen nombres escuetos, formados por uno o dos caracteres para hacer breve en su transcripción y manipulación.


El espacio en el sistema de almacenaje puede ser referido por diferentes identificadores . Esta situación es conocida entre los angloparlantes como "aliasing" y podría traducirse como "sobrenombramiento" para los hispanoparlantes. Asignarle un valor a una variable utilizando uno de los identificadores cambiará el valor al que se puede acceder a través de los otros identificadores.


Los compiladores deben reemplazar los nombres simbólicos de las variables con la real ubicación de los datos. Mientras que el nombre, tipo y ubicación de una variable permanecen fijos, los datos almacenados en la ubicación pueden ser cambiados durante la ejecución del programa.


Las variables pueden ser de longitud:
Fija.- Cuando el tamaño de la misma no variará a lo largo de la ejecución del programa. Todas las variables, sean del tipo que sean tienen longitud fija, salvo algunas excepciones — como las colecciones de otras variables (arrays) o las cadenas.
Variable.- Cuando el tamaño de la misma puede variar a lo largo de la ejecución. Típicamente colecciones de datos.


Clasificación de las variables


Por su contenido
Variables Numéricas: Son aquellas en las cuales se almacenan valores numéricos, positivos o negativos, es decir almacenan números del 0 al 9, signos (+ y -) y el punto decimal.
Ejemplo:
iva = 0.15 pi = 3.1416 costo = 2500


Variables Lógicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos representan el resultado de una comparación entre otros datos.
Variables Alfanuméricas: Esta formada por caracteres alfanuméricos (letras, números y caracteres especiales).
Ejemplo:
letra = ’a’ apellido = ’lopez’ direccion = ’Av. Libertad #190’




Por su uso
Variables de Trabajo: Variables que reciben el resultado de una operación matemática completa y que se usan normalmente dentro de un programa.
Ejemplo:
Suma = a + b /c


Contadores: Se utilizan para llevar el control del numero de ocasiones en que se realiza una operación o se cumple una condición. Con los incrementos generalmente de uno en uno.La construcción de un contador es una de las técnicas más comunes en la realización de diagramas de flujo.


Es una variable en la memoria que se incrementará en una unidad cada vez que se ejecute el proceso.


El contador se utiliza para llevar la cuenta de determinadas acciones que se pueden solicitar durante la resolución de un problema.


En las instrucciones de preparación se realiza la inicialización del contador o contadores. La inicialización consiste en poner el valor inicial de la variable que representa al contador. Generalmente se inicializa con el valor 0.


Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de una serie de valores que se van leyendo o calculando progresivamente.

Un acumulador  es una variable en la memoria cuya misión es almacenar cantidades variables. 

Se utiliza para efectuar sumas sucesivas. La principal diferencia con el contador es que el incremento o decremento de cada suma es variable en lugar de constante como en el caso del contador.



Constantes
Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.
Ejemplo:
pi = 3.1416











Sistemas Operativos I

Asignatura: Sistemas Operativos I


Curso: 4° Informática


Profesora: Evangelina Rivero - e-mail: evange_rivero@hotmail.com

Actividades:
2) Tomar nota de los principales conceptos
3) Leer el texto que se presenta a continuación.
4) Realizar una red conceptual o si se les dificulta realizar un breve resumen .

La evolución de Windows, de Windows 1 a Windows 10

Llevamos desde octubre del año pasado hablándoos de las características de Windows 10 y muchos de vosotros estáis aburridos de leer artículos del tipo "5 razones por las que no/sí debo actualizar mi equipo a Windows 10" (según del pie que cojee el articulista). Como esa parte no nos interesa tanto, ya que lo nuestro es impartir cursos de programación (y de los buenos) este post está pensado para desintoxicarnos de la vorágine de estos días ya que la decisión, al fin y al cabo como diría Frank Sinatra It's up to you....

Vamos a recorrer los últimos 30 años de Windows, comenzando como es natural en Windows 1 hasta llegar a Windows 10. Empezamos:

Windows 1 (1985)

Aunque fue anunciado en 1983 por Bill Gates, su lanzamiento no se produjo hasta dos años más tarde, concretamente el 20 de noviembre de 1985. Se popularizó gracias a su interfaz gráfica basada en ventanas que le da su nombre.

Windows-1

Entre sus características de escritorio destacaban el manejo de archivos MS-DOS, calendario, bloc de notas, calculadora y reloj.

Windows 2 (1987)

Dos años más tarde (9/12/1987) Microsoft lanza Windows 2.0 con iconos de escritorio, memoria ampliada, mejores gráficos y la posibilidad de superponer ventanas, controlar el diseño de la pantalla y usar atajos con el teclado para acelerar el trabajo.

Windows-2

Constituyó la primera plataforma de Windows para aplicaciones hoy en día tan comunes como Word o Excel.

Windows 3 (1990)

El 22 de mayo de 1990 aparece Windows 3.0, la primera versión que alcanzó éxito comercial, con varios millones de ventas en el primer año.  Se introdujeron cambios en la interfaz de usuario importantes, además de mejorar la explotación de la capacidad de gestión de la memoria de los procesadores.

Windows-3

El Administrador de Programas y el Administrador de Archivos hicieron su primera aparición en esta versión, junto con el panel de control rediseñado y algunos juegos como el Solitario, Corazones y Buscaminas. ¿Quién no ha jugado alguna vez al mítico solitario?

Windows NT (1993)

Aunque la gente de marketing de Microsoft intenta convencer al mundo de que NT significa New Technology, lo cierto es es que las siglas NT provienen del nombre en clave que tenía el proyecto cuando estaba en fase de desarrollo N-Ten. El proyecto final vio la luz el 27 de julio de 1993.

Windows_NT_3_1

Para llevar a cabo este desarrollo desde cero, se asociaron IBM con Microsoft. Construyeron un SO de 32bytes multitarea, multihilo, multiprocesamiento, multiusuario con un núcleo híbrido y una capa de hardware de abstracción para facilitar la portabilidad entre plataformas.

Windows 95 (1994)

Un año y mes después, el 24 de julio de 1994, Microsoft lanzó Windows 95. Llevaron a cabo una campaña publicitaria sin precedentes que incluía la canción de los Rolling Stones "Start me up". Los detractores de Windows no desaprovecharon la oportunidad de mofarse indicando que la letra de la canción decía "...you make a grown man cry...", pero no esto no evitó que en solo 5 semanas se vendieran 7 millones de copias ¡todo un récord!

Windows_95

Windows 95 estaba más orientado al consumidor, poseía una interfaz de usuario completamente nueva y características que hoy nos resultan muy familiares, pero que entonces constituyeron algo revolucionario, como por ejemplo el botón de Inicio, la Barra de Tareas, el Área de Notificaciones (recordemos que era la época del módem, fax,...), etc.

Windows 98 (1998)

El 25 de junio de 1998 ve la luz la primera versión diseñada específicamente para el consumidor. Se introducen una serie de mejoras en la interfaz de usuario a través del paquete de actualizaciones de escritorio de Windows de Internet Explorer 4. Por ejemplo, la posibilidad de minimizar una ventana con un simple clic en el icono de la barra de herramientas, los botones de navegación hacia "Adelante" y "Regresar", etc..

Windows-98

Con Windows 98 se mejoró el reconocimiento de escáneres, ratones, teclados y palancas.

Windows Me (2000)

El 14 de septiembre de 2000 sale a la venta el último de la línea de Windows 9x basado en DOS, Windows Millennium Edition, considerado como una de las peores versiones de Windows que ha existido. (Aunque como dice el refrán, alguien vendrá que bueno me hará ;P)

Windows-ME

A diferencia de W95 y W98 les faltaba el soporte en modo real de DOS. A su favor hay que decir que poseía una característica muy útil, a saber "Restaurar el Sistema" lo cual permitía a los usuarios establecer una configuración estable del sistema anterior al actual.

Windows XP (2001)

Tan solo una año después, el 25 de octubre de 2001, el primer sistema operativo de consumo basado en arquitectura NT, cuyo nombre en clave era Whistler, se puso a la venta con el nombre de XP de eXPeriencie. Resultó ser uno de los más exitosos, en diciembre de 2013 su cuota de mercado alcanzó los 500 millones de ordenadores. Tras 12 años en el mercado ¡12 años!, en abril de 2014 Microsoft dejó de dar soporte.

Windows-XP

Windows XP introdujo nuevas características como el uso de una nueva interfaz de manejo más sencillo, la posibilidad de utilizar varias cuentas de usuario a la vez, la capacidad de agrupar aplicaciones similares en la barra de tareas, por solo nombrar unas cuantas.

Windows Vista (2007)

Nunca habíamos esperado tanto tiempo por un cambio de SO, ¡más de 5 años! A Microsoft le hubiese gustado tenerlo listo para poder hacer caja en la Navidad de 2006, pero tuvo que esperar hasta el 30 de enero de 2007 para lanzarlo mundialmente. Se recuerda como un sistema que llegó tarde, mal y arrastro. Las principales quejas se centraron en las funciones de seguridad, administración de derechos digitales, los requisitos de hardware y el rendimiento y la compatibilidad del software.

Windows-Vista

A su favor hay que recordar las características por las cuales todo el mundo lo identifica, a saber: la nueva interfaz gráfica que permitía la transparencia en las ventanas, la aplicación Flip-3D que se activaba con la combinación de teclas Win + Tab, y mostrando con un efecto 3D las ventanas que estaban abiertas podías cambiar de una a otra. Además, permitía tener una vista preliminar de las ventanas abiertas, con solo pasar el ratón sobre los botones en la barra de tareas.

Por cierto, ¿recordáis cuando en abril Stack Overflow desveló las preferencias de los programadores y descubrimos que 2015 todavía quedan programadores que usan Windows Vista y Windows XP :O? Mejor vamos a olvidar esto último y sigamos con el repaso, ¡ya queda poco!

Windows 7 (2009)

Muchos consideran a Windows 7 como el SO que a Windows Vista le gustaría haber sido. De hechos, en sus orígenes fue concebido como una especie de actualización de Windows Vista, lo que permitió mantener cierto grado de compatibilidad con aplicaciones y hardware. En cuanto salió al mercado el 22 de octubre de 2009 comenzó a comerse la cuota de mercado de sus predecesores.

Windows_7

Windows 7 destaca por ofrecer una interfaz rediseñada, una nueva barra de tareas, mejoras importantes en el rendimiento del SO y sobre todo porque W7 marcó el debut de Windows Touch, que permite explorar la web desde pantallas táctiles.

Windows 8 (2012)

El 25 de octubre de 2012 hizo su puesta de larga el polémico Windows 8. Los usuarios se desgarraban las vestiduras... ¡no tenía botón de Inicio! ¿Cómo iban a sobrevivir sin él?

Windows-8

Su interfaz de usuario fue modificada para hacerla más amigable y fácil de usar con la pantallas táctiles, además de poder seguir usando obviamente el teclado y ratón. Es el momento de las Apps cuyos iconos de diferentes tamaños ocupan la pantalla, se pueden agrupar, mostrar notificaciones,... El explorador de archivos ahora deja a solo un clic de ratón, funciones que antes estaban escondidas y como esto podríamos enumerar cientos de nuevas características, pero sabemos que estáis impacientes por llegar al siguiente.

Windows 10 (2015)

Tras tres años de dura travesía por el desierto sin botón de inicio, el 29 de julio de 2015 hace su aparición estelar Windows 10. ¿Y ahora qué?

Windows-10

De todos modos hay una "regla universal" que se viene cumpliendo desde que salió Windows: y es que los usuarios siempre consideran una versión buena y la siguiente mala, alternándolas.


Aplicaciones I

Asignatura: Aplicaciones I


Curso: 4° Informática


Profesora: Evangelina Rivero - e-mail:evange_rivero@hotmail.com


Tema: Planillas de Cálculo

1) Repasamos los conceptos vistos en el trabajo anterior y luego realizamos los ejercicios en las computadoras o en los celulares.

TRABAJO PRÁCTICO Nº1

Ejercicios básicos: fórmulas y funciones básicas


Crear un nuevo libro en Excel que se llame TP1-TuApellidoTuNombre y realizar las siguientes tablas, cada una en una hoja diferente dentro del mismo libro, respetando las opciones de formato, y completar con las fórmulas correspondientes.


Ejercicio 1 (en hoja 1, renombrar: Movimientos)



Ejercicio 2 (en hoja 2, renombrar: Distancias)




Ejercicio 3 (en hoja 3, renombrar: Trimestres)

Asignar a cada asignatura una nota del 1 al 10 por trimestre, y luego insertar las funciones correspondientes.



EJERCICIO 4 (en hoja 4, renombrar: Notas)




EJERCICIO 5 (en hoja 5, renombrar: Ventas)

Recibimos de las distintas sucursales de la empresa los datos correspondientes a las ventas en pesos de cada vendedor en los distintos trimestres del año.


Ventas del año 2000

Vendedor Trimestre 1 Trimestre 2 Trimestre 3 Trimestre 4

Miguel García 1.500.000, 2.000.000, 1.850.000, 2.100.000

Raúl Arzac 1.200.000, 1.340.000, 1.750.000, 1.800.000

Elena Casas 1.460.000, 1.700.000, 1.900.000, 2.000.000

Javier Martín 1.100.000, 1.600.000, 1.640.000, 1.700.000


Diseña una hoja de cálculo que refleje estos datos y permita obtener los siguientes conceptos:

  1. Ventas totales por trimestres.

  2. Ventas totales por vendedor.

  3. Media mensual de ventas por vendedor.

  4. Promedio de ventas por trimestre.


EJERCICIO 6 (en hoja 6, renombrar: Factura)

A la vista de los datos que se presentan en el siguiente formato de factura y considerando un IVA del 21%, obtener:

  1. El Subtotal que se calcula: precio unitario * cantidad.

  2. Rellenar la columna I.V.A. que se calcula:  Subtotal * 0.21 o Subtotal * 21% o Subtotal *21/100.

  3. La columna Total que se calcula: Subtotal + I.V.A.

  4. Rellenar la fila Total en la que deben totalizarse Subtotal, I.V.A. y Total.


ARTICULO, PRECIO UNITARIO, CANTIDAD, SUBTOTAL, I.V.A., TOTAL

Impresora, 299, 2; Microprocesador I3, 2.210, 4; Monitor color, 2.000, 4; Ratón, 60, 4; Teclado, 150, 4

TOTAL



Ejercicio 7 (en hoja 7, renombrar: RIOJANOS)


La conocida empresa RIOJANOS S.A., ha presentado los siguientes INGRESOS y GASTOS durante los dos primeros meses del año:


INGRESOS

Enero

Febrero

Ventas

1250000

1750000

Alquileres

125000

130000

Otros gastos

275000

270000


EGRESOS

Enero

Febrero

Salarios

980000

980000

Gastos de producción

650000

652500

Otros gastos

260000

265000


  1. Obtener los valores de INGRESOS y GASTOS para los restantes meses del primer semestre, teniendo en cuenta que el incremento mensual para cada concepto es el mismo durante todos los meses.

  2. Hallar los totales mensuales, así como los correspondientes BENEFICIOS. Realizar varios cambios al azar en los montos de ingreso y egreso y observar el recálculo.

  3. Calcular la media aritmética de cada uno de los conceptos (VENTAS, ALQUILERES,..., SALARIOS,...) y sus valores MÁXIMOS y MÍNIMOS.

  4. La hoja debe quedar con el siguiente aspecto:




Hardware III

Asignatura: Hardware III

Curso: 6° Informática

Profesora: Evangelina Rivero - e-mail: evange_rivero@hotmail.com

Frame relay

Actividades

1) Ver los siguientes vídeos y tomar nota de los principales conceptos: https://www.youtube.com/watch?v=99O68o_yjmE y https://www.youtube.com/watch?v=jLCzIXMDrHc
2) Por ejemplo ¿qué es el protocolo frame relay? ¿qué es la tecnología frame relay? ¿Cuándo se la introdujo? ¿Para qué se utiliza?
3)  Leer el material.
4) Luego de mirar los vídeos, tomar apuntes y de leer el material, realizar una red conceptual sobre el protocolo Frame Relay.


Frame relay
Información sobre la plantilla
Frame-relay.JPG
Concepto:Protocolo de red orientado a la tecnología de conmutación de paquetes.

Frame Relay o (Frame-mode Bearer Service) Protocolo de red orientado a la tecnología de conmutación de paquetes ofrecido por las compañías telefónicas. Define el proceso para enviar datos sobre la red pública, constituye una tecnología de enlace de datos orientado a la conexión de alto rendimiento y eficacia. Es un servicio diseñado especialmente para cubrir las necesidades de uso e interconexión de Redes de Área Local (LAN)

Características

El Servicio Frame Relay permite que diferentes canales compartan una sola línea de transmisión. La capacidad de enviar en ciertos periodos breves de tiempo un gran volumen de tráfico ("tráfico a ráfagas") aumenta la eficiencia de las redes basadas en Frame Relay.

Se trata de un servicio de transporte que opera en la capa 2 del modelo OSI, transmite la información estructurada en tramas y es capaz de soportar múltiples protocolos y aplicaciones correspondientes a diversos entornos de comunicaciones de clientes. El carácter multi-protocolo del Servicio Frame Relay se ha visto ampliado por el desarrollo de estándares para la transmisión de voz sobre Frame Relay.

Circuitos virtuales sobre los que opera Frame Relay

  • Circuitos virtuales permanentes (CVP)

Funcionan esencialmente igual que una línea alquilada donde se establece una ruta fija a través de la red hacia nodos finales prefijados.

  • Circuitos virtuales conmutados (CVC)

Similares a las llamadas telefónicas, donde las decisiones de los nodos destino se crean según se necesite. Para cada circuito virtual se debe definir un CIR (Caudal Mínimo Comprometido) en cada sentido de la comunicación. Este CIR representa el ancho de banda que garantiza la red en caso de congestión o saturación de la misma, sin embargo, debido a que Frame Relay se basa en el concepto de multiplexación estadística, se podrá superar esta velocidad de transmisión comprometida hasta la velocidad de acceso al servicio (ancho de banda de la conexión entre el equipo terminal de comunicaciones y el nodo de red Frame Relay). La diferencia entre el ancho de banda de conexión a la red y el CIR se denomina EIR (Ráfaga en Exceso).

Dispositivos

Los dispositivos Frame Relay se dividen en dos grupos:

  • DTE (Data Terminal Equipment): equipo del cliente que finaliza la conexión Frame-Relay
  • DCE (Data circuit-terminating Equipment): son los dispositivos de red propiedad del proveedor.

Aplicaciones y Beneficios

  1. Reducción de complejidad en la red, elecciones virtuales múltiples son capaces de compartir la misma línea de acceso.
  2. Mejora del desempeño y del tiempo de respuesta, penetración directa entre localidades con pocos atrasos en la red.
  3. Mayor disponibilidad en la red. Las conexiones a la red pueden redirigirse automáticamente a diversos cursos cuando ocurre un error.
  4. Se pueden utilizar procedimientos de Calidad de Servicio (QoS) basados en el funcionamiento Frame Relay.
  5. Tarifa fija. Los precios no son sensitivos a la distancia, lo que significa que los clientes no son penalizados por conexiones a largas distancias.
  6. Mayor flexibilidad. Las conexiones son definidas por los programas. Los cambios hechos a la red son más rápidos y a menor costo si se comparan con otros servicios.
  7. Ofrece mayores velocidades y rendimiento, a la vez que provee la eficiencia de ancho de banda que viene como resultado de los múltiples circuitos virtuales que comparten un puerto de una sola línea.
  8. Los servicios de Frame Relay son confiables y de alto rendimiento. Son un método económico de enviar datos, convirtiéndolo en una alternativa a las líneas dedicadas.
  9. El Frame Relay es ideal para usuarios que necesitan una conexión de mediana o alta velocidad para mantener un tráfico de datos entre localidades múltiples y distantes.

Ventajas

El hecho de operar en la subcapa de nivel dos de OSI hace que el servicio Frame Relay no requiera complicados procedimientos de control y retransmisiones, lo que lleva consigo una alta proporción de información útil respecto a la información de control del Servicio (en las tramas Frame Relay no existen cabeceras de control de nivel 3 como ocurre con la tecnología X.25).

La técnica Frame Relay es idónea para la definición de redes de área amplia; no representa cambios sustanciales a nivel de equipamiento físico, las modificaciones en el equipamiento lógico a nivel de enlace son mínimas, presenta una eficiencia óptima para tráfico de datos y un comportamiento excelente hasta 45 Mbps, lo que se considera suficiente para la interconexión de redes locales a medio y largo plazo. Frame Relay no conoce las redes de área local que interconecta, por ello es un protocolo transparente y adecuado en aplicaciones que intercambian grandes volúmenes de datos a grandes velocidades. Está especialmente indicado para transmisión asíncrona de datos.

Transportar voz sobre Frame Relay

Se puede transmitir simultáneamente voz y datos por una linea Frame Relay, ofrece esta posibilidad como un servicio con entidad propia, el servicio Data&Voz, que integra comunicaciones de datos y comunicaciones de voz en Grupo Cerrado de Usuario; esta integración se realiza mediante FRADs (Frame Relay Access Device) que se instalan en el domicilio del cliente, como parte del servicio.

Frame Relay es un servicio gestionado extremo a extremo, incluye la gestión de la Red de Cliente, siendo esta tarea en el caso de líneas dedicadas responsabilidad del propio cliente.

Sistemas Operativos III

Asignatura: Sistema Operativos III


Curso: 6° Informática


Profesora: Evangelina Rivero -  e-mail: evange_rivero@hotmail.com

Actividades:
1) Leer el texto
2) ¿Qué es un proceso?
2) ¿Cuáles son los modelos de procesos?
3) ¿Qué estado puede tener un proceso?
4) ¿Qué es una interrupción? Tipos de interrupciones. Describir los tipos de interrupciones.

Definiciones Sobre Procesos

El concepto central de cualquier Sistema Operativo es el de proceso: una abstracción de un programa en ejecución también llamada tarea.

No hay un acuerdo universal sobre una definición de proceso, pero sí algunas definiciones aceptadas :
 

  • Un programa que se está ejecutando.
  • Una actividad asincrónica.
  • El emplazamiento del control de un procedimiento que está siendo ejecutado.
  • Aquello que se manifiesta por la existencia en el Sistema Operativo de un bloque de control de proceso.
  • Aquella entidad a la cual son asignados los procesadores.
  • La unidad despachable.
En sistemas de multiprogramación la cpu alterna de programa en programa, en un esquema de seudo paralelismo , es decir que la cpu ejecuta en cierto instante un solo programa, intercambiando muy rápidamente entre uno y otro.

El paralelismo real de hardware se da en las siguientes situaciones:
 

  • En ejecución de instrucciones de programa con más de un procesador de instrucciones en uso simultáneamente.
  • Con la superposición de ejecución de instrucciones de programa con la ejecución de una o más operaciones de entrada / salida.


El objetivo es aumentar el paralelismo en la ejecución.

El modelo de procesos posee las siguientes características:
 

  • Todo el software ejecutable, inclusive el Sistema Operativo, se organiza en varios procesos secuenciales o procesos.
  • Un proceso incluye al programa en ejecución y a los valores activos del contador, registros y variables del mismo.
  • Conceptualmente cada proceso tiene su propia cpu virtual.
  • Si la cpu alterna entre los procesos, la velocidad a la que ejecuta un proceso no será uniforme, por lo que es necesario aclarar lo siguiente:
    • Que los procesos no deben programarse con hipótesis implícitas acerca del tiempo.
    • Que normalmente la mayoría de los procesos no son afectados por la multiprogramación subyacente de la cpu o las velocidades relativas de procesos distintos.
  • Un proceso es una actividad de un cierto tipo, que tiene un programa, entrada, salida y estado.
  • Un solo procesador puede ser compartido entre varios procesos con cierto “algoritmo de planificación” , el cual determina cuándo detener el trabajo en un proceso y dar servicio a otro distinto (ver Figura 2.1 ).
Multiprogramación de cuatro programas.


En cuanto a las jerarquías de procesos es necesario señalar que los Sistemas Operativos deben disponer de una forma de crear y destruir procesos cuando se requiera durante la operación, teniendo además presente que los procesos pueden generar procesos hijos mediante llamadas al Sistema Operativo, pudiendo darse ejecución en paralelo.

Respecto de los estados del proceso deben efectuarse las siguientes consideraciones:

  • Cada proceso es una entidad independiente pero frecuentemente debe interactuar con otros procesos (ver Figura 2.2 ).
  • Los procesos pueden bloquearse en su ejecución porque:
    • Desde el punto de vista lógico no puede continuar porque espera datos que aún no están disponibles.
    • El Sistema Operativo asignó la cpu a otro proceso.
  • Los estados  que puede tener un proceso son (ver Figura 2.3) :
    • En ejecución: utiliza la cpu en el instante dado.
    • Listo: ejecutable, se detiene en forma temporal para que se ejecute otro proceso.
    • Bloqueado: no se puede ejecutar debido a la ocurrencia de algún evento externo.
  • Son posibles cuatro transiciones entre estos estados.
Solo un programa está activo en un momento dado.
Un proceso puede estar en ejecución, bloqueado o listo.



Estados de Procesos

Durante su existencia un proceso pasa por una serie de estados discretos, siendo varias las circunstancias que pueden hacer que el mismo cambie de estado.

Debido a ello se puede establecer una “Lista de Listos” para los procesos “listos” y una “Lista de Bloqueados” para los “bloqueados”.

La “Lista de Listos” se mantiene en orden prioritario y la “Lista de Bloqueados” está desordenada, ya que los procesos se desbloquean en el orden en que tienen lugar los eventos que están esperando.

Al admitirse un trabajo en el sistema se crea un proceso equivalente y es insertado en la última parte de la “Lista de Listos”.

La asignación de la cpu al primer proceso de la “Lista de Listos” se denomina “Despacho”, que es ejecutado por una entidad del Sistema Operativo llamada “Despachador”.

El “Bloqueo” es la única transición de estado iniciada por el propio proceso del usuario, puesto que las otras transiciones son iniciadas por entidades ajenas al proceso.

La manifestación de un proceso en un Sistema Operativo es un “Bloque de Control de Proceso” (PCB) con información que incluye:
 

  • Estado actual del proceso.
  • Identificación única del proceso.
  • Prioridad del proceso.
  • Apuntadores para localizar la memoria del proceso.
  • Apuntadores para asignar recursos.
  • Área para preservar registros.


Cuando el Sistema Operativo cambia la atención de la cpu entre los procesos, utiliza las áreas de preservación del PCB para mantener la información que necesita para reiniciar el proceso cuando consiga de nuevo la cpu.

Los sistemas que administran los procesos deben poder crear, destruir, suspender, reanudar, cambiar la prioridad, bloquear, despertar y despachar un proceso.

La “creación” de un proceso significa:
 

  • Dar nombre al proceso.
  • Insertar un proceso en la lista del sistema de procesos conocidos.
  • Determinar la prioridad inicial del proceso.
  • Crear el bloque de control del proceso.
  • Asignar los recursos iniciales del proceso.


Un proceso puede “crear un nuevo proceso”, en cuyo caso el proceso creador se denomina “proceso padre” y el proceso creado “proceso hijo” y se obtiene una “estructura jerárquica de procesos”.

La “destrucción” de un proceso implica:
 

  • Borrarlo del sistema.
  • Devolver sus recursos al sistema.
  • Purgarlo de todas las listas o tablas del sistema.
  • Borrar su bloque de control de procesos.


Un proceso “suspendido” no puede proseguir hasta que otro proceso lo reanude.

Reanudar (reactivar) un proceso implica reiniciarlo en el punto donde fue suspendido.

La “destrucción” de un proceso puede o no significar la destrucción de los procesos hijos, según el Sistema Operativo.

Generalmente se denomina “Tabla de Procesos” al conjunto de información de control sobre los distintos procesos.


Procesamiento de Interrupciones

Una “interrupción” es un evento que altera la secuencia en que el procesador ejecuta las instrucciones; es un hecho generado por el hardware del computador 

Cuando ocurre una interrupción, el Sistema Operativo:
 

  • Obtiene el control.
  • Salva el estado del proceso interrumpido, generalmente en su bloque de control de procesos.
  • Analiza la interrupción.
  • Transfiere el control a la rutina apropiada para la manipulación de la interrupción.


Una interrupción puede ser iniciada por un proceso en estado de ejecución o por un evento que puede o no estar relacionado con un proceso en ejecución.

Generalmente las interrupciones se pueden clasificar por tipos según el siguiente detalle (ver tabla)
 

  • “SVC (llamada al supervisor)”: es una petición generada por el usuario para un servicio particular del sistema, por ejemplo, realización de Entrada / Salida u obtención de más memoria.
  • “Entrada / Salida”: son iniciadas por el hardware de Entrada / Salida, indicando a la cpu que ha cambiado el estado de un canal o dispositivo, por ejemplo, finalización de Entrada / Salida u ocurrencia de un error.
  • “Externas”: son causadas por distintos eventos, por ejemplo, expiración de un cuanto en un reloj de interrupción o recepción de una señal de otro procesador en un sistema multiprocesador.
  • “De reinicio”: ocurren al presionar la “tecla de reinicio” o cuando llega una instrucción de reinicio de otro procesador en un sistema multiprocesador.
  • “De verificación de programa”: son causadas por errores producidos durante la ejecución de procesos, por ejemplo:
    • Un intento de dividir por cero.
    • Un intento de un proceso de usuario de ejecutar una instrucción privilegiada.
    • Un intento de ejecutar un código de operación inválido.
  • “De verificación de máquina”: son ocasionadas por un mal funcionamiento del hardware.
Tipo de InterrupciónDescripción
SVCLlamada al Sistema Operativo
Entrada / SalidaCambio de estado de un canal o dispositivo
Externa Evento externo al sistema
De ReinicioReinicio del procesamiento
De Verificación de ProgramaErrores de procesos
De Verificación de MáquinaErrores de hardware
Tabla 2.1: Tipos de interrupciones.

El Sistema Operativo incluye rutinas llamadas “Manipuladores de Interrupciones (IH)” para procesar cada tipo diferente de interrupción.
Cuando se produce una interrupción el Sistema Operativo efectúa las siguientes acciones:
 

  • Salva el estado del proceso interrumpido.
  • Dirige el control al manipulador de interrupciones adecuado.
  • Se aplica la técnica de “Cambio de Contexto” .


Los Sistemas Operativos instrumentan información de control que puede aparecer como las “Palabras de Estado de Programa (PSW)”, las cuales controlan el orden de ejecución de las instrucciones y contienen información sobre el estado del proceso.

Existen tres tipos de PSW, que son la “actual”, la “nueva” y la “vieja”.

La “PSW Actual” almacena la dirección de la próxima instrucción que será ejecutada e indica los tipos de instrucciones actualmente “habilitadas” e inhabilitadas”.

En un sistema uniprocesador existe:
 

  • Solo una PSW actual.
  • Seis PSW nuevas (una para cada tipo de interrupción).
  • Seis PSW viejas (una para cada tipo de interrupción).


La PSW nueva para un tipo de interrupción dado contiene la dirección en el hardware donde reside el manipulador de interrupciones para este tipo específico.

Cuando ocurre una interrupción para la cual el procesador no está inhabilitado, ocurren las siguientes acciones:
 

  • El hardware cambia las PSW en los casos siguientes:
    • Al almacenar la PSW actual en la PSW vieja, para este tipo de interrupción.
    • Al almacenar la PSW nueva en la PSW actual, para este tipo de interrupción.
  • Luego de este “intercambio de PSW”:
    • La PSW actual contiene la dirección del manipulador de interrupción adecuado.
    • El manipulador de interrupciones procesa la interrupción.
    • Luego de procesar la interrupción, la cpu es enviada al:
      • Proceso que estaba en ejecución en el momento de la interrupción, o al
      • Proceso de listo de más alta prioridad.
    • La acción precedente depende de si el proceso de interrupción es:
      • “Apropiativo”: obtiene la cpu solo si no hay procesos de listos.
      • “No apropiativo”: obtiene de nuevo la cpu.

Aplicaciones I - Planillas de Cálculo

  Asignatura: Aplicaciones I Curso: 4° Informática Profesora: Evangelina Rivero - e-mail:evange_rivero@hotmail.com Tema: Planillas de Cálcul...