Software

28

description

 

Transcript of Software

Page 1: Software
Page 2: Software

Software Lenguaje de

Programación

Lenguaje Ensamblador

Lenguaje de Máquina

Lenguaje de alto nivel

Sistema Operativo

Sistema Operativo Windows

Page 3: Software

(ERICK LANDAETA)

Page 4: Software

¿Qué es Software?Se denomina software (palabra de origen anglosajón, pronunciada "sóft-uer"), programa, equipamiento lógico o soporte lógico a todos los componentes intangibles de una computadora, es decir, al conjunto de programas y procedimientos necesarios para hacer posible la realización de una tarea específica, en contraposición a los componentes físicos del sistema (hardware). Esto incluye aplicaciones informáticas tales como un procesador de textos, que permite al usuario realizar una tarea, y software de sistema como un sistema operativo, que permite al resto de programas funcionar adecuadamente, facilitando la interacción con los componentes físicos y el resto de aplicaciones.

Programas en la pantalla de una

computadora

Page 5: Software

FormasEl software adopta varias formas en distintos momentos de su ciclo de vida:

Código fuente escrito por programadores. Contiene el conjunto de instrucciones destinadas a la computadora.

Código objeto: resultado del uso de un compilador sobre el código fuente. Consiste en una traducción de éste último. El código objeto no es directamente inteligible por el ser humano, pero tampoco es directamente entendible por la computadora. Se trata de una representación intermedia del código fuente.

Código ejecutable: resultado de enlazar uno o varios fragmentos de código objeto. Constituye un archivo binario con un formato tal que el sistema operativo es capaz de cargarlo en la memoria de una computadora, y proceder a su ejecución.

Formas de Software

Page 6: Software

Proceso de creaciónEl proceso de creación de software es materia de la ingeniería del software, una de las ramas propias de la Ingeniería Informática. Es un proceso complejo que involucra diversas tareas de gestión y desarrollo. Como resumen de las etapas para la creación de un software, se pueden mencionar:AnálisisDesarrolloConstrucciónPruebas (unitarias e integradas)Paso a ProducciónDentro de estas etapas, existen sub-etapas (para algunos son otras etapas, como por ejemplo, paso a ambiente beta/rc).

Page 7: Software

(ERICK LANDAETA)

Page 8: Software

OrigenCon la llegada de las computadoras aparecen las secuencias de posiciones de llaves eléctricas que debían conectarse para obtener una acción determinada, una llave conectada era un 1 y una llave desconectada era un 0. Una sucesión de llaves en cualquiera de sus dos posiciones definía una secuencia de ceros y unos (por ejemplo: 0100011010011101...) que venía a representar una instrucción o un conjunto de instrucciones (programa) para el ordenador (o computador) en el que se estaba trabajando. A esta primera forma de especificar programas para una computadora se la denomina lenguaje máquina o código máquina.

Page 9: Software

¿Qué es?Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones.Aunque muchas veces se usa lenguaje de programación y lenguaje informático como si fuesen sinónimos, no tiene por qué ser así, ya que los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como, por ejemplo, el HTML (lenguaje para el marcado de páginas web).

Libros sobre lenguaje de

Programación

Page 10: Software

(ACOSTA MARIANGELYS)

Page 11: Software

¿Qué es?El Lenguaje Ensamblador es un tipo de lenguaje de bajo nivel utilizado para escribir programas informáticos, y constituye la representación más directa del código máquina específico para cada arquitectura de computadoras legible por un programador.

Fue usado ampliamente en el pasado para el desarrollo de software, pero actualmente sólo se utiliza en contadas ocasiones, especialmente cuando se requiere la manipulación directa del hardware o se pretenden rendimientos inusuales de los equipos.

Lenguaje del Intel 8088

Page 12: Software

EnsambladoresUn ensamblador crea código objeto traduciendo instrucciones mnemónicas a códigos operativos, e interpretando los nombres simbólicos para direcciones de memoria y otras entidades. El uso de referencias simbólicas es una característica básica de los ensambladores, evitando tediosos cálculos y direccionamiento manual después de cada modificación del programa. La mayoría de los ensambladores también incluyen facilidades para crear macros , a fin de generar series de instrucciones cortas que se ejecutan en tiempo real, en lugar de utilizar subrutinas.

Page 13: Software

LenguajeUn programa escrito en lenguaje Ensamblador consiste en una serie de instrucciones que corresponden al flujo de órdenes ejecutables que pueden ser cargadas en la memoria de una computadora.

Cada arquitectura de computadoras tiene su propio lenguaje Ensamblador. Los ordenadores difieren en el tipo y número de operaciones que soportan; también pueden tener diferente cantidad de registros, y distinta representación de los tipos de datos en memoria. Aunque la mayoría de las computadoras son capaces de cumplir esencialmente las mismas funciones, la forma en que lo hacen difiere, y los respectivos lenguajes Ensambladores reflejan tal diferencia.

Page 14: Software

(LUGO ROSLYN)

Page 15: Software

Lenguaje de MáquinaEl lenguaje de máquina está formado por instrucciones sencillas, que -dependiendo de la estructura del procesador- pueden especificar:Registros específicos para operaciones aritméticas, direccionamiento o control de funciones.Posiciones de memoria específicas (offset).Modos de direccionamiento usados para interpretar operandos.

Las operaciones más complejas se realizan combinando estas instrucciones sencillas, que pueden ser ejecutadas secuencialmente o mediante instrucciones de control de flujo.

Page 16: Software

Las operaciones disponibles en la mayoría de los conjuntos de instrucciones incluye:

mover llenar un registro con un valor constante mover datos de una posición de memoria a un registro o viceversa escribir y leer datos de dispositivos

computar sumar, restar, multiplicar o dividir los valores de dos registros, colocando el

resultado en uno de ellos o en otro registro realizar operaciones binarias, incluyendo operaciones lógicas

(AND/OR/XOR/NOT) comparar valores entre registros (mayor, menor, igual)

afectar el flujo del programa saltar a otra posición en el programa y ejecutar instrucciones allí saltar si se cumplen ciertas condiciones (IF) saltar a otra posición, pero guardar el punto de salida para retornar (CALL,

llamada a subrutinas)

Algunas computadoras incluyen instrucciones complejas dentro de sus capacidades. Una sola instrucción compleja hace lo mismo que en otras computadoras puede requerir una larga serie de instrucciones, por ejemplo:

salvar varios registros en la pila de una sola vez mover grandes bloques de memoria operaciones aritméticas complejas o de punto flotante (seno, coseno, raíz

cuadrada)

Page 17: Software

(DELGADO VICTOR)

Page 18: Software

¿Qué son?Los lenguajes de programación de alto nivel se caracterizan por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las máquinas. En los primeros lenguajes de alto nivel la limitación era que se orientaban a un área específica y sus instrucciones requerían de una sintaxis predefinida. Se clasifican como lenguajes procedimentales. Otra limitación de los lenguajes de alto nivel es que se requiere de ciertos conocimientos de programación para realizar las secuencias de instrucciones lógicas. Los lenguajes de muy alto nivel se crearon para que el usuario común pudiese solucionar tal problema de procesamiento de datos de una manera más fácil y rápida.

Page 19: Software

La programación en un lenguaje de bajo nivel como el lenguaje de la máquina o el lenguaje simbólico tiene ciertas ventajas:

Mayor adaptación al equipo. Posibilidad de obtener la máxima velocidad con mínimo uso de memoria. Pero también tiene importantes inconvenientes: Imposibilidad de escribir código independiente de la máquina. Mayor dificultad en la programación y en la comprensión de los programas.

Por esta razón, a finales de los años 1950 surgió un nuevo tipo de lenguajes de programación que evitaba estos inconvenientes, a costa de ceder un poco en las ventajas. Estos lenguajes se llaman "de tercera generación" o "de alto nivel", en contraposición a los "de bajo nivel" o "de nivel próximo a la máquina".

Principales lenguajes de alto nivelAda ALGOL Basic C++ C# Clipper COBOL Fortran

Page 20: Software

(GOMEZ IVAN)

Page 21: Software

¿Qué es?Un sistema operativo es un programa o conjunto de programas de computadora destinado a permitir una gestión eficaz de sus recursos. Comienza a trabajar cuando se enciende el computador, y gestiona el hardware de la máquina desde los niveles más básicos, permitiendo también la interacción con el usuario.Un sistema operativo se puede encontrar normalmente en la mayoría de los aparatos electrónicos que utilicen microprocesadores para funcionar, ya que gracias a estos podemos entender la máquina y que ésta cumpla con sus funciones (teléfonos móviles, reproductores de DVD, autoradios... y computadoras)

Page 22: Software

Funciones Básicas

Los sistemas operativos, en su condición de capa software que posibilita y simplifica el manejo de la computadora, desempeñan una serie de funciones básicas esenciales para la gestión del equipo. Entre las más destacables, cada una ejercida por un componente interno (módulo en núcleos monolíticos y servidor en microkernels), podemos reseñar las siguientes:Proporcionar comodidad en el uso de un computador.Gestionar de manera eficiente los recursos del equipo, ejecutando servicios para los procesos (programas)Brindar una interfaz al usuario, ejecutando instrucciones (comandos).Permitir que los cambios debidos al desarrollo del propio SO se puedan realizar sin interferir con los servicios que ya se prestaban (evolutividad).Un sistema operativo desempeña 5 funciones básicas en la operación de un sistema informático: suministro de interfaz al usuario, administración de recursos, administración de archivos, administración de tareas y servicio de soporte y utilerías.

Page 23: Software

Gestor de recursos

Como gestor de recursos, el Sistema Operativo administra

La CPU (Unidad Central de Proceso, donde está alojado el microprocesador).

Los dispositivos de E/S (entrada y salida)La memoria principal (o de acceso directo).

Los discos (o memoria secundaria).Los procesos (o programas en ejecución)....y en general todos los recursos del sistema.

Page 24: Software

Características

Administración de tareasMonotarea: Solamente puede ejecutar un proceso (aparte de los procesos del propio S.O.) en un momento dado. Una vez que empieza a ejecutar un proceso, continuará haciéndolo hasta su finalización y/o interrupción.Multitarea: Es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de S.O. normalmente asigna los recursos disponibles (CPU, memoria, periféricos) de forma alternada a los procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez, de forma concurrente.

Administración de usuariosMonousuario: Si sólo permite ejecutar los programas de un usuario al mismo tiempo.Multiusuario: Si permite que varios usuarios ejecuten simultáneamente sus programas, accediendo a la vez a los recursos de la computadora.

Page 25: Software

Sistema Operativo Windows

Page 26: Software

Más usado (XP) Más moderno (vista)

Page 27: Software

Aplicaciones Populareso Internet Explorer

oReproductor de Windows Media

oPaint

Page 28: Software

SeguridadUna de las principales críticas que con frecuencia reciben los sistemas operativos Windows es la debilidad del sistema en lo que a seguridad se refiere y el alto índice de vulnerabilidades críticas. El propio Bill Gates, fundador de Microsoft, ha asegurado en repetidas ocasiones que la seguridad es objetivo primordial para su empresa.Partiendo de la base de que no existe un sistema completamente seguro, son muchos los estudios que pretenden evaluar la seguridad de los sistemas operativos más frecuentes (Windows, Linux, Mac OS...). Sin embargo, estos estudios son con frecuencia sesgados y sus criterios son sometidos a los intereses de las empresas auditoras y sus socios.