Logo Studenta

UNIDAD2- SOFTWARE

Esta es una vista previa del archivo. Inicie sesión para ver el archivo original

Software 
Herramientas Informáticas I 
Prof. Ing. Norma Cañizares 
Software 
 Definición de Software. 
 Clasificación de Software. 
 Sistemas Operativos. 
 Software de Aplicación. 
 Lenguajes de Programación. 
 Software Libre VS Software Propietario 
 Evolución Histórica de los Sistemas 
Operativos 
 
Software 
De Aplicación 
Software 
de 
 Programación 
Software 
de Sistema 
SOFTWARE 
• El software de una computadora constituye la parte 
lógica del sistema, e incluye a todos los programas 
(sistemas operativos, procesadores de texto, 
reproductores multimedia, etc.) y datos (archivos de 
texto, audio, video, gráficos, etc.) del equipo de 
computación. 
• El Software se clasifica, básicamente, en: 
 
Concepto de Sistema Operativo s/ distintos autores. 
• Es un programa que actúa como intermediario entre el usuario y el 
hardware. El primer objetivo es la comodidad, el segundo la eficiencia 
[Silberschatz]. 
• Es un programa que tiene encomendada una serie de funciones 
diferentes cuyo objetivo es simplificar el manejo y utilización de la 
computadora, haciéndolo seguro y eficiente [Carretero]. 
• El trabajo del sistema operativo es proporcionar a los programas de 
usuario un modelo de computadora sencillo, además de encargarse de 
la administración de todos los recursos hardware de la misma. 
[Tanenbaum]. 
• Es un programa que controla la ejecución de los programas de 
aplicación y que actúa como interfaz entre los usuarios y el hardware. 
[Stallings]. 
SOFTWARE – Sist. Operativo 
Concepto de Sistema Operativo s/ Tanenbaunm 
El concepto de Sistema Operativo esta relacionado con la 
ubicación del mismo en el Sistema de Computación. 
 
 
Capa de 
Software 
Modo Kernel 
Puente 
(Interfaz) 
Software de 
Usuario 
HardWare 
Maquina 
Gestión de 
Dispositivos de 
Maquina 
Fig. Ubicación del S.O. dentro del Sistema de Computación. 
SOFTWARE – Sist. Operativo 
En síntesis, el núcleo (kernel) es la parte fundamental de 
un sistema operativo. 
• Es el software responsable de facilitar a los distintos 
programas acceso seguro al hardware de la 
computadora, es decir, es el encargado de gestionar 
los recursos, a través de servicios de llamada al 
sistema. 
• Como hay muchos programas y el acceso al 
hardware es limitado, el núcleo también se encarga 
de decidir qué programa podrá hacer uso de un 
dispositivo de hardware y durante cuánto tiempo, lo 
que se conoce como multiplexado. 
SOFTWARE. Sist. Operativo 
Puntos de Vista de Sistema Operativo s/ Tanenbaunm 
• Según Andrew S. Tanenbaum, los sistemas operativos se pueden 
ver desde dos puntos de vista: como administrador de recursos y 
como máquinas extendidas. 
 
Sistema 
Operativo 
Maquina Virtual 
o Extendida 
Administrador 
de Recursos 
SOFTWARE – Sist. Operativo 
Sistema Operativo como Administrador de Recursos 
Un sistema operativo es un conjunto de políticas para gestionar un conjunto de 
recursos, normalmente escasos, entre un conjunto de procesos que compiten 
por ellos. El sistema operativo lleva la cuenta del estado de cada recurso y 
decide quien lo obtiene, durante cuanto tiempo y cuando. 
Estos recursos son: 
• El procesador 
• La memoria 
• El sistema de archivos 
• Los dispositivos de entrada y salida 
Ejemplo de S.O. como Administrador de Recursos: 
Espacio 
Memoria, Disco Duro 
Tiempo 
CPU, Impresora 
Compartir Recursos usando Multiplexación 
Cuando un recurso se multiplexa en 
el tiempo, los distintos programas o 
usuarios toman turnos para utilizarlo 
Cuando un recurso se multiplexa en 
el espacio, cada programa o usuario 
obtiene una parte del recurso. 
Sistema Operativo como Máquina Virtual o Extendida 
Un sistema operativo es una serie de componentes que ocultan la 
complejidad del hardware y proporcionan abstracciones de 
mayor nivel (máquina extendida) que facilitan su uso a través de 
servicios o llamadas al Sistema. 
Proporciona servicios o llamadas al sistema 
para: 
 Control de procesos 
 Manipulación de archivos 
 Manipulación de dispositivos 
 Mantenimiento de información 
 Comunicaciones 
Virtualización: es la abstracción de los 
recursos de una computadora la cual permite 
manejar, gestionar y arbitrar los cuatro 
recursos principales de una computadora 
(CPU, Memoria, Red, Almacenamiento) 
Ejemplos: Tipos de llamadas al sistema. 
• Control de procesos: fin, abortar; cargar, ejecutar; 
crear proceso, terminar proceso; esperar suceso, 
indicar la Ocurrencia del suceso; asignar y liberar 
memoria 
•Manipulación de archivos: crear archivo, eliminar 
archivo; abrir, cerrar; leer, escribir, reposicionar; 
obtener atributos de archivo, establecer atributos 
de archivo 
•Manipulación de dispositivos: solicitar dispositivo, 
liberar dispositivo; leer, escribir, reposicionar; 
conectar o desconectar lógicamente dispositivos 
•Mantenimiento de información: obtener hora o 
fecha, establecer hora o fecha; obtener datos del 
sistema, establecer datos del sistema; obtener 
atributos de un proceso, archivo o dispositivo 
• Comunicaciones: crear, eliminar conexión de 
comunicación; enviar, recibir mensajes; transferir 
información de estado; conectar o desconectar 
dispositivos remotos. 
El Sistema Operativo como una Interfaz de Usuario según Stanlling. 
Según Williams Stanlling, los sistemas operativos tienen un tercer punto de vista 
el cual es “S.O. como una interfaz de un Usuario”. 
Según este punto de vista los S.O. permiten que los usuarios dialoguen de forma 
interactiva con el sistema. El dialogo puede ser a través de: 
Interfaz de Texto. 
• Se conoce como shell o intérprete de comandos. 
• Espera que el usuario teclee una orden en el shell. Después la analiza y si es 
válida la ejecuta. Una vez que esta concluye retorna a la espera. 
Interfaz grafica. 
• Existen elementos gráficos para comunicarse con el S.O. (botones, menús, 
iconos, etc.). En este caso al interprete de comandos se lo conoce como GUI. 
• Espera por eventos generados por el ratón y el teclado. Valida el evento y lo 
ejecuta. Una vez ejecutado retorna a la espera de más eventos. 
SOFTWARE – Sist. Operativo 
Software - Sistemas Operativos 
Niveles de un Sistema Operativo s/ Stanlling 
 
 Núcleo (Kernel): Es la capa más cercana al Hardware la cual gestiona los 
recursos hardware del sistema y suministra la funcionalidad básica del sistema 
operativo como: el procesador, la memoria, los dispositivos de E/S. 
 Capa de servicios o llamadas al sistema: Ésta capa ofrece a los programas, 
servicios en forma de una interfaz de programación o API (application 
programming interface); facilitando la creación de programas aplicando las 
funciones que le suministra el SO. 
 Intérprete de comandos o Shell: Suministra la interfaz para que el usuario 
pueda comunicarse de manera interactiva con la computadora. El Shell recibe las 
órdenes del usuario; los interpreta y si puede los ejecuta. Algunos autores no 
consideran el Shell como parte del sistema, ya que se ejecuta a nivel de usuario. 
 
Ciclo Escolar 2013-2014B 
Funciones básicas 
Un sistema operativo desempeña 5 funciones básicas 
en la operación de un sistema informático: 
1. Suministro de interfaz al usuario 
2. Administración de recursos 
3. Administración de archivos 
4. Administración de tareas 
5. Servicio de soporte y utilidades 
 
Software - Sistemas Operativos 
Clasificación de Sistemas Operativos por Servicio 
SOFTWARE – Sist. Operativo 
El sistema operativo por servicio hace referencia al punto de vista 
del usuario final (visión externa): 
• Por el numero de usuarios: 
 Monousuarios 
 Multiusuarios 
• Por el numero de tareas: 
 Monotareas 
 Multitareas 
• Por el numero de procesadores: 
 Monoproceso 
 Multiproceso 
 Fuertemente acoplados (simétricos y asimétricos) 
 Débilmente acoplados (procesamiento paralelo y sistemas distribuidos) 
Ejercicios: 
• Un Sistema Multiusuario podría ser un sistema Monotarea? 
• Un Sistema Multitarea podría ser un Sistema
Monoproceso? 
• Un Sistema Multiusuario podría ser un sistema Multiproceso? 
• Los sistemas operativos monousuario fueron diseñados para 
ser utilizados por una persona en un solo ordenador. (V/F) 
• Los sistemas operativos multiusuario pueden funcionar en 
red. (V/F) 
• Los sistemas monotarea ejecutan varias tareas a la vez. (V/F) 
• Con los sistemas multitarea se pueden utilizar varios 
programas a la vez, porque están capacitados para mantener 
todos los datos en memoria. (V/F) 
SOFTWARE – Sist. Operativo 
Procesadores de Texto 
Base de Datos 
Hojas de Cálculo 
Gráficos 
Organizador Personal 
A MEDIDA 
Control de Producción 
Gestión de Mantenimiento de Maquinaria 
Ofimática (Más utilizado) 
COMERCIALES 
Sistemas Específicos (Contabilidad) 
Software de Aplicación: Es el software diseñado y escrito 
para realizar una tarea especifica, ya sea personal, o de 
procesamiento. Aquí se incluyen las bases de datos, 
tratamientos de textos, hojas electrónicas, gráficas, 
comunicaciones, etc.. 
SOFTWARE 
Software de programación: Es el conjunto de 
herramientas que permiten al programador 
desarrollar programas informáticos, usando 
diferentes alternativas y lenguajes de 
programación, de una manera práctica. Incluye 
entre otros: 
 Editores de texto 
 Compiladores 
 Intérpretes 
 Enlazadores 
 Depuradores 
Entornos de Desarrollo Integrados (IDE): Agrupan las 
anteriores herramientas, usualmente en un entorno visual, 
de forma que el programador no necesite introducir 
múltiples comandos para compilar, interpretar, depurar, 
etc.. Habitualmente cuentan con una avanzada interfaz 
gráfica de usuario (GUI). 
SOFTWARE 
Otras formas de clasificar el SW 
De acuerdo a su costo: 
De costo cero: SW gratis, costo de adquisición nulo. 
De costo mayor a cero: SW Comercial. 
De acuerdo a la apertura de su código fuente: 
De código fuente abierto: Open Source, acceso al código fuente. 
De código fuente cerrado: no se puede tener acceso al código fuente. En 
Gral., es sw propietario. 
De acuerdo a su “filosofía”: 
Propietario 
Libre 
De acuerdo a su protección: 
De dominio público: sw que no esta protegido con ningún tipo de licencia. 
Protegido por licencias 
 Protegido con copyright: con derechos de autor (o de copia) 
 Protegido con copyleft: garantiza las libertades del sw libre, establece que 
cuando se redistribuye el sw, estas libertades se trasladen a los receptores del 
mismo.. 
Acerca de las Licencias de Uso 
 El software se rige por licencias de utilización, es decir, en ningún 
momento un usuario compra un programa o se convierte en 
propietario de él, tan sólo adquiere el derecho de uso, incluso así haya 
pagado por el. 
 Las condiciones bajo las cuales se permite el uso del software --o sea 
las licencias-- son contratos suscritos entre los productores de software 
y los usuarios. 
 En general, las licencias corresponden a derechos que se conceden a 
los usuarios, principalmente en el caso del software libre, y a 
restricciones de uso en el caso del software propietario. 
 Las licencias son de gran importancia tanto para el software 
propietario como para el software libre, igual que cualquier contrato. 
Un caso especial, en lo que concierne a la propiedad sobre el software, 
lo constituyen los programas denominados de dominio público, 
porque sus creadores renuncian a los derechos de autor. 
 
SOFTWARE PROPIETARIO (SW privado) 
• Es un software creado por personas o empresas con 
finalidad comercial, generando ingresos mediante la venta 
masiva de la licencia. (software pago) 
• Las licencias propietarias establecen que el usuario adquiere 
solamente la facultad de utilizar el programa pero no la 
propiedad del mismo (Protegido con copyright.) 
• Tampoco el usuario adquiere el derecho de modificar ni 
analizar el funcionamiento interno del software (código 
cerrado). 
• Los fabricantes de programas sometidos a este tipo de 
licencias por lo general ofrecen servicios de soporte técnico 
y actualizaciones durante el tiempo de vida del producto. 
Software Libre (Free software) 
De acuerdo con la definición de los autores del modelo, el software libre se 
refiere a cuatro libertades fundamentales de los usuarios. Otorga la libertad de: 
 Usar el programa, con cualquier finalidad, 
 Estudiar su funcionamiento y adaptarlo a necesidades específicas, 
 Distribuir copias de la manera que se desee, y 
 Mejorar el programa haciendo públicas dichas mejoras. 
Condición necesaria para que estas libertades puedan existir, “es necesario 
disponer del código fuente del programa” 
 En este tipo de licencia, debe entenderse libre en el sentido de libertad. 
no hay que confundirlo con software gratis. 
 Por lo tanto, puede existir algún costo asociado a su adquisición o con 
servicios de soporte con licencia bajo el paradigma de software libre. 
Esta modalidad no significa no comercial, por tal razón este software puede 
comercializarse. 
No obstante, gran parte del sw libre existente también es gratuito 
Sistemas Operativos 
 Evolución Histórica 
Primera Generación 
Respecto al procesamiento de la Información. 
Procesamiento en Serie. 
• El programador insertaba su trabajo y esperaba su turno. 
• Existía un desaprovechamiento inadecuado del computador 
("tiempos muertos de la CPU"). 
Requerimientos para el procesamiento en serie: 
• Planificación del uso de la maquina en una planilla en el que se 
especificaba la asignación del tiempo requerido (en Gral. cada 
½ hora) para cada tarea. 
• Tiempo necesario para la configuración de la maquina en 
función de la tarea a procesar (esto significaba montar y 
desmontar cintas o configurar tarjetas). 
 
 
 
Segunda Generación 
Sistemas Operativos en Lotes o Bach 
• Sistemas Batch: Procesamiento en serie a través de lotes de tarjetas perforadas 
o jobs (trabajos). 
• El programador es el encargado de organizar, los lotes de tarjetas perforadas, 
mediante máquinas especialmente dedicadas para ese propósito llamadas 
máquinas perforadoras. 
• El programador no interactúa directamente con el computador. 
• Procesaban un único flujo de trabajos en lotes. 
• Disponían de un conjunto de rutinas de E/S. 
• Tenían un lenguaje de control de trabajos que permitía especificar los recursos 
a utilizar y las operaciones a realizar por cada trabajo. 
• El software principal del S.O. se denominaba monitor residente, y era el que 
controlaba la secuencia de sucesos. 
• Control inicial en el monitor 
• Transfiere el control a el primer job 
• Cuando el job termina o se produce un error se transfiere el control al monitor 
Segunda Generación (Cont.) 
$END 
 
 
$RUN 
 $LOAD 
 
 
 
$FTN 
 
Tratamiento de 
 interrupciones 
Controlador de 
Dispositivos 
Secuenciamiento 
de trabajos 
Intérprete del 
Lenguaje de 
Control 
Zona del 
Programa 
del 
Usuario 
M
o
n
it
o
r 
Disposición de 
la memoria 
$JOB 
 
Programa 
a compilar 
Paquete de tarjetas 
para un sistema 
sencillo de por lotes 
Fig. Ejemplo de utilización del sistema 
Fig. Uno de los primeros sistemas de procesamiento por lotes. a) Los programadores llevan las tarjetas a la 1401. ) La 1401 lee los lotes de trabajos y los 
coloca en cinta. c) El operador lleva la cinta de entrada a la 7094. d) La 7094 realiza los cálculos. e) El operador lleva la cinta de salida a la 1401. f) La 1401 
imprime los resultados. 
Tercera Generación 
Respecto al procesamiento de la Información. 
Procesamiento de los trabajos en lotes con carga continua - 
Spooling – Tecnología de discos 
• Spooling, es una tecnología que apareció con los sistemas batch para mejorar el 
rendimiento del sistema. 
• La introducción de la tecnología de discos entrega una solución en la que la CPU 
interactúa directamente con el disco. Esta forma de procesamiento se 
denomina Spooling (Simultaneous peripheral operation on-line) 
Tercera Generación (Cont.) 
Sistemas en Lotes Multiprogramados. 
• La Multiprogramacion
permite al procesador gestionar múltiples trabajos en lotes en 
un determinado tiempo. 
• Para ello es necesario particionar la memoria en varias piezas, de esta manera en la 
misma se puede almacenar, aparte del Sistema Operativo, mas de un trabajo de 
usuario. 
• La implementación de esta técnica requiere del uso de Hardware especial que gestione 
los DMA (Acceso Directo a Memoria) y las interrupciones de E/S. 
• Objetivo: Maximizar el uso del procesador. 
Ventaja: Se aprovecha de manera mas eficiente el uso del procesador. 
Desventaja: El usuario no puede interactuar con el Job durante su ejecución. 
 
Fig.Un sistema de multiprogramación 
con tres trabajos en memoria. 
Ejecutar Ejecutar 
Esperar E/S 
Tiempo 
Monoprogramación 
Solo un programa 
en ejecución a la vez 
Ejecutar 
A 
Ejecutar 
A 
Tiempo 
Ejecutar 
B 
Ejecutar 
B 
Multiprogramación 
Más de un programa 
en ejecución a la vez 
Esperar E/S 
Esperar E/S Esperar E/S 
Ejecutar 
C 
Ejecutar 
C 
Tercera Generación (Cont.) 
Sistemas de Tiempo Compartido (también se basa en la 
multiprogramación). 
• En estos sistemas, múltiples usuarios acceden simultáneamente al sistema a 
través de terminales, siendo el sistema operativo el encargado de entrelazar la 
ejecución de cada programa de usuario en pequeños intervalos de tiempo. 
• En este caso se divide el tiempo del procesador para ejecutar los trabajos de 
distintos usuarios ubicados en las terminales. 
• En estos sistemas el usuario interacciona directamente con el sistema. 
• Objetivo: Minimizar el tiempo de respuesta. 
 
 
 
Usuario 3 
Usuario 2 
Usuario 1 
Tareas del Sistema Operativo 
•Sistema Multitarea 
•Sistema Interactivo 
•Sistema de Archivos 
(archivos/directorios) 
•Sistema Multiusuario 
•Memoria Virtual (memoria lógica) 
Cuarta Generación 
Características de los Sistemas Operativos para PC: 
Sistemas operativos monousuario. 
Los sistemas operativos incorporan técnicas implementadas en generaciones 
anteriores: Multiprogramación, Tiempo Compartido, Memorial Virtual, Sistema 
Jerárquico De Archivos. 
Los sistemas operativos para las primeras microcomputadoras se basaban en 
que los usuarios escribieran los comandos mediante el teclado. Ej. MsDos, Unix. 
Luego, se evoluciona a una interfaz grafica intuitiva y amigable, destinado a 
usuarios no profesionales. El S. O. crea un ambiente de trabajo según el 
concepto de máquina virtual, que lo aísla del funcionamiento interno de la 
máquina. 
Avances a mediados de la década del 80’. 
Desarrollo de sistemas operativos de red y sistemas operativos distribuidos. 
Gran énfasis en la seguridad, en especial por el desarrollo de los sistemas de 
comunicaciones de datos. 
Proliferación de sistemas de bases de datos, accesibles mediante redes de 
comunicación. 
Cuarta Generación (Cont.) 
Sistemas operativos de red: 
 Los usuarios están conscientes de la existencia de varias 
computadoras conectadas. 
 Cada máquina ejecuta su propio S. O. local. 
 Son similares a los S. O. de un solo procesador pero con el 
agregado de: 
Controlador de interfaz de la red y su software de bajo 
nivel. 
Software para conexión y acceso a archivos remotos, etc. 
SO 
SO 
SO SO 
SO 
Red de 
comunicación 
Server 
Sistemas operativos distribuidos: 
Se entiende por Sistema Distribuido aquel en que la inteligencia del Sistema Informático 
esta repartida por distintos procesadores. Ejemplo: una red de ordenadores. 
Ventajas de los sistemas distribuidos 
• Se comparten recursos: Se puede utilizar otro dispositivo que esté conectado a otro nodo 
de la red. 
• Aumenta la velocidad de computación: 
−Se distribuye el trabajo entre los distintos procesadores, o nodos. 
−Fiabilidad: Si falla un ordenador otro puede seguir con la tarea. 
• Comunicación. 
Quinta Generación 
En esta generación: 
• Se explota al máximo el concepto de Multitheading 
(multihilo) o multitareas para mantener trabajando al 
procesador con más de un proceso a la vez, y 
• También se desarrollan Sistemas Operativos que permiten 
realizar procesamientos en paralelo (por ejemplo, 
Multiprocesamiento Simétrico). 
Multitheading: Es una técnica en la cual un proceso, que 
ejecuta una aplicación, se divide en una serie de hilos o 
threads para ejecutarse concurrentemente. 
Multiprocesamiento Simétrico (SMP: Symmetric Multi-
Processing) o Sistemas Paralelos: Es un término que se refiere 
a la arquitectura hardware del computador y también al 
comportamiento del sistema operativo que explota dicha 
arquitectura. 
Quinta Generación (Cont.) 
Multiprocesador Simétrico 
Se puede definir un Multiprocesador Simétrico como un 
sistema de computación con las siguientes características: 
• Tiene múltiples procesadores. 
• Estos procesadores comparten las mismas utilidades de 
memoria principal y de E/S, interconectadas por un bus de 
comunicación u otro esquema de conexión interna. 
• Todos los procesadores pueden realizar las mismas funciones 
(de ahí el término simétrico). 
El sistema operativo de un SMP planifica procesos o hilos 
a través de todos los procesadores. 
Por lo tanto, varios procesos se pueden ejecutar 
simultáneamente, cada uno de ellos en un procesador 
diferente. 
Además, debido a que todos los procesadores pueden 
llevar a cabo las mismas funciones, el fallo de un solo 
procesador no detiene el equipo.

Continuar navegando

Materiales relacionados