Los sistemas operativos controlan diferentes procesos de la computadora. Un proceso importante es la interpretación de los comandos que permiten al usuario comunicarse con el ordenador. Algunos intérpretes de instrucciones están basados en texto y exigen que las instrucciones sean tecleadas. Otros están basados en gráficos, y permiten al usuario comunicarse señalando y haciendo clic en un icono. Por lo general, los intérpretes basados en gráficos son más sencillos, pero muchos usuarios expertos prefieren los intérpretes de instrucciones basados en texto porque son más potentes.
Los sistemas operativos pueden ser de tarea única o multitarea. Los sistemas operativos de tarea única, más primitivos, sólo pueden manejar un proceso en cada momento. Por ejemplo, cuando la computadora está imprimiendo un documento, no puede iniciar otro proceso ni responder a nuevas instrucciones hasta que se termine la impresión.
Todos los sistemas operativos modernos son multitarea y pueden ejecutar varios procesos simultáneamente. En la mayoría de los ordenadores sólo hay una UCP; un sistema operativo multitarea crea la ilusión de que varios procesos se ejecutan simultáneamente en la UCP. El mecanismo que se emplea más a menudo para lograr esta ilusión es la multitarea por segmentación de tiempos, en la que cada proceso se ejecuta individualmente durante un periodo de tiempo determinado. Si el proceso no finaliza en el tiempo asignado, se suspende y se ejecuta otro proceso. Este intercambio de procesos se denomina conmutación de contexto. El sistema operativo se encarga de controlar el estado de los procesos suspendidos. También cuenta con un mecanismo llamado planificador que determina el siguiente proceso que debe ejecutarse. El planificador ejecuta los procesos basándose en su prioridad para minimizar el retraso percibido por el usuario. Los procesos parecen efectuarse simultáneamente por la alta velocidad del cambio de contexto.
Los sistemas operativos pueden emplear memoria virtual para ejecutar procesos que exigen más memoria principal de la realmente disponible. Con esta técnica se emplea espacio en el disco duro para simular la memoria adicional necesaria. Sin embargo, el acceso al disco duro requiere más tiempo que el acceso a la memoria principal, por lo que el funcionamiento del ordenador resulta más lento.
MS-DOS
Acrónimo de Microsoft Disk Operating System (sistema operativo de disco de Microsoft). Como otros sistemas operativos, el sistema MS-DOS supervisa las operaciones de entrada y salida del disco y controla el adaptador de vídeo, el teclado y muchas funciones internas relacionadas con la ejecución de programas y el mantenimiento de archivos. El MS-DOS es un sistema operativo monotarea y monousuario con una interfaz de línea de comandos.
WINDOWS
En informática, nombre común o coloquial de Microsoft Windows, un entorno multitarea dotado de una interfaz gráfica de usuario, que se ejecuta en computadoras diseñadas para MS-DOS. Windows proporciona una interfaz estándar basada en menús desplegables, ventanas en pantalla y un dispositivo señalador como el mouse (ratón). Los programas deben estar especialmente diseñados para aprovechar estas características.UNIX En informática, sistema operativo multiusuario que incorpora multitarea. Fue desarrollado originalmente por Ken Thompson y Dennis Ritchie en los laboratorios AT&T Bell en 1969 para su uso en minicomputadoras. El sistema operativo UNIX tiene diversas variantes y se considera potente, más transportable e independiente de equipos concretos que otros sistemas operativos porque está escrito en lenguaje C. El UNIX está disponible en varias formas, entre las que se cuenta AIX, una versión de UNIX adaptada por IBM (para su uso en estaciones de trabajo basadas en RISC), A/UX (versión gráfica para equipos Apple Macintosh) y Mach (un sistema operativo reescrito, pero esencialmente compatible con UNIX, para las computadoras NeXT).
OS/2
En informática, sistema operativo multitarea para ordenadores o computadoras personales con microproce-sadores de la gama x86 de Intel. El OS/2 puede ejecutar aplicaciones para Windows y MS-DOS y leer discos de MS-DOS. El OS/2 fue desarrollado originalmente como un proyecto conjunto de Microsoft e IBM.
UNIX
en informática, sistema operativo multiusuario que incorpora multitarea. Fue desarrollado originalmente por Ken Thompson y Dennis Ritchie en los laboratorios AT&T Bell en 1969 para su uso en minicomputadoras. El sistema operativo UNIX tiene diversas variantes y se considera potente, más transportable e independiente de equipos concretos que otros sistemas operativos porque está escrito en lenguaje C. El UNIX está disponible en varias formas, entre las que se cuenta AIX, una versión de UNIX adaptada por IBM (para su uso en estaciones de trabajo basadas en RISC), A/UX (versión gráfica para equipos Apple Macintosh) y Mach (un sistema operativo reescrito, pero esencialmente compatible con UNIX, para las computadoras NeXT)
viernes, 21 de noviembre de 2008
Intérprete
Un intérprete es un programa informático capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los intérpretes se diferencian de los compiladores en que mientras estos traducen un programa desde su descripción en un lenguaje de programación al código máquina del sistema destino, los primeros (los interpretes) sólo realizan la traducción a medida que sea necesario, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción.
Los programas interpretados suelen ser más lentos que los compilados debido a la necesidad de traducir el programa mientras se ejecuta, pero a cambio son más flexibles como entornos de programación y depuración (lo que se traduce, por ejemplo, en una mayor facilidad para reemplazar partes enteras del programa o añadir módulos completamente nuevos), y permiten ofrecer al programa interpretado un entorno no dependiente de la máquina donde se ejecuta el intérprete, sino del propio intérprete (lo que se conoce comúnmente como máquina virtual).
Comparando su actuación con la de un ser humano, un compilador equivale a un traductor profesional que, a partir de un texto, prepara otro independiente traducido a otra lengua, mientras que un intérprete corresponde al intérprete humano, que traduce de viva voz las palabras que oye, sin dejar constancia por escrito.
En la actualidad, uno de los entornos más comunes de uso de los intérpretes informáticos es Internet, debido a la posibilidad que estos tienen de ejecutarse independientemente de la plataforma.
Ejemplos
Algunos ejemplos de lenguajes que son normalmente interpretados en vez de compilados son:
Perl
PHP
Java
Javascript
Logo
ASP (hasta la versión 3)
Python
Los programas interpretados suelen ser más lentos que los compilados debido a la necesidad de traducir el programa mientras se ejecuta, pero a cambio son más flexibles como entornos de programación y depuración (lo que se traduce, por ejemplo, en una mayor facilidad para reemplazar partes enteras del programa o añadir módulos completamente nuevos), y permiten ofrecer al programa interpretado un entorno no dependiente de la máquina donde se ejecuta el intérprete, sino del propio intérprete (lo que se conoce comúnmente como máquina virtual).
Comparando su actuación con la de un ser humano, un compilador equivale a un traductor profesional que, a partir de un texto, prepara otro independiente traducido a otra lengua, mientras que un intérprete corresponde al intérprete humano, que traduce de viva voz las palabras que oye, sin dejar constancia por escrito.
En la actualidad, uno de los entornos más comunes de uso de los intérpretes informáticos es Internet, debido a la posibilidad que estos tienen de ejecutarse independientemente de la plataforma.
Ejemplos
Algunos ejemplos de lenguajes que son normalmente interpretados en vez de compilados son:
Perl
PHP
Java
Javascript
Logo
ASP (hasta la versión 3)
Python
Código objeto
Se llama código objeto en programación al código de la compilación del código fuente.
Consiste en lenguaje máquina o bytecode y se distribuye en varios archivos que corresponden a cada código fuente compilado Para obtener un programa ejecutable se han de enlazar todos los archivos de código fuente con un programa llamado enlazador (linker).
en informática, código generado por un compilador o un ensamblador, traducido a partir del código fuente de un programa. Casi siempre este término se refiere al código máquina que puede ejecutarse directamente en la unidad central de proceso (CPU) del sistema, pero también puede ser código fuente de lenguaje ensamblador o una variante de código máquina. Se llama código objeto en programación al código resultante de la compilación del código fuente, por lo general está codificado en código de máquina y distribuido en varios archivos resultantes de la compilación de cada archivo de código fuente. Para obtener un archivo ejecutable se han de enlazar todos los archivos de código fuente con un programa llamado enlazador (linker).
Consiste en lenguaje máquina o bytecode y se distribuye en varios archivos que corresponden a cada código fuente compilado Para obtener un programa ejecutable se han de enlazar todos los archivos de código fuente con un programa llamado enlazador (linker).
en informática, código generado por un compilador o un ensamblador, traducido a partir del código fuente de un programa. Casi siempre este término se refiere al código máquina que puede ejecutarse directamente en la unidad central de proceso (CPU) del sistema, pero también puede ser código fuente de lenguaje ensamblador o una variante de código máquina. Se llama código objeto en programación al código resultante de la compilación del código fuente, por lo general está codificado en código de máquina y distribuido en varios archivos resultantes de la compilación de cada archivo de código fuente. Para obtener un archivo ejecutable se han de enlazar todos los archivos de código fuente con un programa llamado enlazador (linker).
Compilador
Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar. Usualmente el segundo lenguaje es código máquina, pero también puede ser simplemente texto. Este proceso de traducción se conoce como compilación.
Un compilador es un programa que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje máquina). De esta manera un programador puede diseñar un programa en un lenguaje mucho más cercano a como piensa un ser humano, para luego compilarlo a un programa más manejable por una computadora.
También en el siglo XIX el matemático e inventor británico Charles Babbage elaboró los principios de la computadora digital moderna. Inventó una serie de máquinas, como la máquina diferencial, diseñadas para solucionar problemas matemáticos complejos. Muchos historiadores consideran a Babbage y a su socia, la matemática británica Augusta Ada Byron (1815-1852), hija del poeta inglés Lord Byron, como a los verdaderos inventores de la computadora digital moderna. La tecnología de aquella época no era capaz de trasladar a la práctica sus acertados conceptos; pero una de sus invenciones, la máquina analítica, ya tenía muchas de las características de un ordenador moderno. Incluía una corriente, o flujo de entrada en forma de paquete de tarjetas perforadas, una memoria para guardar los datos, un procesador para las operaciones matemáticas y una impresora para hacer
Un compilador es un programa que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje máquina). De esta manera un programador puede diseñar un programa en un lenguaje mucho más cercano a como piensa un ser humano, para luego compilarlo a un programa más manejable por una computadora.
También en el siglo XIX el matemático e inventor británico Charles Babbage elaboró los principios de la computadora digital moderna. Inventó una serie de máquinas, como la máquina diferencial, diseñadas para solucionar problemas matemáticos complejos. Muchos historiadores consideran a Babbage y a su socia, la matemática británica Augusta Ada Byron (1815-1852), hija del poeta inglés Lord Byron, como a los verdaderos inventores de la computadora digital moderna. La tecnología de aquella época no era capaz de trasladar a la práctica sus acertados conceptos; pero una de sus invenciones, la máquina analítica, ya tenía muchas de las características de un ordenador moderno. Incluía una corriente, o flujo de entrada en forma de paquete de tarjetas perforadas, una memoria para guardar los datos, un procesador para las operaciones matemáticas y una impresora para hacer
Antecedentes de los lenguajes de programación
Los primeros lenguajes de programación surgieron de la idea de Charles Babagge a mediados del siglo XIX. Consistía en lo que el denominaba la maquina analítica, pero que por motivos técnicos no pudo construirse hasta mediados del siglo XX.
Con el colaboro Ada Lovelace, la cual es considerada como la primera programadora de la historia, pues realizo programas para aquella supuesta maquina de Babagge, en tarjetas perforadas. Como la maquina no llego nunca a construirse, los programas de Ada, lógicamente, tampoco llegaron a ejecutarse, pero si suponen un punto de partida de la programación.
En 1936, Turing y Post introdujeron un formalismo de manipulación de símbolos (la denominada máquina de Turing) con el que se puede realizar cualquier cómputo que hasta ahora podemos imaginar.
Esta fue una vía de comunicación entre los problemas formales de la computación y de la matemática. La unión permitió demostrar que no existe ninguna máquina de Turing que pueda reconocer si una sentencia es o no un teorema de un sistema lógico formal; pero también permitió demostrar que si un cálculo puede explicitarse sin ambigüedad en lenguaje natural, con ayuda de símbolos matemáticos, es siempre posible programar un computadora digital capaz de realizar el cálculo, siempre que la capacidad de almacenamiento de información sea la adecuada.
Desde el punto de vista de la ingeniería, los progresos en lenguajes de programación han sido paralelos a los diseños de las nuevas computadoras. Babbage ya escribió programas para sus máquinas, pero los desarrollos importantes tuvieron lugar, igual que en las computadoras, alrededor de la segunda guerra mundial.
Cuando surgió la primera computadora, el famoso Eniac, su programación se basaba en componentes físicos, o sea, que se programaba, cambiando directamente el Hardware de la maquina, lo que se hacia era cambiar cables de sitio para conseguir así la programación binaria.
Los "Lenguajes Maquina" y los "Lenguajes Ensambladores" (primera y segunda generación) son dependientes de la maquina. Cada tipo de maquina, tal como VAX de digital, tiene su propio lenguaje maquina distinto y su lenguaje ensamblador asociado. El lenguaje ensamblador es simplemente una representación simbólica del lenguaje maquina asociado, lo cual permite una programación menos tediosa que con el anterior. Sin embargo, es necesario un conocimiento de la arquitectura mecánica subyacente para realizar una programación efectiva en cualquiera de estos niveles lenguajes.
Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por elementos de lenguajes naturales, como el inglés.
A continuación se muestra la evolución de los distintos lenguajes en base a las influencias que recibieron:
1951-55
Hardware: Computadoras de tubos de vacío; memorias de línea aplazada de mercurio.
Métodos: Lenguajes ensamblador; conceptos base: subprogramas, estructuras de datos.
Lenguajes: Uso experimental de compiladores de expresión.
1956-60
Hardware: Almacenamiento en cinta magnética; memorias de núcleo; circuitos de transistores.
Métodos: Tecnología de compiladores inicial; gramáticas BNF; optimización de código; intérpretes; métodos de almacenamiento dinámicos y procesamiento de listas.
Lenguajes: FORTRAN, ALGOL 58, ALGOL 60, COBOL, LISP.
1961-65
Hardware: Familias de arquitecturas compatibles, almacenamiento en discos magnéticos
Métodos: Sistemas operativos de multiprogramación, compiladores de sintaxis-dirigida.
Lenguajes: COBOL-61, ALGOL 60 (revisada), SNOBOL, JOVIAL, notación APL
1966-70
Hardware: Aumento de tamaño y velocidad y reducción de los costes; mini computadoras, microprogramación; circuitos integrados.
Métodos: Sistemas interactivos y tiempos-compartidos; compiladores optimizados; sistemas de escritura traductores.
Lenguajes: APL, FORTRAN 66, COBOL 65, ALGOL 68, SNOBOL 4, BASIC, PL/I, SIMULA 67, ALGOL-W
1971-75
Hardware: Microcomputadores; Edad de mini computadoras; sistemas de almacenamiento pequeños; declive de las memorias de núcleo y crecimiento de memorias de semiconductores
Métodos: Verificación de programas; programación estructurada; inicio del crecimiento de ingeniería de software como disciplina de estudio
Lenguajes: Pascal, COBOL 74, PL/I (standar), C, Scheme, Prolog
1976-80
Hardware: Microcomputadores de calidad comercial, sistemas de gran almacenamiento; computación distribuida.
Métodos: Abstracción de datos; semánticas formales; técnicas de programación en tiempo real, concurrencia y fijos.
Lenguajes: Smalltalk, Ada, FORTRAN 77, ML.
1981-85
Hardware: Computadores personales; primeras estaciones de trabajo; juegos de vídeo; redes de área local; Arpanet.
Métodos: Programación orientada a objetos; entornos interactivos; editores de sintaxis dirigida.
Lenguajes: Turbo Pascal, Smalltalk-80, crecimiento de Prolog, Ada 83, Postscript.
1986-90
Hardware: Edad de microcomputadores; crecimiento de estaciones de trabajo de ingenierías; arquitectura RISC; redes globales; Internet.
Métodos: computación cliente/servidor.
Lenguajes: FORTRAN 90, C++, SML (ML Standar).
1991-95
Hardware: Estaciones de trabajo y microcomputadores mucho más económicos; arquitectura paralelas masivas; voz, vídeo, fax, multimedia.
Métodos: Sistemas abiertos; entorno de ventanas; Infraestructura de Información Nacional ("autopistas de la información").
Lenguajes: Ada 95, lenguajes de procesos (TCL, PERL).
La evolución de los lenguajes de programación ha estado guiada por la evolución de:
Las computadoras y sus sistemas operativos.
Las aplicaciones.
Los métodos de programación.
Los fundamento teóricos.
La importancia dada a la estandarización.
Los lenguajes de programación han evolucionado a través de generaciones. En cada nueva generación, van necesitándose menos instrucciones para indicarle a la computadora que tarea efectuar. Es decir, un programa escrito en un lenguaje de primera generación (maquina y/o ensamblador) puede requerir mas de 100 instrucciones; ese mismo programa requerirá menos de 25 instrucciones en un lenguaje de tercera generación (Alto nivel).
Con el colaboro Ada Lovelace, la cual es considerada como la primera programadora de la historia, pues realizo programas para aquella supuesta maquina de Babagge, en tarjetas perforadas. Como la maquina no llego nunca a construirse, los programas de Ada, lógicamente, tampoco llegaron a ejecutarse, pero si suponen un punto de partida de la programación.
En 1936, Turing y Post introdujeron un formalismo de manipulación de símbolos (la denominada máquina de Turing) con el que se puede realizar cualquier cómputo que hasta ahora podemos imaginar.
Esta fue una vía de comunicación entre los problemas formales de la computación y de la matemática. La unión permitió demostrar que no existe ninguna máquina de Turing que pueda reconocer si una sentencia es o no un teorema de un sistema lógico formal; pero también permitió demostrar que si un cálculo puede explicitarse sin ambigüedad en lenguaje natural, con ayuda de símbolos matemáticos, es siempre posible programar un computadora digital capaz de realizar el cálculo, siempre que la capacidad de almacenamiento de información sea la adecuada.
Desde el punto de vista de la ingeniería, los progresos en lenguajes de programación han sido paralelos a los diseños de las nuevas computadoras. Babbage ya escribió programas para sus máquinas, pero los desarrollos importantes tuvieron lugar, igual que en las computadoras, alrededor de la segunda guerra mundial.
Cuando surgió la primera computadora, el famoso Eniac, su programación se basaba en componentes físicos, o sea, que se programaba, cambiando directamente el Hardware de la maquina, lo que se hacia era cambiar cables de sitio para conseguir así la programación binaria.
Los "Lenguajes Maquina" y los "Lenguajes Ensambladores" (primera y segunda generación) son dependientes de la maquina. Cada tipo de maquina, tal como VAX de digital, tiene su propio lenguaje maquina distinto y su lenguaje ensamblador asociado. El lenguaje ensamblador es simplemente una representación simbólica del lenguaje maquina asociado, lo cual permite una programación menos tediosa que con el anterior. Sin embargo, es necesario un conocimiento de la arquitectura mecánica subyacente para realizar una programación efectiva en cualquiera de estos niveles lenguajes.
Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por elementos de lenguajes naturales, como el inglés.
A continuación se muestra la evolución de los distintos lenguajes en base a las influencias que recibieron:
1951-55
Hardware: Computadoras de tubos de vacío; memorias de línea aplazada de mercurio.
Métodos: Lenguajes ensamblador; conceptos base: subprogramas, estructuras de datos.
Lenguajes: Uso experimental de compiladores de expresión.
1956-60
Hardware: Almacenamiento en cinta magnética; memorias de núcleo; circuitos de transistores.
Métodos: Tecnología de compiladores inicial; gramáticas BNF; optimización de código; intérpretes; métodos de almacenamiento dinámicos y procesamiento de listas.
Lenguajes: FORTRAN, ALGOL 58, ALGOL 60, COBOL, LISP.
1961-65
Hardware: Familias de arquitecturas compatibles, almacenamiento en discos magnéticos
Métodos: Sistemas operativos de multiprogramación, compiladores de sintaxis-dirigida.
Lenguajes: COBOL-61, ALGOL 60 (revisada), SNOBOL, JOVIAL, notación APL
1966-70
Hardware: Aumento de tamaño y velocidad y reducción de los costes; mini computadoras, microprogramación; circuitos integrados.
Métodos: Sistemas interactivos y tiempos-compartidos; compiladores optimizados; sistemas de escritura traductores.
Lenguajes: APL, FORTRAN 66, COBOL 65, ALGOL 68, SNOBOL 4, BASIC, PL/I, SIMULA 67, ALGOL-W
1971-75
Hardware: Microcomputadores; Edad de mini computadoras; sistemas de almacenamiento pequeños; declive de las memorias de núcleo y crecimiento de memorias de semiconductores
Métodos: Verificación de programas; programación estructurada; inicio del crecimiento de ingeniería de software como disciplina de estudio
Lenguajes: Pascal, COBOL 74, PL/I (standar), C, Scheme, Prolog
1976-80
Hardware: Microcomputadores de calidad comercial, sistemas de gran almacenamiento; computación distribuida.
Métodos: Abstracción de datos; semánticas formales; técnicas de programación en tiempo real, concurrencia y fijos.
Lenguajes: Smalltalk, Ada, FORTRAN 77, ML.
1981-85
Hardware: Computadores personales; primeras estaciones de trabajo; juegos de vídeo; redes de área local; Arpanet.
Métodos: Programación orientada a objetos; entornos interactivos; editores de sintaxis dirigida.
Lenguajes: Turbo Pascal, Smalltalk-80, crecimiento de Prolog, Ada 83, Postscript.
1986-90
Hardware: Edad de microcomputadores; crecimiento de estaciones de trabajo de ingenierías; arquitectura RISC; redes globales; Internet.
Métodos: computación cliente/servidor.
Lenguajes: FORTRAN 90, C++, SML (ML Standar).
1991-95
Hardware: Estaciones de trabajo y microcomputadores mucho más económicos; arquitectura paralelas masivas; voz, vídeo, fax, multimedia.
Métodos: Sistemas abiertos; entorno de ventanas; Infraestructura de Información Nacional ("autopistas de la información").
Lenguajes: Ada 95, lenguajes de procesos (TCL, PERL).
La evolución de los lenguajes de programación ha estado guiada por la evolución de:
Las computadoras y sus sistemas operativos.
Las aplicaciones.
Los métodos de programación.
Los fundamento teóricos.
La importancia dada a la estandarización.
Los lenguajes de programación han evolucionado a través de generaciones. En cada nueva generación, van necesitándose menos instrucciones para indicarle a la computadora que tarea efectuar. Es decir, un programa escrito en un lenguaje de primera generación (maquina y/o ensamblador) puede requerir mas de 100 instrucciones; ese mismo programa requerirá menos de 25 instrucciones en un lenguaje de tercera generación (Alto nivel).
Spam
Para la gestión del spam en Wikipedia, véase Wikipedia:Spam.
Para el alimento en lata, véase Spam (alimento).
Se llama spam, correo basura o sms basura a los mensajes no solicitados, habitualmente de tipo publicitario, enviados en grandes cantidades (incluso masivas) que perjudican de alguna o varias maneras al receptor. La acción de enviar dichos mensajes se denomina spamming. Aunque se puede hacer por distintas vías, la más utilizada entre el público en general es la basada en el correo electrónico. Otras tecnologías de internet que han sido objeto de correo basura incluyen grupos de noticias, usenet, motores de búsqueda, wikis, foros, blogs, también a través de popups y todo tipo de imágenes y textos en la web. El correo basura también puede tener como objetivo los teléfonos móviles (a través de mensajes de texto) y los sistemas de mensajería instantánea como por ejemplo Outlook, Lotus Notes, etc.
Para el alimento en lata, véase Spam (alimento).
Se llama spam, correo basura o sms basura a los mensajes no solicitados, habitualmente de tipo publicitario, enviados en grandes cantidades (incluso masivas) que perjudican de alguna o varias maneras al receptor. La acción de enviar dichos mensajes se denomina spamming. Aunque se puede hacer por distintas vías, la más utilizada entre el público en general es la basada en el correo electrónico. Otras tecnologías de internet que han sido objeto de correo basura incluyen grupos de noticias, usenet, motores de búsqueda, wikis, foros, blogs, también a través de popups y todo tipo de imágenes y textos en la web. El correo basura también puede tener como objetivo los teléfonos móviles (a través de mensajes de texto) y los sistemas de mensajería instantánea como por ejemplo Outlook, Lotus Notes, etc.
Cookie
Una cookie (pronunciado ['ku.ki]; literalmente galleta) es un fragmento de información que se almacena en el disco duro del visitante de una página web a través de su navegador, a petición del servidor de la página. Esta información puede ser luego recuperada por el servidor en posteriores visitas. Las inventó Lou Montulli, un antiguo empleado de Netscape Communications. Al ser el protocolo HTTP incapaz de mantener información por sí mismo, para que se pueda conservar información entre una página vista y otra (como login de usuario, preferencias de colores, etc), ésta debe ser almacenada, ya sea en la URL de la página, en el propio servidor, o en una cookie en el ordenador del visitante.
De esta forma, los usos más frecuentes de las cookies son:
Llevar el control de usuarios: cuando un usuario introduce su nombre de usuario y contraseña, se almacena una cookie para que no tenga que estar introduciéndolas para cada página del servidor. Sin embargo una cookie no identifica a una persona, sino a una combinación de computador y navegador.
Ofrecer opciones de diseño (colores, fondos, etc) o de contenidos al visitante.
Conseguir información sobre los hábitos de navegación del usuario, e intentos de spyware, por parte de agencias de publicidad y otros. Esto puede causar problemas de privacidad y es una de las razones por la que las cookies tienen sus detractores.
Originalmente, sólo podían ser almacenadas por petición de un CGI desde el servidor, pero Netscape dio a su lenguaje Javascript la capacidad de introducirlas directamente desde el cliente, sin necesidad de CGIs. En un principio, debido a errores del navegador, esto dio algunos problemas de seguridad. Estas vulnerabilidades fueron descubiertas por Esteban Rossi. Las cookies pueden ser borradas, aceptadas o bloqueadas según desee, para esto sólo debe configurar convenientemente el navegador web.
De esta forma, los usos más frecuentes de las cookies son:
Llevar el control de usuarios: cuando un usuario introduce su nombre de usuario y contraseña, se almacena una cookie para que no tenga que estar introduciéndolas para cada página del servidor. Sin embargo una cookie no identifica a una persona, sino a una combinación de computador y navegador.
Ofrecer opciones de diseño (colores, fondos, etc) o de contenidos al visitante.
Conseguir información sobre los hábitos de navegación del usuario, e intentos de spyware, por parte de agencias de publicidad y otros. Esto puede causar problemas de privacidad y es una de las razones por la que las cookies tienen sus detractores.
Originalmente, sólo podían ser almacenadas por petición de un CGI desde el servidor, pero Netscape dio a su lenguaje Javascript la capacidad de introducirlas directamente desde el cliente, sin necesidad de CGIs. En un principio, debido a errores del navegador, esto dio algunos problemas de seguridad. Estas vulnerabilidades fueron descubiertas por Esteban Rossi. Las cookies pueden ser borradas, aceptadas o bloqueadas según desee, para esto sólo debe configurar convenientemente el navegador web.
Suscribirse a:
Entradas (Atom)