SlideShare una empresa de Scribd logo
1 de 40
Descargar para leer sin conexión
Tema 2. Software.
Fundamentos de Informática
Grado en Ingeniería Mecánica
Definición de software
«Es el conjunto de los programas de cómputo, procedimientos, reglas,
documentación y datos asociados que forman parte de las operaciones
de un sistema de computación.»
Extraído del estándar 729 del IEEE
• Computador = Hardware + Software
• El software determina el comportamiento del hardware
• Cada programa se desarrolla para un propósito específico
Recordar que un computador era una máquina de propósito general
• Cuando el computador usa un programa se dice que está ejecutando
ese programa
• El primer paso para ejecutar un programa es copiarlo de la memoria
secundaria a la memoria RAM
Programa fuente vs ejecutable
• Código fuente de un programa
o Fichero de texto que contiene las
instrucciones escritas en un lenguaje
de programación que debe seguir la
computadora para ejecutar dicho
programa
o Dicho fichero ha de ser compilado para
generar un código ejecutable
• Código ejecutable o programa
ejecutable
o Fichero binario que contiene las
instrucciones escritas en lenguaje
máquina que debe seguir la
computadora para ejecutar dicho
programa
Indice
1) Clasificaciones del software
2) Sistemas Operativos
3) Software de aplicación
4) Programación de software
Clasificaciones del software
Según la función desarrollada en el
computador
• Software de sistema
o Utilizar los componentes del computador
o Software de control – Sistema Operativo
o Utilidades de diagnóstico y mantenimiento
• Software de aplicación
o Realizar tareas específicas para los usuarios
• Software de programación – un programador es
un usuario avanzado
Clasificaciones del software
Según la licencia de uso
• Software propietario
o El software pertenece a una persona o empresa
o Sujeto a derechos de autor
o Su distribución, reproducción, modificación y comercialización está
controlada por el propietario
o Frecuentemente el usuario sólo tiene acceso al código ejecutable
• Software libre (open source)
o El software pertenece al usuario
o El autor conserva la propiedad intelectual pero suele renunciar a
cobrar por su distribución
o El autor permite su distribución, reproducción, modificación y
comercialización normalmente en los mismos términos
 Licencia GPL
o El código fuente está disponible
Clasificaciones del software
Según su forma de distribución
• Adquisición de licencia
o La mayoría del software propietario tiene este tipo de distribución
• Freeware
o Software liberado por el autor para su uso gratuito
o Debe ser utilizado en las formas expresamente permitidas por el autor
o La mayoría del software libre es gratuito
• Shareware y demo
o Software sujeto a derechos de autor
o Distribuido sin cargo como versión de evaluación
o Prototipos o versiones incompletas (beta)
• Abandonware
o Software sujeto a derechos de autor aunque cedido por el autor para su
uso gratuito
o Debido a su antigüedad no se comercializa
Sistemas Operativos
Definición
• Software de control del
computador
• Proporciona la plataforma de
interacción entre
o dispositivos de hardware - drivers
o aplicaciones
o usuario que utiliza el computador
• Responsable de gestionar y
coordinar los programas en
ejecución y llevar a cabo la
asignación de los recursos
Sistemas Operativos
Funciones
• Posibilita la comunicación usuario-máquina
• Gestión de recursos
o Periféricos
o Memoria secundaria
o Memoria principal
o CPU
• Proporciona un entorno de trabajo al
programador (usuario avanzado)
Sistemas Operativos
Funciones: comunicación usuario-
máquina
• Proporciona una interfaz de usuario
o Interfaz gráfica
 Metáfora del escritorio donde se presentan los recursos disponibles
en forma de objetos
 El ratón es el dispositivo de entrada
 Ventanas, iconos y menús
o Interfaz textual
 Lenguaje de comandos
 El teclado es el dispositivo de entrada
 Línea de comandos o SHELL
• Estandarización de la comunicación
o Dos máquinas diferentes con el mismo S.O. se utilizan igual a
nivel de usuario
Sistemas Operativos
Funciones: gestión de periféricos
• Periférico – dispositivo de entrada y/o salida de
datos
• Asignación de uso de periféricos a los
programas
• Gestión eficiente de los recursos periféricos
• Transformación de señales en datos y viceversa
o Teclado – pulsaciones en datos
o Impresora – datos en caracteres imprimibles
Sistemas Operativos
Funciones: gestión de memoria
principal
• Copiar en memoria RAM los programas que entran en
ejecución
• Copiar en memoria RAM los datos utilizados por los
programas en ejecución
• Compartir memoria RAM entre programas
• Registro de zonas de memoria “prohibidas” y
“permitidas”
• Registro de la memoria RAM no utilizada
• Recuperar zonas de memoria RAM
• Interacción entre la memoria RAM y el resto de la
memoria principal (principalmente Caché)
Sistemas Operativos
Funciones: gestión de memoria
secundaria
• Registro de localización de programas y datos
• Registro de zonas “prohibidas” y “permitidas”
• Registro de memoria secundaria no utilizada
• Recuperación de memoria secundaria no utilizada
o Borrado de ficheros - papelera
• Organización de la información
o jerarquía de ficheros y directorios en forma de árbol invertido
• Seguridad
• Sistema de ficheros (formatear)
o FAT, NTFS
o Ext2, ext3, ext4
o HFS
Sistemas Operativos
Funciones: gestión de la CPU
• Los programas se dividen en tareas mas
sencillas – procesos
• Cada proceso necesita tiempo de
dedicación del microprocesador
• Asignación de tiempos de
microprocesador varía entre S.O. -
eficiencia
o Ejemplo: monotarea vs multitarea
Sistemas Operativos
Funciones: entorno de trabajo para el
programador
• Proporciona herramientas para la creación de
programas
• Automatiza el mecanismo de ejecución de los
programas
• Facilita el acceso a los dispositivos de hardware
• Proporciona acceso controlado a los archivos
• Se encarga de la detección y respuesta ante errores de
hardware
• Proporciona herramientas para la contabilidad y
estadísticas de uso y rendimiento
Componentes principales de un
Sistema Operativo
• Procesador de mandatos
o Comunicación con el usuario
• Planificador
• Gestor de archivos
o Gestión de la memoria secundaria
• Gestor de memoria
o Gestión de la memoria principal
• Asignador de recursos
o Gestión de periféricos, memoria principal, memoria
secundaria y CPU
• Distribuidor
o Gestión del tiempo de proceso de la CPU
• Kernel
Clasificaciones de los Sistemas
Operativos
• Según el tipo de interacción con el
usuario
o Proceso por lotes
o Interactivos
o Tiempo real
• Según el número de usuarios que es
capaz de distinguir
o Monousuario
o Multiusuario
 Superusuario - administrador, root
Clasificaciones de los Sistemas
Operativos
• Según el número de tareas que es capaz
de atender simultáneamente
o Monotarea
o Multitarea
• Según el número de usuarios que es
capaz de atender simultáneamente
o Monopuesto
o Multipuesto
 Terminales de trabajo
Sistemas Operativos más utilizados
MS DOS - 1981
o Proceso por lotes, monousuario, monotarea,
monopuesto
o Interfaz textual
Windows - 1993
o Interactivo, monousuario-multiusuario,
multitarea, monopuesto
o Interfaz gráfica
o Interfaz textual
Windows NT - 1995
o Interactivo, multiusuario, multitarea,
monopuesto
o Interfaz gráfica
o Interfaz textual
o Sistema operativo para administración de
servidores en red
Sistemas Operativos más utilizados
UNIX - 1969
o Interactivo, multiusuario, multitarea,
multipuesto
o Interfaz textual
o Interfaz gráfica
o Sistema operativo para administración de
servidores en red y supercomputación
Linux - 1991
o Interactivo, multiusuario, multitarea,
multiopuesto
o Interfaz textual
o Interfaz grafica
o Sistema operativo para administración de
servidores en red y supercomputación
o Software libre
Sistemas Operativos más utilizados
• Mac-OS – 1984
o Interactivo, monousuario-multiusuario, multitarea, monopuesto
o Interfaz gráfica
o Kernel basado en Linux
o Sistema operativo para diseño gráfico
• Estadísticas de uso
o http://gs.statcounter.com/
Utilidades de diagnóstico y
mantenimiento
o Antivirus – Prevención, detección y eliminación de
malware en computadores
o Compresores de archivos – Aprovechamiento de
la memoria secundaria
o Defragmentador – Redistribución del espacio en
disco asignando ocupaciones contiguas a cada
archivo (Windows)
o Software de respaldo – Copias de seguridad
o Software de recuperación – Posibilidad de
recuperar archivos borrados por error
o …
Software de aplicación
• Editores de texto
o Block de notas, Notepad, Kate, Gedit, VI,…
• Aplicaciones ofimáticas
o Microsoft office
o Open office
• Gestores de bases de datos
o SQL, Access, Oracle…
• Procesado de imagen
o Photoshop, The Gimp, Inkskape…
• Navegadores
o Internet explorer, Mozilla Firefox, Google chrome…
• Gestores de correo electrónico
o Outlook, Eudora, Mozilla Thunderbird…
• Generadores de sitios web
o Microsoft Frontpage, Dreamweaver, Mozilla SeaMonkey…
• …
Software de aplicación libre: filosofía
Software de aplicación libre:
tres motivos por los que utilizarlo
Software desarrollado pensando en beneficio del
usuario vs software desarrollado pensando en
beneficios económicos
o Ejemplo: Escritorio de KDE de Linux vs
escritorio de Windows
o Ejemplo: Problemas de seguridad de Windows
Proporciona competencia real a software propietario, lo
que supone una mejora de la calidad de ambos a largo
plazo
o Ejemplo: Competencia entre Mozilla Firefox e Internet Explorer
Legalidad y ética en la utilización del software
Linux people are happy
Software de aplicación libre:
dónde encontrar software libre
• Portal del Software libre
http://es.wikipedia.org/wiki/Portal:Software_libre
• Oficina del Software libre de la Universidad de
Zaragoza
http://osluz.unizar.es/
Software de aplicación:Malware
• Malicious software – software
cuyo objetivo es infiltrarse o
dañar un computador sin el
consentimiento de su usuario
• Clasificación
o Malware infeccioso –
virus y gusanos
o Malware oculto –
troyanos y puertas traseras
o Publicidad –
spyware y adware
o Robar información personal – keylogger
y stealers
• Malware en Windows vs Linux
Programación de software:
Definición
• La programación es el proceso de diseñar, escribir,
depurar y mantener el código fuente de programas
ejecutables en una computadora.
• El código fuente es escrito en un lenguaje de
programación entendible por el programador. Dicho
código no se puede ejecutar directamente en una
computadora.
• El código fuente debe someterse a un proceso de
traducción para convertirlo en lenguaje máquina
directamente ejecutable por computador.
Programación de software:
Clasificación de los lenguajes de
programación en función de la cercanía al
lenguaje máquina
• Microprogramación
• Lenguaje máquina comercial
• Kernel del Sistema Operativo
• Ensamblador
• Lenguajes de programación de alto
nivel
• Aplicaciones
Programación de software:
Clasificación de los lenguajes de
programación del
desarrollo desde la aparición de los
primeros computadores
• Primera generación
o Lenguaje máquina y ensamblador.
• Segunda generación
o Lenguajes simbólicos. LISP (1957) y Prolog (1972).
o Primeros lenguajes de alto nivel. Fortran (1957), Algol (1958), y Cobol (1960).
• Tercera generación
o Lenguajes de alto nivel. Basic (1964), Pascal (1968), C (1971) y Ada (1979).
• Cuarta generación
o Orientados a aplicaciones de gestión y manejo de bases de datos. SQL (1986).
o Orientados a objetos. C++ (1983), Java (1995), C# (2001)…
• Quinta generación
o Orientados al procesado de lenguajes naturales
Programación de software:
Clasificación de los lenguajes de
programación de alto nivel en función
del paradigma de programación
• Declarativos
o Los programas se construyen mediante descripciones de
funciones o expresiones lógicas
 Funcionales - Lisp
 Lógicos - Prolog
• Imperativos
o Los programas se construyen mediante instrucciones
 No estructurados – Fortran, Cobol…
 Estructurados – C, Pascal, Ada…
• Orientación a objetos
o Los programas se construyen mediante los datos y las
operaciones que actúan sobre ellos
 C++, Java, Eiffel…
Lenguajes de programación:
Sintaxis y Semántica
• Sintaxis
o Conjunto de reglas que indican cómo realizar la
construcción del lenguaje
 Palabras reservadas – class, int, boolean, if, for, public…
 Operadores - + * / && || …
 Separadores – { } ;
• Semántica
o Conjunto de reglas que permiten determinar el
significado de las construcciones del lenguaje
• Un programa se considerará correcto si lo es
sintáctica y semánticamente
Lenguajes de programación:
Compilación vs interpretación
• Compilador - programa que permite traducir
el código fuente de un programa en lenguaje de
alto nivel, a otro lenguaje de nivel inferior
(típicamente a lenguaje máquina).
• Intérprete – programa que permite analizar y
ejecutar el código fuente de un programa en alto
nivel. La traducción se realiza instrucción por
instrucción y normalmente el resultado de la
traducción no se almacena en ninguna forma.
Lenguajes de programación:
Proceso de compilación
Código fuente
Código objeto
Código ejecutable
lenguaje de programación
(alto nivel)
lenguaje máquina
(bajo nivel)
lenguaje máquina
(bajo nivel)
Compilador
Enlazador o linker
Lenguajes de programación:
Ejecución
• Ejecución del código ejecutable
• Utilización del intérprete
• Máquina virtual
o La compilación genera un código intermedio que no
es directamente ejecutable por el computador
o La máquina virtual instalada en el computador es
capaz de ejecutar el código intermedio
o En java, el código intermedio recibe el nombre de
Bytecode y la máquina virtual recibe el nombre de
Máquina Virtual de Java.
Lenguajes de programación:
Depuración
• Tipos de errores
o Sintácticos
 El código fuente es sintácticamente incorrecto
 El compilador es capaz de identificar este tipo
de errores
o En tiempo de ejecución
 Se produce un error durante la ejecución del
programa y aborta
 División por cero, pantallazo azul de Windows
95
o Semánticos
 El programa no se comporta como debería
 El depurador constituye una herramienta muy
útil para ayudar al programador a resolver el
problema
Lenguajes de programación:
Bugs
• Depurador
• Debugger
• El primer bug
Lenguajes de programación:
Entorno integrado de desarrollo
• Editor de texto
o Desarrollo de código fuente
• Compilador y enlazador
o Traducción de código fuente a código
máquina o código intermedio
• Depurador
o Detección y corrección de bugs en programas
Blue J tour

Más contenido relacionado

La actualidad más candente (17)

7. software
7. software7. software
7. software
 
Servicio nacional de aprendizaje – sena[514]
Servicio nacional de aprendizaje – sena[514]Servicio nacional de aprendizaje – sena[514]
Servicio nacional de aprendizaje – sena[514]
 
Software
SoftwareSoftware
Software
 
7. software
7. software7. software
7. software
 
7. software
7. software7. software
7. software
 
H Ardware Y Software
H Ardware Y SoftwareH Ardware Y Software
H Ardware Y Software
 
Actividad n° 10 2
Actividad n° 10 2Actividad n° 10 2
Actividad n° 10 2
 
informatica basica 3
informatica basica 3informatica basica 3
informatica basica 3
 
Los sistemas operativos
Los sistemas operativosLos sistemas operativos
Los sistemas operativos
 
Proyecto Software de Base
Proyecto Software de BaseProyecto Software de Base
Proyecto Software de Base
 
Software de base
Software de baseSoftware de base
Software de base
 
So use
So useSo use
So use
 
So use
So useSo use
So use
 
So use
So useSo use
So use
 
Servicio nacional de aprendizaje – sena[514]
Servicio nacional de aprendizaje – sena[514]Servicio nacional de aprendizaje – sena[514]
Servicio nacional de aprendizaje – sena[514]
 
5
55
5
 
Presentacion sistemas operativos
Presentacion sistemas operativosPresentacion sistemas operativos
Presentacion sistemas operativos
 

Similar a Tema 2 "Software"

Espoch Informatica I
Espoch Informatica IEspoch Informatica I
Espoch Informatica Iedgarrolando
 
Organizacion de los sistemas operativos
Organizacion de los sistemas operativosOrganizacion de los sistemas operativos
Organizacion de los sistemas operativosJoseGCordero
 
Arquitectura y funcionamiento del ordenador.
Arquitectura y  funcionamiento del ordenador.Arquitectura y  funcionamiento del ordenador.
Arquitectura y funcionamiento del ordenador.lauramario9897
 
Actividad para evaluar el primer parcial
Actividad para evaluar el primer parcialActividad para evaluar el primer parcial
Actividad para evaluar el primer parcialcobaej plantel10
 
Actividad para-evaluar-el-primer-parcial DFSO
Actividad para-evaluar-el-primer-parcial DFSO Actividad para-evaluar-el-primer-parcial DFSO
Actividad para-evaluar-el-primer-parcial DFSO cobaej plantel10
 
Mantenimiento De Hardware
Mantenimiento De HardwareMantenimiento De Hardware
Mantenimiento De HardwareFernando42799
 
Introducción a los Sistemas Operativos
Introducción a los Sistemas OperativosIntroducción a los Sistemas Operativos
Introducción a los Sistemas OperativosGabriela
 
Dueño de microsoft
Dueño de microsoftDueño de microsoft
Dueño de microsoft07223383
 
Dueño de microsoft
Dueño de microsoftDueño de microsoft
Dueño de microsoft07223383
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativosclaudiacce
 
Presentacion sistemas operativos
Presentacion sistemas operativosPresentacion sistemas operativos
Presentacion sistemas operativosmayleentorrez
 
Los sistemas operativos
Los sistemas operativosLos sistemas operativos
Los sistemas operativosGabriel Piña
 

Similar a Tema 2 "Software" (20)

Informatica
InformaticaInformatica
Informatica
 
Espoch Informatica I
Espoch Informatica IEspoch Informatica I
Espoch Informatica I
 
Dispositivos
DispositivosDispositivos
Dispositivos
 
Organizacion de los sistemas operativos
Organizacion de los sistemas operativosOrganizacion de los sistemas operativos
Organizacion de los sistemas operativos
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Arquitectura y funcionamiento del ordenador.
Arquitectura y  funcionamiento del ordenador.Arquitectura y  funcionamiento del ordenador.
Arquitectura y funcionamiento del ordenador.
 
Actividad para evaluar el primer parcial
Actividad para evaluar el primer parcialActividad para evaluar el primer parcial
Actividad para evaluar el primer parcial
 
Actividad para-evaluar-el-primer-parcial DFSO
Actividad para-evaluar-el-primer-parcial DFSO Actividad para-evaluar-el-primer-parcial DFSO
Actividad para-evaluar-el-primer-parcial DFSO
 
Mantenimiento De Hardware
Mantenimiento De HardwareMantenimiento De Hardware
Mantenimiento De Hardware
 
Primer parcial Dfso
Primer parcial DfsoPrimer parcial Dfso
Primer parcial Dfso
 
Introducción a los Sistemas Operativos
Introducción a los Sistemas OperativosIntroducción a los Sistemas Operativos
Introducción a los Sistemas Operativos
 
Dueño de microsoft
Dueño de microsoftDueño de microsoft
Dueño de microsoft
 
Dueño de microsoft
Dueño de microsoftDueño de microsoft
Dueño de microsoft
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Tarea de DFSO COBAEJ #10
Tarea de DFSO COBAEJ #10Tarea de DFSO COBAEJ #10
Tarea de DFSO COBAEJ #10
 
Presentacion sistemas operativos
Presentacion sistemas operativosPresentacion sistemas operativos
Presentacion sistemas operativos
 
Presentacion sistemas operativos
Presentacion sistemas operativosPresentacion sistemas operativos
Presentacion sistemas operativos
 
Los sistemas operativos
Los sistemas operativosLos sistemas operativos
Los sistemas operativos
 

Último

ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024AndreRiva2
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicaFlor Idalia Espinoza Ortega
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 

Último (20)

ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamica
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 

Tema 2 "Software"

  • 1. Tema 2. Software. Fundamentos de Informática Grado en Ingeniería Mecánica
  • 2. Definición de software «Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones de un sistema de computación.» Extraído del estándar 729 del IEEE • Computador = Hardware + Software • El software determina el comportamiento del hardware • Cada programa se desarrolla para un propósito específico Recordar que un computador era una máquina de propósito general • Cuando el computador usa un programa se dice que está ejecutando ese programa • El primer paso para ejecutar un programa es copiarlo de la memoria secundaria a la memoria RAM
  • 3. Programa fuente vs ejecutable • Código fuente de un programa o Fichero de texto que contiene las instrucciones escritas en un lenguaje de programación que debe seguir la computadora para ejecutar dicho programa o Dicho fichero ha de ser compilado para generar un código ejecutable • Código ejecutable o programa ejecutable o Fichero binario que contiene las instrucciones escritas en lenguaje máquina que debe seguir la computadora para ejecutar dicho programa
  • 4. Indice 1) Clasificaciones del software 2) Sistemas Operativos 3) Software de aplicación 4) Programación de software
  • 5. Clasificaciones del software Según la función desarrollada en el computador • Software de sistema o Utilizar los componentes del computador o Software de control – Sistema Operativo o Utilidades de diagnóstico y mantenimiento • Software de aplicación o Realizar tareas específicas para los usuarios • Software de programación – un programador es un usuario avanzado
  • 6. Clasificaciones del software Según la licencia de uso • Software propietario o El software pertenece a una persona o empresa o Sujeto a derechos de autor o Su distribución, reproducción, modificación y comercialización está controlada por el propietario o Frecuentemente el usuario sólo tiene acceso al código ejecutable • Software libre (open source) o El software pertenece al usuario o El autor conserva la propiedad intelectual pero suele renunciar a cobrar por su distribución o El autor permite su distribución, reproducción, modificación y comercialización normalmente en los mismos términos  Licencia GPL o El código fuente está disponible
  • 7. Clasificaciones del software Según su forma de distribución • Adquisición de licencia o La mayoría del software propietario tiene este tipo de distribución • Freeware o Software liberado por el autor para su uso gratuito o Debe ser utilizado en las formas expresamente permitidas por el autor o La mayoría del software libre es gratuito • Shareware y demo o Software sujeto a derechos de autor o Distribuido sin cargo como versión de evaluación o Prototipos o versiones incompletas (beta) • Abandonware o Software sujeto a derechos de autor aunque cedido por el autor para su uso gratuito o Debido a su antigüedad no se comercializa
  • 8. Sistemas Operativos Definición • Software de control del computador • Proporciona la plataforma de interacción entre o dispositivos de hardware - drivers o aplicaciones o usuario que utiliza el computador • Responsable de gestionar y coordinar los programas en ejecución y llevar a cabo la asignación de los recursos
  • 9. Sistemas Operativos Funciones • Posibilita la comunicación usuario-máquina • Gestión de recursos o Periféricos o Memoria secundaria o Memoria principal o CPU • Proporciona un entorno de trabajo al programador (usuario avanzado)
  • 10. Sistemas Operativos Funciones: comunicación usuario- máquina • Proporciona una interfaz de usuario o Interfaz gráfica  Metáfora del escritorio donde se presentan los recursos disponibles en forma de objetos  El ratón es el dispositivo de entrada  Ventanas, iconos y menús o Interfaz textual  Lenguaje de comandos  El teclado es el dispositivo de entrada  Línea de comandos o SHELL • Estandarización de la comunicación o Dos máquinas diferentes con el mismo S.O. se utilizan igual a nivel de usuario
  • 11. Sistemas Operativos Funciones: gestión de periféricos • Periférico – dispositivo de entrada y/o salida de datos • Asignación de uso de periféricos a los programas • Gestión eficiente de los recursos periféricos • Transformación de señales en datos y viceversa o Teclado – pulsaciones en datos o Impresora – datos en caracteres imprimibles
  • 12. Sistemas Operativos Funciones: gestión de memoria principal • Copiar en memoria RAM los programas que entran en ejecución • Copiar en memoria RAM los datos utilizados por los programas en ejecución • Compartir memoria RAM entre programas • Registro de zonas de memoria “prohibidas” y “permitidas” • Registro de la memoria RAM no utilizada • Recuperar zonas de memoria RAM • Interacción entre la memoria RAM y el resto de la memoria principal (principalmente Caché)
  • 13. Sistemas Operativos Funciones: gestión de memoria secundaria • Registro de localización de programas y datos • Registro de zonas “prohibidas” y “permitidas” • Registro de memoria secundaria no utilizada • Recuperación de memoria secundaria no utilizada o Borrado de ficheros - papelera • Organización de la información o jerarquía de ficheros y directorios en forma de árbol invertido • Seguridad • Sistema de ficheros (formatear) o FAT, NTFS o Ext2, ext3, ext4 o HFS
  • 14. Sistemas Operativos Funciones: gestión de la CPU • Los programas se dividen en tareas mas sencillas – procesos • Cada proceso necesita tiempo de dedicación del microprocesador • Asignación de tiempos de microprocesador varía entre S.O. - eficiencia o Ejemplo: monotarea vs multitarea
  • 15. Sistemas Operativos Funciones: entorno de trabajo para el programador • Proporciona herramientas para la creación de programas • Automatiza el mecanismo de ejecución de los programas • Facilita el acceso a los dispositivos de hardware • Proporciona acceso controlado a los archivos • Se encarga de la detección y respuesta ante errores de hardware • Proporciona herramientas para la contabilidad y estadísticas de uso y rendimiento
  • 16. Componentes principales de un Sistema Operativo • Procesador de mandatos o Comunicación con el usuario • Planificador • Gestor de archivos o Gestión de la memoria secundaria • Gestor de memoria o Gestión de la memoria principal • Asignador de recursos o Gestión de periféricos, memoria principal, memoria secundaria y CPU • Distribuidor o Gestión del tiempo de proceso de la CPU • Kernel
  • 17. Clasificaciones de los Sistemas Operativos • Según el tipo de interacción con el usuario o Proceso por lotes o Interactivos o Tiempo real • Según el número de usuarios que es capaz de distinguir o Monousuario o Multiusuario  Superusuario - administrador, root
  • 18. Clasificaciones de los Sistemas Operativos • Según el número de tareas que es capaz de atender simultáneamente o Monotarea o Multitarea • Según el número de usuarios que es capaz de atender simultáneamente o Monopuesto o Multipuesto  Terminales de trabajo
  • 19. Sistemas Operativos más utilizados MS DOS - 1981 o Proceso por lotes, monousuario, monotarea, monopuesto o Interfaz textual Windows - 1993 o Interactivo, monousuario-multiusuario, multitarea, monopuesto o Interfaz gráfica o Interfaz textual Windows NT - 1995 o Interactivo, multiusuario, multitarea, monopuesto o Interfaz gráfica o Interfaz textual o Sistema operativo para administración de servidores en red
  • 20. Sistemas Operativos más utilizados UNIX - 1969 o Interactivo, multiusuario, multitarea, multipuesto o Interfaz textual o Interfaz gráfica o Sistema operativo para administración de servidores en red y supercomputación Linux - 1991 o Interactivo, multiusuario, multitarea, multiopuesto o Interfaz textual o Interfaz grafica o Sistema operativo para administración de servidores en red y supercomputación o Software libre
  • 21. Sistemas Operativos más utilizados • Mac-OS – 1984 o Interactivo, monousuario-multiusuario, multitarea, monopuesto o Interfaz gráfica o Kernel basado en Linux o Sistema operativo para diseño gráfico • Estadísticas de uso o http://gs.statcounter.com/
  • 22. Utilidades de diagnóstico y mantenimiento o Antivirus – Prevención, detección y eliminación de malware en computadores o Compresores de archivos – Aprovechamiento de la memoria secundaria o Defragmentador – Redistribución del espacio en disco asignando ocupaciones contiguas a cada archivo (Windows) o Software de respaldo – Copias de seguridad o Software de recuperación – Posibilidad de recuperar archivos borrados por error o …
  • 23. Software de aplicación • Editores de texto o Block de notas, Notepad, Kate, Gedit, VI,… • Aplicaciones ofimáticas o Microsoft office o Open office • Gestores de bases de datos o SQL, Access, Oracle… • Procesado de imagen o Photoshop, The Gimp, Inkskape… • Navegadores o Internet explorer, Mozilla Firefox, Google chrome… • Gestores de correo electrónico o Outlook, Eudora, Mozilla Thunderbird… • Generadores de sitios web o Microsoft Frontpage, Dreamweaver, Mozilla SeaMonkey… • …
  • 24. Software de aplicación libre: filosofía
  • 25. Software de aplicación libre: tres motivos por los que utilizarlo Software desarrollado pensando en beneficio del usuario vs software desarrollado pensando en beneficios económicos o Ejemplo: Escritorio de KDE de Linux vs escritorio de Windows o Ejemplo: Problemas de seguridad de Windows Proporciona competencia real a software propietario, lo que supone una mejora de la calidad de ambos a largo plazo o Ejemplo: Competencia entre Mozilla Firefox e Internet Explorer Legalidad y ética en la utilización del software Linux people are happy
  • 26.
  • 27. Software de aplicación libre: dónde encontrar software libre • Portal del Software libre http://es.wikipedia.org/wiki/Portal:Software_libre • Oficina del Software libre de la Universidad de Zaragoza http://osluz.unizar.es/
  • 28. Software de aplicación:Malware • Malicious software – software cuyo objetivo es infiltrarse o dañar un computador sin el consentimiento de su usuario • Clasificación o Malware infeccioso – virus y gusanos o Malware oculto – troyanos y puertas traseras o Publicidad – spyware y adware o Robar información personal – keylogger y stealers • Malware en Windows vs Linux
  • 29. Programación de software: Definición • La programación es el proceso de diseñar, escribir, depurar y mantener el código fuente de programas ejecutables en una computadora. • El código fuente es escrito en un lenguaje de programación entendible por el programador. Dicho código no se puede ejecutar directamente en una computadora. • El código fuente debe someterse a un proceso de traducción para convertirlo en lenguaje máquina directamente ejecutable por computador.
  • 30. Programación de software: Clasificación de los lenguajes de programación en función de la cercanía al lenguaje máquina • Microprogramación • Lenguaje máquina comercial • Kernel del Sistema Operativo • Ensamblador • Lenguajes de programación de alto nivel • Aplicaciones
  • 31. Programación de software: Clasificación de los lenguajes de programación del desarrollo desde la aparición de los primeros computadores • Primera generación o Lenguaje máquina y ensamblador. • Segunda generación o Lenguajes simbólicos. LISP (1957) y Prolog (1972). o Primeros lenguajes de alto nivel. Fortran (1957), Algol (1958), y Cobol (1960). • Tercera generación o Lenguajes de alto nivel. Basic (1964), Pascal (1968), C (1971) y Ada (1979). • Cuarta generación o Orientados a aplicaciones de gestión y manejo de bases de datos. SQL (1986). o Orientados a objetos. C++ (1983), Java (1995), C# (2001)… • Quinta generación o Orientados al procesado de lenguajes naturales
  • 32. Programación de software: Clasificación de los lenguajes de programación de alto nivel en función del paradigma de programación • Declarativos o Los programas se construyen mediante descripciones de funciones o expresiones lógicas  Funcionales - Lisp  Lógicos - Prolog • Imperativos o Los programas se construyen mediante instrucciones  No estructurados – Fortran, Cobol…  Estructurados – C, Pascal, Ada… • Orientación a objetos o Los programas se construyen mediante los datos y las operaciones que actúan sobre ellos  C++, Java, Eiffel…
  • 33. Lenguajes de programación: Sintaxis y Semántica • Sintaxis o Conjunto de reglas que indican cómo realizar la construcción del lenguaje  Palabras reservadas – class, int, boolean, if, for, public…  Operadores - + * / && || …  Separadores – { } ; • Semántica o Conjunto de reglas que permiten determinar el significado de las construcciones del lenguaje • Un programa se considerará correcto si lo es sintáctica y semánticamente
  • 34. Lenguajes de programación: Compilación vs interpretación • Compilador - programa que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente a lenguaje máquina). • Intérprete – programa que permite analizar y ejecutar el código fuente de un programa en alto nivel. La traducción se realiza instrucción por instrucción y normalmente el resultado de la traducción no se almacena en ninguna forma.
  • 35. Lenguajes de programación: Proceso de compilación Código fuente Código objeto Código ejecutable lenguaje de programación (alto nivel) lenguaje máquina (bajo nivel) lenguaje máquina (bajo nivel) Compilador Enlazador o linker
  • 36. Lenguajes de programación: Ejecución • Ejecución del código ejecutable • Utilización del intérprete • Máquina virtual o La compilación genera un código intermedio que no es directamente ejecutable por el computador o La máquina virtual instalada en el computador es capaz de ejecutar el código intermedio o En java, el código intermedio recibe el nombre de Bytecode y la máquina virtual recibe el nombre de Máquina Virtual de Java.
  • 37. Lenguajes de programación: Depuración • Tipos de errores o Sintácticos  El código fuente es sintácticamente incorrecto  El compilador es capaz de identificar este tipo de errores o En tiempo de ejecución  Se produce un error durante la ejecución del programa y aborta  División por cero, pantallazo azul de Windows 95 o Semánticos  El programa no se comporta como debería  El depurador constituye una herramienta muy útil para ayudar al programador a resolver el problema
  • 38. Lenguajes de programación: Bugs • Depurador • Debugger • El primer bug
  • 39. Lenguajes de programación: Entorno integrado de desarrollo • Editor de texto o Desarrollo de código fuente • Compilador y enlazador o Traducción de código fuente a código máquina o código intermedio • Depurador o Detección y corrección de bugs en programas