Beruflich Dokumente
Kultur Dokumente
Sin duda muchos opinarán que el software lo podemos clasificar de mil maneras, hasta
cierto punto es verdad, sin embargo si buscamos hacer una clasificación
desoftware entendible para el usuario normal, hablo de personas poco estudiadas o que
no precisamente saben de software, entonces debemos clasificarlos de la siguiente manera.
Software de Sistema
Sistemas operativos
Controladores de dispositivo
Herramientas de diagnóstico
Herramientas de Corrección y Optimización
Servidores
Utilidades
Software de Programación
Está claro que para que puedan existir diversos programas, primero debe haber personas
encargadas del desarrollo de sistemas, en este caso haciendo uso de software de
programación, por eso la clasificación continua en este punto, después de que el sistema
operativo es la base de todo, la programación le sigue muy detrás, un software que ayuda
en la creación y desarrollo de aplicaciones, haciendo uso de conocimientos lógicos y de
programación.
Algunos ejemplos de esto, son los compiladores y los editores de texto, un conjunto de
software que trabaja de la mano uno con el otro, el programador desarrolla en un editor de
texto y posteriormente compila el programa para verificar que está correcto, esto en
cualquier lenguaje de programación, aunque actualmente existen Entornos de
Desarrollo Integrados (IDE) que no son más que un programa informático que consta
de una serie de herramientas de programación, los que actualmente utilizan los lenguajes
de programación para su desarrollo.
Editores de texto
Compiladores
Intérpretes
Enlazadores
Depuradores
Entornos de Desarrollo Integrados (IDE)
Software de Aplicación
Así que ahora ya sabes como se clasifica el tipo de software, aunque esta clasificación
podría variar, es una buena forma para que cualquier persona lo pueda entender y
comprender fácilmente.
TIPOS DE SISTEMAS OPERATIVOS PARA PC
1 – MS-DOS
Sus siglas vienen de la frase en inglés MicroSoft Disk Operating System o en español
Sistema Operativo de Disco MicroSoft, tuvo 9 versiones oficiales antes de ser reemplazado
definitivamente.
Este sistema operativo fue lanzado por Microsoft a principio de los 80 y era considerado el
más popular de la época, aproximadamente hasta los 90 hasta que la misma empresa
empezó a implementar sistemas operativos más desarrollados.
El sistema MS-DOS apareció por primera vez en el año 1,981 y se desarrolló a partir del
Quick and Dirty Operating System (QDOS).
Aunque parezca algo obsoleto en la actualidad, en los 80 era considerado el más avanzado
de la época entre los tipos de sistemas operativos que existían en esa fecha, ya que
trabajaba con comandos simples para realizar tareas, muchos de estos comandos pueden ser
utilizados hoy en Windows.
2 – Windows
Lanzado por primera vez al mercado en el año 1,987, adquirió fama gracias a su Interfaz
Gráfica de Usuario (GUI) con la que se podían abrir ventanas para realizar las tareas en el
ordenador.
Sin embargo no fue sino hasta el año 1,990 cuando el sistema Microsoft Windows logró
vender aproximadamente 2 millones de copias en 5 meses con su versión Windows 3.0.
En el año 2,015 fue lanzado el sistema operativo más reciente de la empresa, Windows 10.
Una versión que permite ser utilizado tanto en ordenadores como en equipos móviles.
Una de las grandes ventajas que nos ha ofrecido esta última versión es la posibilidad de
obtener actualizaciones constantes a todos sus usuarios.
Hoy en día hablar es uno de los sistemas operativos con mayor fama a nivel mundial, uno
de los más sencillos de utilizar y el preferido de muchos. Recordemos que ha estado
presente en nuestros hogares desde hace muchos años.
3 – MacOS
Un sistema operativo de la compañía Apple, se puede encontrar preinstalada en cualquier
computadora Mac.
Anteriormente el nombre de este sistema operativo era simplemente “System”, sin embargo
el nombre en el año 1,997 al que conocemos hoy en día.
Entre algunas de sus mejores versiones recientes tenemos OS x, Snow Leopard, Lion,
Sierra y High Sierra anunciada el 5 de junio de 2,017.
Aunque es también muy famoso entre los diferentes tipos de sistemas operativos, solo un
9.5% del mercado hace uso de MacOs, una de las razones más relevantes es el elevado
costo de los ordenadores Apple. Sin embargo no por esto deja de ser un buena muy buena
opción.
4 – Linux
Es un sistema operativo que cualquiera puede modificar y distribuir a cualquier lugar, esto
también se conoce como sistema operativo de códigos abiertos.
A parte de ser totalmente gratis, este posee diferentes versiones y cada una de ellas con una
apariencia totalmente distinta a las demás, una gran ventaja para las personas que desean
utilizar algo diferente.
Linus Torvalds es el creador del sistema Linux, esta idea le surgió en el año 1,991 mientras
hacia sus estudios en el área de informática. El 5 de octubre de 1,991, fue lanzada la
primera versión oficial de este sistema llamado Linux 0.002.
A pesar de ser un sistema operativo fácil de personalizar, hasta el 2,014 se estimaba que
solo un 2% de usuarios tenían instalado Linux en sus ordenadores, sin embargo es el
favorito dentro de muchos servidores.
5 – Haiku
Apareció en la década de los 90 como uno de los sistemas operativos más ligeros del
mercado. Principalmente sus inicios fueron en BeOS, el sistema operativo de Be
Incorporated.
En 1.998 la marca trató de competir contra Microsoft en el mercado, sin embargo no fue
tarea fácil y no le fue tan bien como se esperaba.
Luego de una demanda que realizó Be Inc. en contra de Microsoft acusando a la empresa
de no permitir lanzamientos de productos creados a partir de BeOS, la empresa terminó
siendo manejada por Palm.
Hoy en día este sistema no ha logrado avanzar mucho en el mercado, sin embargo puede
ser instalado en áreas de trabajo muy concretas.
6 – eComStation
Cuando esta idea inició era llamada OS/2, un proyecto en común que tenían las empresas
Microsoft e IBM, sin embargo la primera decidió abandonar dicho proyecto.
Este sistema compitió con la primera versión de Windows hace algunos años, sin embargo
no logró el éxito. Aunque no lo creas aún existen cajeros automáticos, ordenadores y
diferentes equipos con este sistema operativo.
Hace relativamente poco la empresa IBM decidió hacer la venta de los derechos de
desarrollo del sistema OS/2 a la empresa Serenity Systems, quien realizó el cambio de
nombre al actualmente conocido eComStation.
Cabe destacar que actualmente se enfoca a las empresas, para poder hacer uso completo de
el debes comprarlo, sin embargo puedes solicitar un disco de prueba en su página oficial.
7 – Unix
Este sistema operativo fue lanzado al mercado en el año 1.969 por la compañía AT&T,
desarrollado por Dennis Ritchie, Ken Thompson y Douglas McLroy. Podemos considerar a
Unix como un sistema portable y multitareas
La empresa Novell adquirió todos los derechos de desarrollo de este tipo de sistema
operativo, sin embargo luego fue vendido a la empresa Santa cruz Operation y por ultimo a
Caldera Software en el año 2,002.
Hoy en día y después de una larga lucha legal, la empresa Novell posee nuevamente todos
los derechos sobre el sistema operativo Unix.
Cabe destacar que no todos los sistemas que dicen Unix se encuentran certificados por la
marca, para ser un sistema original debe ser llamado Single Unix Specification, otros se
pueden llamar “Sistema similar a Unix”
8 – Chrome OS
El 7 de julio de 2,009 Google anunció en su blog oficial el lanzamiento de su propio
sistema operativo llamada Google OS y enfocado principalmente en mini portátiles.
9 – ReactOS
Este sistema operativo de código abierto posee lo mejor de los diseños de algunas versiones
de Windows y enfocado en ser totalmente compatible con Microsoft Windows Server
2,003.
El desarrollo del sistema ReactOS se inició en el año 1,995, nombrado como el clon de
Windows 95 y renombrado en 1,998, incorporando cada vez más programas y
características de todas las versiones de Windows.
Actualmente este sistema operativo se encuentra en su fase alpha, esto quiere decir que
aunque muchas características no estén completas, algunas aplicaciones desarrolladas por
Windows ya funcionan en su totalidad.
10 – Syllable
Podemos decir que se trata de un sistema operativo para aquellas personas que no poseen
un alto conocimiento en el área informática.
Permite realizar instalaciones de aplicaciones solo con extraer algún paquete Zip y para
desinstalarlas simplemente se eliminan como si de un documento se tratara.
La primera versión de Syllable apareció el 4 de Julio del 2,002, mientras que la última
versión apareció en el mercado en el año 2,012.
Actualmente el desarrollo de este sistema se detuvo, sin embargo se habla de un proyecto
llamado WaveOS que está utilizando lo mejor de Syllable para poder convertirlo en una
opción más liviana para los usuarios.
Extra – Solaris
Es un sistema operativo basado en Unix que se empezó a desarrollar en el año 1,983 bajo el
nombre de SunOS. Originalmente pertenecía a la empresa Sun Microsystems, sin embargo,
hoy en día los derechos son de Oracle Corporation.
En su primera versión del año 1,992 incluía funciones del System V y fue la primera vez
que se le conoció como Solaris.
En 1,993 Solaris fue considerado un excelente sistema operativo, incluso mejor que Linux,
debido a esto empezaron a desarrollar la posibilidad de personalizarlo haciendo uso de
códigos fuente.
Podemos decir que este sistema operativo es una excelente opción cuando se trata de
multiprocesamiento simétrico, esto quiere decir que soporta más de dos CPU’s conectadas
a la misma memoria centra.
Recuerda que los tipos de sistemas operativos poseen características y apariencia diferentes,
sin embargo la mayoría poseen algo en común, han sido diseñados para que sea mucho más
sencillo de usarlos.
Aunque al principio nos cueste acostumbrarnos y parezca un poco extraño probar estos
tipos de sistemas operativos diferentes, valdrá la pena probarlos y escoger el que mejor se
adapte a nuestros gustos o necesidades.
Tipos de Microsoft Windows.
Windows 1 y Windows 2:
Windows 3 y Windows NT 3:
Windows 3, tuvo ciertos cambios comparado con las anteriores versiones, pero el gran
éxito fue el surgimiento de Windows 3.1, el cual comenzó a utilizar fuentes TrueType, y
otras grandes incorporaciones gráficas. Esta versión de Windows superó en ventas al
sistema operativo de IBM.Más tarde salió al mercado Windows 3.11, el cual tuvo una gran
cantidad de ventas y por último la primer versión en incluir la API de 32-bits fue la versión
de Windows NT 3.
Windows 95:
Windows 98:
Windows 2000:
Estaba basado en la tecnología NT que nombrábamos antes, como el Windows 3.11 y sus
versiones posteriores
Windows ME:
Windows XP:
Fue el gran cambio que tuvo Microsoft con Windows, con increíbles mejoras gráficas, un
gran incremento de velocidad y agilidad.También incorporó su versión de 64 bits, logró
hacer una explosión en el mercado de sistemas operativos y también incorporo funciones
como la encriptación de archivos del sistema, el soporte para redes wifi, y la asistencia
remota.
Windows Vista:
Podríamos decir que este tipo de Windows, fue otro de los fracasos de Microsoft. Windows
Vista tenía grandes expectativas en la empresa, pero resultó tener muchos errores, ser muy
lento y sufría de sobrecargas.Se incluyeron en él mejoras gráficas como el Aero, los
gadgets de escritorio, y el sistema de actualización hacia versiones superiores con el
Windows Anytime Upgrade
Windows 7:
Con Windows 7 se intentó corregir todo lo malo del Windows Vista. Se impulsó también
una mejora de la ayuda al consumidor para solucionar ciertos problemas comunes, además
de la creación del Grupo de Hogar y el nuevo diseño de la barra de tareas, dejándola más
ancha y con un sistema de íconos más elegantes.
Windows 8:
El proceso de arquitectura de software toma los requisitos de los clientes, los analiza y
produce un diseño para obtener un software que satisfará sus necesidades. Los diseños
exitosos de software deben sopesar las disyuntivas inevitables que surgen debido a
requisitos conflictivos; cumplir con los principios de diseño y las buenas técnicas de
procedimiento que han evolucionado con el tiempo; y complementar el hardware moderno,
las redes y los sistemas de administración. Una arquitectura contundente de software
implica tener mucha experiencia en temas teóricos y prácticos, así como la visión necesaria
para convertir lo que al parecer son escenarios y requisitos comerciales imprecisos en
diseños de trabajo sólidos y prácticos.
La arquitectura de software implica definir una solución estructurada que satisfaga todos
los requisitos técnicos y operacionales y, a la vez, optimizar los atributos comunes de
calidad como rendimiento, seguridad y capacidad de administración. Además, implica una
serie de decisiones basadas en una amplia gama de factores, y cada una de esas decisiones
puede tener un considerable impacto sobre la calidad, rendimiento, mantenimiento y éxito
general de ese software.
El software moderno rara vez es independiente. Por lo menos, en la mayoría de los casos,
interactuará con un origen de datos como una base de datos corporativa que expone la
información con la que trabajan los usuarios del software. Habitualmente, el software
moderno debe también interactuar con otros servicios y funciones de red para realizar
autenticación, obtener y publicar información, y ofrecer una experiencia de usuario
integrada. Si no se cuenta con una arquitectura adecuada, puede que sea difícil o incluso
imposible implementar, operar, mantener e integrar el software correctamente con otros
sistemas, y no podrá cumplir los requisitos del usuario.
En su máximo nivel, el diseño arquitectónico debe exponer la estructura del sistema pero
ocultar los detalles de implementación; percatarse de todos los casos y escenarios de uso;
intentar abordar los requisitos de todas las partes interesadas; y satisfacer lo más posible
todos los requisitos funcionales y de calidad.
Los requerimientos del software moderno son cada vez más complejos puesto que los
usuarios esperan más de sus aplicaciones. Las aplicaciones de escritorio independientes y
sencillas ya no son lo suficientemente buenas en la mayoría de los escenarios comerciales y
empresariales. En nuestro mundo conectado, la aplicación debe interactuar con otras
aplicaciones y servicios y ejecutarse en una serie de entornos, como la nube, y en
dispositivos portátiles. Los diseños monolíticos comunes en el pasado se han reemplazado
por software componentizado orientado al servicio, que utiliza marcos, sistemas operativos,
hosts en tiempo de ejecución y redes para implementar características que eran insólitas
hasta hace unos pocos años.
El software también debe cumplir varios criterios fundamentales para tener éxito. Debe
proporcionar seguridad de manera que la aplicación y sus datos estén protegidos contra
ataques malintencionados y errores accidentales. Debe ser robusto y confiable para
minimizar los errores y los costos asociados. Debe ejecutarse dentro de los parámetros
requeridos para satisfacer las necesidades del cliente, como un tiempo de respuesta máximo
o una capacidad de carga de trabajo específica. Debe ser sostenible para poder minimizar
los costos de administración y soporte técnico y suficientemente extensible para permitir
los cambios y actualizaciones inevitables que se requerirán con el tiempo.
Todos estos factores implican algunas desventajas. Por ejemplo, la implementación de los
mecanismos más seguros mediante un cifrado complejo afectará el rendimiento. La
implementación de opciones de configuración y actualización de amplio rango puede hacer
que la implementación y administración sean más complicadas. Además, cuanto más
complejo sea el diseño, más costará implementarlo. Una buena arquitectura tendrá como
objetivo equilibrar estos factores para producir el resultado óptimo en el escenario
específico.
El arquitecto de software debe considerar las necesidades del cliente. Sin embargo, el
término general “cliente” habitualmente comprende tres áreas de responsabilidad en
conflicto: los requisitos empresariales, los requisitos del usuario y los requisitos del
sistema. Los requisitos empresariales por lo general definen una serie de factores, como los
procesos de negocios, los factores de rendimiento (como seguridad, confiabilidad y
capacidad de proceso) y las restricciones de presupuesto y costos. Los requisitos del usuario
incluyen el diseño de interfaz, capacidades operativas y facilidad de uso del software. Los
requisitos del sistema incluyen el hardware, las redes y las capacidades y restricciones del
entorno en tiempo de ejecución. En la figura 1 se muestra cómo pueden variar estos
distintos requisitos, de modo que el arquitecto debe trabajar hasta lograr un diseño que se
ajuste al área de superposición.
Cada arquitecto de software tiene su propio enfoque para recopilar y analizar requisitos y
para definir la arquitectura. No obstante, algunas preguntas que generalmente deben
responder son: “¿cómo trabajarán los usuarios con la aplicación?”; “¿cómo se
implementará la aplicación en producción y cómo se administrará?”; “¿cuáles son los
requisitos de atributos de calidad para la aplicación, como seguridad, rendimiento,
concurrencia, internacionalización y configuración?”; “¿cómo se puede diseñar la
aplicación para que sea flexible y sostenible a través del tiempo?”; “¿cuáles son las
tendencias arquitectónicas que podrían tener impacto en la aplicación ahora o después de su
implementación?”
Al igual que la mayoría de las tareas en el mundo del diseño y desarrollo de software,
diseñar la arquitectura es un proceso inicial y a la vez iterativo. Muchas tareas iniciales
como el análisis de requisitos, la investigación técnica y la identificación de objetivos
habitualmente se producen al comienzo del proceso. El siguiente paso consiste en
identificar los escenarios clave para el diseño. Estos son los requisitos primarios que debe
cumplir el software y las restricciones dentro de las que debe operar. A partir de esta
información, el arquitecto puede generar una descripción general de la aplicación. Esta
descripción general abarca detalles de alto nivel, como el tipo de aplicación (web, teléfono,
escritorio o nube), la arquitectura de implementación (habitualmente un diseño por niveles
con componentes que se comunican sobre límites de hardware y de red), los estilos
adecuados de arquitectura que se seguirán (como de n niveles, cliente-servidor u orientada
al servicio) y las tecnologías de implementación que se adaptan mejor al escenario.
Desde allí, el arquitecto puede comenzar a generar diseños candidatos que satisfagan los
requisitos de alto nivel y los más importantes que se identificaron anteriormente. El diseño
después se revisa y se pone a prueba frente a los escenarios clave, a menudo en conjunto
con las observaciones del cliente y versiones de ensayo o prueba, para garantizar que
ofrezca la solución óptima. Esto es poco probable durante la primera iteración, pero a
medida que el ciclo se repite el diseño finalmente convergirá en los requisitos y escenarios
clave. En la figura 2 se muestra este enfoque iterativo.
El diseño final también debe especificar los atributos de calidad que debe cumplir la
aplicación. Estos constituyen el resultado de las decisiones y compensaciones realizadas
por el arquitecto con el asesoramiento del cliente. Estos atributos incluyen definiciones de
los requisitos de seguridad y su plan de implementación, la escalabilidad y el rendimiento
requeridos al implementarse en la plataforma de destino, las formas en que se implementan
el mantenimiento y la extensibilidad, y las características que permiten la interoperabilidad
con otros sistemas.
Es evidente que un arquitecto de software requiere una amplia gama de habilidades tanto
generales como técnicas. Durante el análisis de requisitos y las etapas de revisión, el
arquitecto debe trabajar con el cliente, consultar a socios y otros miembros del equipo y
actuar como un intermediario para gerentes, usuarios y administradores de sistemas. Al
sobresalir en estas habilidades generales se puede producir un mejor plan inicial y un
conjunto más preciso de requisitos, lo que ahorra tiempo y esfuerzo más adelante.
El arquitecto de software también debe poseer las habilidades técnicas que se requieren
para comprender cómo los modernos sistemas de software, los marcos y el hardware
admiten los requisitos; cómo los factores de red y sistema operativo pueden afectar las
decisiones de diseño; y cómo las tendencias y los cambios en estas áreas tendrán un
impacto sobre el diseño. Después del análisis inicial de requisitos, el arquitecto de software
también debe aplicar sus habilidades técnicas en torno a patrones de diseño, estándares de
comunicación y mensajería, capacidades de código, problemas de seguridad y restricciones
de rendimiento. Todos estos requieren un conocimiento profundo de las tecnologías que se
usarán para implementar el software final.
Por supuesto, la arquitectura de software también requiere visión. El ser capaz de ver cómo
los sistemas se integrarán y pueden interoperar, cómo serán particionados e implementados
y cómo interactúan con los usuarios a menudo sólo se puede determinar una vez que el
arquitecto ve en su mente la solución en general. Esto requiere un enfoque organizado y
mucha atención a los detalles para intercalar y comprender todos los requisitos y
restricciones, y para transformarlos gradualmente en un diseño técnico fluido e integral. Sin
embargo, también se requiere talento e imaginación para poder visualizar el resultado final
y luego trabajar metódicamente hacia la solución ideal.