1) Evolución de los sistemas operativos
Los ordenadores/computadoras gigantes que ocupaban cuartos enteros y que necesitaban la ayuda de los seres humanos nacieron por allí a principios de 1950. En los primeros, las tareas se llevaron a cabo por técnicos, los cuales dictaban lo que seria realizado a través del hardware.
Un empleado era contratado especialmente para activar y desactivar las llaves, la cuales servían para indicar si un componente debe estar encendido o apagado. Cuando se cerraba la llave, por ejemplo, la información corría por metros o kilómetros de cables y encendía una luz, indicando que determinada funciona estaba desactivada.
En aquella época, era común para una persona desarrollar programas de ordenador. A pesar de trabajar para las tareas necesarias, estos equipos siempre necesitaban de la intervención humana y no podían usar rutinas programadas. "La historia cambio con el primer sistema operativo"
2)Software y Hardware en el tiempo
La evolución del software En 1990 La crisis del software se fundamentó en el tiempo de creación de software, ya que en la creación del mismo no se obtenían los resultados deseados, además de un gran costo y poca flexibilidad. Básicamente, la crisis del software se refiere a la dificultad en escribir programas libres de defectos, fácilmente comprensibles, y que sean verifica bles. Las causas son, entre otras, la complejidad que supón la tarea de programar, y los cambios a los que se tiene que ver sometido un programa para ser continuamente adaptado a las necesidades de los usuarios. Su evolución estuvo marcadas en etapas y sucesos que fueron conformando con el paso de los años lo que hoy conocemos como software. Primera generación: En la primer era que abarco de 1946-1965 no existió una planificación o alguna documentación sobre el proyecto ya que se desarrollaba a base de prueba y error. Segunda generación: La segunda era se busco la simplificación del código,también aparece la multiprogramacionjunto con la venta del software como producto.Inicia la crisis del software. Tercera generación: La tercera era marco el inicio de la interconectividad en áreas locales y globales así como incluir el concepto de distribución. Cuarta generación: La cuarta era que abarco de 1985 hacia 1995 aparecen desde redes de información,tecnologías orientadas hacia objetos,redes neuronales,sistemas expertos y el SW de la inteligencia artificial.Comienza a operar JAVA Quinta generación: La quinta era se establece desde el 2000 y nuestro presente.Utiliza algunos requisitos de las eras antes mencionadas,solo que aumenta la omnipresencia de la web,la reutilizacion de la información y componentes del software.Como producto tenemos nuevos nuevos sistemas operativos tales como windows,que como des arrolladora también durante la ultima década ha mejorado diferentes aspectos de lo que es el sistema operativo.
La Evolución del hardware El hardware nace en 1950 como una necesidad de imprementacion en el desarrollo de los computadores.computadores. Así como se tuvo una evolución del software se tuvo que encontrar la medida de imprementar nuevos sistemas computacionales que sean reducidos,cumplan con los requisitos especificados. Por estos motivos se tuvo que evolucionar el hardware. Su evolución consto en 6 eras. Primera generación:(1941-1948): construidas con válvulas de vacío. Se caracterizaban por su gran tamaño y el gran consumo de energía. Ejemplo de ellas es la ENIAC: su arquitectura física se componía de 18.000 válvulas, un volumen de alrededor de 111 metros cúbicos (aproximadamente el tamaño de un autobús), unas 30 toneladas de peso y un consumo de 150.000 watios. Segunda generación:(1948-1962): construidas con transistores. El cambio fundamental que originó la aparición del transistor fue que redujo en gran medida el tamaño de las computadoras. Por otra parte se multiplicó la velocidad de cálculo (próxima a los mili segundos), y se comenzaron a utilizar los procesos por lotes. La tercera generación:(1962-1971): construidas con circuitos integrados. Con ellos no sólo se aumentó la miniaturización de los componentes, sino también su fiabilidad y velocidad de proceso, de modo que el tiempo de conmutación pasó a medirse en nanosegundos, esto es, millomillonésimas de segundo. La cuarta generación:(1971 a 1981): computadoras con microprocesadores, chips de memoria, y microminiaturización. Esta generación de computadoras se caracterizó por grandes avances tecnológicos realizados en un tiempo muy corto. En 1977 aparecen las primeras micro computadoras, entre las cuales, las más famosas fueron las fabricadas por Apple Computer, Radio Shack, Commodore Busíness Machines, e IBM que incluye un sistema operativo estandarizado, el MS- DOS. La quinta generación: (1982-1989): introducción a la inteligencia artificial. Las computadoras de esta generación contienen una gran cantidad de microprocesadores trabajando en paralelo y pueden reconocer voz e imágenes. También tienen la capacidad de comunicarse con un lenguaje natural y pueden ir tomando decisiones con base en procesos de aprendizaje fundamentados en sistemas expertos e inteligencia artificial. La sexta generación:(1990 - 2010): estas computadoras cuentan con arquitecturas combinadas paralelo / vectorial, con cientos de microprocesadores vectoriales trabajando al mismo tiempo; se han creado computadoras capaces de realizar más de un millón de millones de operaciones aritméticas de punto flotante por segundo (teraflops); las redes de área mundial siguen creciendo utilizando medios de comunicación a través de fibras ópticas y satélites, con importantes anchos de banda.
3) Interrelación.
Hardware, memoria. Unidad central de proceso, unidades de entrada y salida.
Son partes de una PC
4) Lenguajes de programación.
Un lenguaje de programación es un lenguaje formal que proporciona una serie de instrucciones que permiten a un programador escribir secuencias de órdenes y algoritmos a modo de controlar el comportamiento físico y lógico de una computadora con el objetivo de que produzca diversas clases de datos. A todo este conjunto de órdenes y datos escritos mediante un lenguaje de programación se le conoce como programa.
Algunos de estos lenguajes están formados por un conjunto de símbolos (llamado alfabeto), reglas gramaticales (léxico/morfológicas y sintácticas) y reglas semánticas, que en conjunto definen las estructuras válidas en el lenguaje y su significado. Al proceso por el cual se escribe, se prueba, se depura, se compila (de ser necesario) y se mantiene el código fuente de un programa informático se le llama programación, que es la que define la creación de software mediante la aplicación de procedimientos lógicos a través de los siguientes pasos:
• El desarrollo lógico del programa para resolver un problema en particular.
• Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa).
• Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.
• Prueba y depuración del programa.
• Desarrollo de la documentación.
Existe un error común que trata por sinónimos los términos 'lenguaje de programación' y 'lenguaje informático'. Los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como por ejemplo HTML (lenguaje para el marcado de páginas web que no es propiamente un lenguaje de programación, sino un conjunto de instrucciones que permiten estructurar el contenido de los documentos).
El lenguaje de programación permite especificar de manera precisa sobre qué datos debe operar un software específico, cómo deben ser almacenados o transmitidos dichos datos, y qué acciones debe dicho software tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural. Una característica relevante de los lenguajes de programación es precisamente que más de un programador pueda usar un conjunto común de instrucciones que sean comprendidas entre ellos para realizar la construcción de un programa de forma colaborativa.
5) Programas fuentes
Programa fuente es una noción que se emplea como sinónimo de código fuente. Se trata de las instrucciones que un programa informático transmite a una computadora para que pueda ejecutarse. Dichas instrucciones son líneas de texto escritas en un lenguaje de programación (una estructura capaz de impartir instrucciones informáticas a partir de una determinada base semántica y sintáctica).
Puede decirse que, en el programa fuente, un software detalla la totalidad de su funcionamiento. Un programador es quien desarrolla dichas instrucciones, respetando los principios del lenguaje de programación elegido. El sistema en cuestión, al acceder al programa fuente, interpreta las instrucciones y las pone en marcha.
6)Programa Orientado a Objetos
La programación orientada a objetos es un paradigma de programación que usa objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basada en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsula-miento. Su uso se popularizó a principios de la década de 1990. En la actualidad, existe una gran variedad de lenguajes de programación que soportan la orientación a objetos.
SISTEMA OPERATIVO EN DISCO (D.O.S.)
7) Micro-computadora
Una micro-computadora o micro-ordenador es una computadora pequeña, con un microprocesador como su unidad central de procesamiento CPU.​ Generalmente, el microprocesador incluye los circuitos de almacenamiento (o memoria caché) y entrada/salida en el mismo circuito integrado (o chip).​ Las micro-computadoras se hicieron populares desde 1970 y 1980 con el surgimiento de microprocesadores más potentes. Los predecesores de estas computadoras, las supercomputadoras y las minicomputadoras, eran mucho más grandes y costosas (aunque las supercomputadoras modernas, como las IBM System z, utilizan uno o más microprocesadores como CPUs). Muchas microcomputadoras (cuando están equipadas con un teclado y una pantalla para entrada y salida) son también computadoras personales (en sentido general). La abreviatura micro fue comúnmente utilizada durante las décadas de 1970 y de 1980,​ aunque actualmente esté en desuso.
8) Sistemas operativos de discos (D.O.S.).
Se llama sistema operativo de disco' (en inglés Disk Operating System), a menudo abreviado como DOS, a un software de sistema operativo utilizado en varios ordenadores que proporciona la abstracción y administración de dispositivos de almacenamiento secundario y la información que se graba en estos (por ej., sistemas de archivo para organizar archivos de todas las clases). Este software se llama sistema operativo de disco cuándo los dispositivos de almacenamiento son platos rotatorios, como un disquete o los platos de un disco duro.
En los primeros días de los microordenadores, el espacio de memoria del ordenador era a menudo limitado, así que el sistema operativo de disco era una extensión del sistema operativo. Este componente se cargaba solo cuando se necesitaba. Por otro lado, el acceso de disco estaba limitado a operaciones de bajo nivel como leer y escribir discos a nivel de sector.
En algunos casos, el componente de sistema operativo del disco (o incluso el sistema operativo) era conocido como DOS.
A veces, un sistema operativo de disco puede referirse al sistema operativo entero si se carga de un disco y apoya la abstracción y administración de dispositivos de disco. Ejemplo de esto son el DOS/360. En los compatibles IBM PC, una familia entera de sistemas operativos se apellidó DOS.
9)Comandos D.O.S.
Comando del sistema operativo DOS, de la Interfaz de línea de comandos (command line interface o CLI en inglés). DIR es un comando usado para mostrar un listado de archivos y directorios. Es análogo al comando de Unix ls.
dir ha existido como comando de DOS desde la terminal versión de MS-DOS. Forma parte del intérprete de comandos de DOS, mientras que el comando ls de UNIX es un programa independiente del intérprete de comandos.
DIR muestra la lista de archivos y subdirectorios dentro del directorio desde el que es ejecutado.
10) Directorios con estructuras de árbol.
Forma de mostrar todos los directorios de una unidad de almacenamiento (como es un disco duro) en forma de estructura de árbol. La raíz suele ser el directorio raíz, el cual se descompone en nodos, los subdirectorios.
11) Utilización del editor.
Un editor de texto es un programa informático que permite crear y modificar archivos digitales compuestos únicamente por textos sin formato, conocidos comúnmente como archivos de texto o “texto plano”. El programa lee el archivo e interpreta los bytes leídos según el código de caracteres que usa el editor. Es comúnmente de 7- u 8-bits en ASCII o UTF-8, rara vez EBCDIC.
Por ejemplo, un editor ASCII de 8 bits que lee el número binario 0110 0001 (decimal 97 o hexadecimal 61) en el archivo lo representará en la pantalla por la figura a, que el usuario reconoce como la letra "a" y ofrecerá al usuario las funciones necesarias para cambiar el número binario en el archivo.
Los editores de texto son incluidos en el sistema operativo o en algún paquete de software instalado, y se usan cuando se deben crear o modificar archivos de texto como archivos de configuración, lenguaje de programación interpretado (scripts) o el código fuente de algún programa.
El archivo creado por un editor de texto incluye por convención en DOS y Microsoft Windows la extensión ".txt", aunque pueda ser cambiada a cualquier otra con posterioridad. Tanto Unix como Linux dan al usuario total libertad en la denominación de sus archivos.
Al trasladar archivos de texto de un sistema operativo a otro se debe considerar que existen al menos dos convenciones diferentes para señalar el término de una línea o lo que es lo mismo una nueva línea: Unix y Linux usan solo retorno de carro en cambio Microsoft Windows utiliza retorno de carro y salto de línea.
PROGRAMACIÓN Y DIAGRAMACIÓN
12) Conceptos básicos sobre programación de computadoras.
Se pueden utilizar muchos lenguajes para programar una computadora. El más básico es el lenguaje de maquina, una colección de instrucciones muy detallada que controla la circuiteria interna de la maquina. Este es el dialecto natural de la maquina. Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes: primero, porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoría de las maquinas se pide programar en diversos tipos de lenguajes, que son lenguajes de alto nivel, cuyas instrucciones son más compatibles con los lenguajes y la forma de pensar humanos como lo es el lenguaje c que además es de propósito general.
Debido a que los programas diseñados en este lenguaje se pueden ejecutar en cualquier maquina , casi sin modificaciones. Por tanto el uso del lenguaje de alto nivel ofrece tres ventajas importantes, sencillez, uniformidad y portabilidad.
13)Algoritmos
En términos de programación, un algoritmo es una secuencia de pasos lógicos que permiten solucionar un problema. Los derechos de autor otorgan al propietario el derecho exclusivo sobre el uso de la obra, con algunas excepciones. Cuando alguien crea una obra original fija en un medio tangible, automáticamente se convierte en el propietario de los derechos de autor de dicha obra.
14)Símbolos de Diagramación
Los diagramas de flujo usan formas especiales para representar diferentes tipos de acciones o pasos en un proceso. Las líneas y flechas muestran la secuencia de los pasos y las relaciones entre ellos. Estos son conocidos como símbolos de diagrama de flujo.
El tipo de diagrama dicta los símbolos de diagramas de flujo que se utilizan. Por ejemplo, un diagrama de flujo de datos puede contener un Símbolo de Entrada o Salida (también conocido como Símbolo de E/S), pero no es muy común verlo en la mayoría de los diagramas de flujo de procesos.
Con los años, la tecnología ha evolucionado, y con ella tambien la diagramación. Algunos símbolos de los diagramas de flujo que se utilizaron en el pasado para representar tarjetas perforadas de computadora, o cinta perforada, han pasado a la historia.
LENGUAJES DE PROGRAMACIÓN
15) Tipos de datos
Un tipo de dato es, en esencia, un espacio en memoria con restricciones. Por ejemplo, el tipo "int" representa, generalmente, un conjunto de enteros de 32 bits cuyo rango va desde el -2.147.483.648 al 2.147.483.647, así como las operaciones que se pueden realizar con los enteros, como son la suma, la resta, y la multiplicación. Los colores, por su parte, se representan como tres bytes denotando la cantidad de rojo, verde y azul, y una cadena de caracteres representando el nombre del color (en este caso, las operaciones permitidas incluyen la adición y la sustracción, pero no la multiplicación).
Este es un concepto propio de la informática, y más específicamente de los lenguajes de programación, aunque también se encuentra relacionado con nociones similares de la matemática y la lógica.
En un sentido amplio, un tipo de datos define un conjunto de valores y las operaciones sobre esos valores. Casi todos los lenguajes de programación explícitamente incluyen la notación del tipo de datos, aunque lenguajes diferentes pueden usar terminologías diferentes. La mayor parte de los lenguajes de programación permiten al programador definir tipos de datos adicionales, normalmente combinando múltiples elementos de otros tipos y definiendo las operaciones del nuevo tipo de dato. Por ejemplo, un programador puede crear un nuevo tipo de dato llamado "Persona", contemplando que el dato interpretado como Persona incluiya un nombre y una fecha de nacimiento.
Un tipo de dato puede ser también visto como una limitación impuesta en la interpretación de los datos en un sistema de tipificación, describiendo la representación, la interpretación y la estructura de los valores u objetos almacenados en la memoria del ordenador. El sistema de tipificación usa información de los tipos de datos para comprobar la verificación de los programas que acceden o manipulan los datos.
16)Simbolos
la tabla de símbolos es una estructura de datos que se crea en tiempo de traducción del programa fuente. Es como un diccionario variable, debe darle apoyo a la inserción, búsqueda y cancelación de nombres (identificadores) con sus atributos asociados, representando las vinculaciones con las declaraciones. Debe aclararse que no necesariamente deberá estar representada en una tabla como su nombre indica ya que también se emplean árboles, pilas , etc.
Los símbolos se guardan en la tabla con su nombre y una serie de atributos opcionales que dependerán del lenguaje y de los objetivos del procesador, este conjunto de atributos almacenados se denomina registro de la tabla de símbolos.
La siguiente representa una serie de atributos que no es necesaria para todos los compiladores, sin embargo cada uno de ellos se puede utilizar en la implementación de un compilador particular.
· nombre del identificador.
· dirección en tiempo de ejecución a partir del cual se almacenara el identificador si es una variable.
· tipo del identificador. Si es una función, el tipo que devuelve la función.
· número de dimensiones del array (arreglo), o número de miembros de una estructura o clase, o números de parámetros si se trata de una función.
· tamaño máximo o rango de cada una de las dimensiones de los array, si tiene dimensión estática.
· etc.
17)Palabras Reservadas
En los lenguajes informáticos, una palabra reservada es una palabra que tiene un significado gramatical especial para ese lenguaje y no puede ser utilizada como un identificador de objetos en códigos del mismo, como pueden ser las variables.
Por ejemplo, en SQL, un usuario no puede ser llamado "group", porque la palabra group es usada para indicar que un identificador se refiere a un grupo, no a un usuario. Al tratarse de una palabra clave su uso queda restringido.
Ocasionalmente la especificación de un lenguaje de programación puede tener palabras reservadas que están previstas para un posible uso en futuras versiones. En Java const y goto son palabras reservadas — no tienen significado en Java, pero tampoco pueden ser usadas como identificadores. Al reservar los términos pueden ser implementados en futuras versiones de Java, si se desea, sin que el código fuente más antiguo escrito en Java deje de funcionar.
18)Identificadores
Los identificadores (IDs) son símbolos léxicos que nombran entidades. El concepto es análogo al de "nombres de procesamiento de la información". Nombrar las entidades hace posible referirse a las mismas, lo cual es esencial para cualquier tipo de procesamiento simbólico.
19) Datos reales, enteros y de carácter
Se llama tipo primitivo o tipo elemental a los tipos de datos originales de un lenguaje de programación, esto es, aquellos que nos proporciona el lenguaje y con los que podemos (en ocasiones) construir tipos de datos abstractos y estructuras de datos.
Generalmente ejemplos de tipos primitivos son:
-Char (Carácter)
-Int (Entero)
-Float (Real - Coma flotante)
Otros tipos de datos que pueden ser considerados primitivos ya que la mayoría de lenguajes de programación así los proporcionan (aunque no todos) son:
-Booleano (Lógico: Verdadero, Falso)
-String (Cadena de caracteres)
-Puntero (Dirección de memoria - Int)
20)DEv C++
Dev-C++ es un entorno de desarrollo integrado (IDE) para programar en lenguaje C/C++. Usa MinGW, que es una versión de GCC (GNU Compiler Collection) como su compilador. Dev-C++ puede además ser usado en combinación con Cygwin y cualquier compilador basado en GCC.
El Entorno está desarrollado en el lenguaje Delphi de Borland. Tiene una página de paquetes opcionales para instalar, con diferentes bibliotecas de código abierto.