UNIDAD2 - Software

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 34

Software

Herramientas Informáticas I
UNIDAD 2 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
• 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:

Software
de Sistema

Software Software
De Aplicación de
Programación
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..

COMERCIALES
Ofimática (Más utilizado)

Procesadores de Texto

Base de Datos

Hojas de Cálculo

Gráficos

Organizador Personal
Sistemas Específicos (Contabilidad)

A MEDIDA
Control de Producción

Gestión de Mantenimiento de Maquinaria


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 – Sistema Operativo
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].
Concepto de Sistema Operativo s/ Tanenbaunm

Según Tanenbaunm, el concepto de Sistema Operativo


esta relacionado con la ubicación del mismo en el
Sistema de Computación.

Fig. Ubicación del S.O. dentro del Sistema de


Computación.
Software- Sistema 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
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.
Puntos de Vista de un 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

Administrador Maquina Virtual


de Recursos o Extendida
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].
Sistema Operativo como Administrador de Recursos
 Un SO es un conjunto de políticas para gestionar un conjunto de recursos,
normalmente escasos, entre un conjunto de procesos que compiten por ellos.
 El SO lleva un registro del estado de cada recurso y decide quien lo
obtiene, cuando lo obtiene y durante cuanto tiempo.
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:

Compartir Recursos usando Multiplexación


Tiempo Espacio
CPU, Impresora Memoria, Disco Duro
Cuando un recurso se multiplexa en Cuando un recurso se multiplexa en
el tiempo, los distintos programas o el espacio, cada programa o usuario
usuarios Toman turnos para utilizarlo 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 a través de abstracciones de mayor
nivel (máquina extendida) que facilitan su uso.
Proporciona servicios para:
 Creación de programas
 Ejecución de programas
 Operaciones de Entrada/Salida
 Manipulación y control del sistema de archivos
 Detección de errores
 Control del acceso al sistema
 Elaboración de informes estadísticos

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)
Abstracción
El SO oculta la complejidad a través de:
•La definición, e de abstracciones p/ facilitar el uso
•Implementación del Sistema de Computación.
Que es una abstracción?
 Una abstracción está definida x:
• Un tipo de dato, y Estos 2 aspectos, q’ representan la
• Un conjunto de operaciones q definición de una abstracción, se
almacenan en un registro.
se ejecutan sobre el tipo de dato.
Gráficamente lo podríamos representar como,

A través de la inf. que se almacena en


el registro p/ la abstracción, el SO lo
puede gestionar.
Reg.
(abstracción)

 Implementación de la abstracción, realizada por el sistema


operativo, a través de programas interpretes.
Abstracción

• Tipo de Datos Definición de la


• Conjunto de Operaciones
Implementación
ABSTRACCION
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.
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.
Niveles de un Sistema Operativo
s/ Stanlling Ciclo Escolar 2013-2014B

 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 o llamadas al sistema en forma de una interfaz de
programación o API (application programming interface).
 Desde el punto de vista de los programas, esta capa extiende la
funcionalidad de la computadora, por lo que se suele decir que el sistema
operativo ofrece una máquina virtual extendida a los programas. De esta
forma se facilita la elaboración de los programas, puesto que se apoyan en
las funciones que le suministra el sistema operativo.
 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.
Funciones básicas
de un Sistemas Operativos

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
Clasificación de Sistemas Operativos por Servicio

El sistema operativo por servicio hace referencia al punto de vista


del usuario final (visión externa):
• Por el numero de usuarios: Multiprogramación ó multitarea:
Estos sistemas pueden ejecutar varios
 Monousuarios programas a la vez.
Utilizan la CPU según la importancia o
 Multiusuarios prioridad que el sistema le defina.
Dentro de este tipo encontramos dos
• Por el numero de tareas: procedimientos:
• Simulada: Simula que hace varias tareas y

 Monotareas procesos pero se hace uno a uno(Proceso


A + Proceso B)

 Multitareas • Real: Se ejecutan a la vez, ya que el


sistema dispone de varias CPUs .

• Por el numero de procesadores:


 Monoproceso Una sola CPU.
Todos los trabajos pasan por esa CPU.
 Multiproceso Puede ser Monotarea, Multitarea,
Monousuario, Multiusuario.
Software – Sist. Operativo
Ejercicios: Responder como V o F las siguientes afirmaciones
• 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.
• Los Sistemas Operativos Multiusuario pueden funcionar en red.
• Los Sistemas Monotareas ejecutan varias tareas a la vez.
• Con los Sistemas Multitarea se pueden utilizar varios
programas a la vez, porque están capacitados para mantener
todos los datos en memoria.
Otras formas de clasificar el Software
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 (Software 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
Software Libre VS Software Propietario
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).
• Un job es un lote de tarjetas perforadas por el programador 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.)
Paquete de tarjetas
para un sistema Fig. Ejemplo de utilización del sistema Tratamiento de
sencillo de por lotes
interrupciones
Controlador de

Monitor
$END
Dispositivos

$RUN Secuenciamiento
$LOAD de trabajos
Intérprete del
Lenguaje de
$FTN
Control

$JOB Programa
a compilar
Zona del
Programa
del
Usuario

Fig. Uno de los primeros sistemas de


Disposición de
procesamiento por lotes.
a) Los programadores llevan las tarjetas a la 1401. la memoria
b) 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 de 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.

Monoprogramación
Ejecutar Ejecutar
Solo un programa Esperar E/S Esperar E/S
en ejecución a la vez Tiempo

Ejecutar Ejecutar Ejecutar Ejecutar Ejecutar Ejecutar Fig.Un sistema de multiprogramación


Multiprogramación
Más de un programa A B C Esperar E/S A B C Esperar E/S con tres trabajos en memoria.
en ejecución a la vez Tiempo
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
Tareas del Sistema Operativo


•Sistema Multitarea
Usuario 2 •Sistema Interactivo
•Sistema de Archivos


(archivos/directorios)
Usuario 1
•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’.
 Crecimientos de las redes de computadoras personales que ejecutan sistemas operativos
en 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: Red de Server
comunicación
 Los usuarios están conscientes de la existencia de varias SO
computadoras conectadas.
 Cada máquina ejecuta su propio S. O. local.
 Son similares a los S. O. de un solo procesador pero con el SO SO

agregado de:
Controlador de interfaz de la red y su software de bajo
SO SO
nivel.
Software para conexión y acceso a archivos remotos, etc.
Sistemas operativos distribuidos:
 Aparece ante los usuarios como un S. O. de un solo procesador, aún cuando de
soporte a varios procesadores.
 Los usuarios no son conscientes del lugar donde se ejecutan sus programas o
donde se encuentran sus archivos, ya que lo debe administrar el S. O.
automáticamente.
 Deben permitir que un programa se ejecute mediante varios procesadores a la
vez, maximizando el paralelismo.
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.

También podría gustarte