Ken Thomson y Denis Ritchie Programando
Work

Computadores y Sistemas Operativos

Computadores
Sistemas Operativos
Fundamentos
Unix/Like
Microsoft

Una vista general a los computadores y los sistemas Operativos

Overview

Para trabajar en un proyecto de Software tenemos que tener claros varios conceptos entorno a este fin (El Software).

Esenciales

Primero para tu poder trabajar en un proyecto cualquiera, lo apropiado a realizar es la preparacion de algo llamado “Entorno de desarrollo” en este caso de Software.

Este entorno, es el conjunto de herrmamientas que son empleadas en el espacio y jornada de desarrollo.

Para el Desarrollo de Software, es necesario el siguiente grupo esencial.

Computador

El Computador es la maquina Principal que contiene el hardware de computo, Comunmente le conocemos como Torre, o “CePeUh”

CPU.png

Perifericos

Todo Computador tiene diversos dispositivos, tambien maquinas que cumplen funciones adicionales al computo de un computador, la mayoria de estos dispositivos no son necesarios para que un computador funcione, ademas de que estos elementos cumplen funciones especificas dentro del computador.

Teclado

Un Teclado es un dispositivo que permite enviar a la entrada estandar de un computador, señales sobre caracteres de texto, en esencia un teclado es un conjunto de switches que enciende y apagan dichas señales sobre los caracteres, y el computador esta configurado para tomar las señales de este dispositivo e interpretarlas en su sistema.

teclado mecanico

Mouse

El Mouse, Ratón, o Apuntador, es un dispositivo que se conecta al gestor gráfico que funciona dentro de nuestro Sistema Operativo que es ejecutado en nuestro computador, dicho dispositivo, permite interactuar en un entorno gráfico, traduciendo el desplazamiento de este dispositivo sobre una superficie, en algún tipo de interacción en el software gráfico que lo requiera.

Mouse Gamming

Sistema Operativo

El sistema Operativo de un Computador es un Software o una Herramienta, que bien dicho opera o gestiona una maquina de computo, este es el directo intermediario entre los dispositivos fisicos conectados al computador y un ecosistema propuesto para la gestion de estos, asi mismo plantea la administracion de los diferentes procesos de computo realizados por la maquina, le brinda un contexto en tiempo y recursos a los procesos de computo que son ejecutados dentro del computador.

Arquitectura de capas de un sistema operativo

UNIX

UNIX es un Sistema operativo que fue desarrollado por Ken Thompson y Denis Ritchie, mientras que trabajaban para At&T en los laboratorios Bell en la década de 1960 y 70.

Ken Thomson y Denis Ritchie frente a un mainframe

UNIX propone una arquitectura de capas para el sistema operativo, este fue ideado principalmente para las maquinas que en esa entonces existían, las cuales eran de propósito industrial y científico; estas maquinas son llamadas Mainframes.

Fotografia de un Manframe

La Arquitectura de este sistema operativo fue algo revolucionario para la epoca y planteo las bases de uno de las principales ramas de las ciencias de la computacion la cual es el estudio y desarrollo de sistemas operativos.

Arquitectura de capas de UNIX

Windows - D.OS

Microsoft en la década de los 80, participo en uno de los cambios mas importantes en la computación y fue el desarrollo de la computación personal, esta fue liderada por la empresa IBM, quien en esa época su principal foco de trabajo eran los Mainframes.

Microsoft adquirió y transformo un sistema operativo base llamado 86-DOS el cual fue un sistema desarrollado por la Seattle Computer, para el procesador Intel 8086, en base al Software C/PM (Control Program Monitor).

Bill Gates y su equipo transformaron esta base, para que funcionara en el nuevo modelo de computadoras multiproposito y multi origen, de IBM (IBM-PC) es decir el computador personal.

Microsoft durante años le hizo soporte a este sistema logrando muchos avances, en el final de la decada de los 80, microsoft desarrollo windows, un programa que se ejecutaba por encima de MSDOS, para montar una Interfaz grafica, esto en base a los avances de Xerox, para la Xerox Alto que fue una maquina de demo desarrollada en el departamento SRI en Xerox PARC (Palo Alto Research Center).

El Legado de UNIX

Arbol evolutivo de sistemas basados en Unix

UNIX fue un sistema operativo importante que mantiene su legado casi 50 años después de haber salido su primera version.

Gracias a esto existe una categoría de sistemas operativos basados de alguna manera en UNIX a estos de les llama UNIX-Like

GNU/Linux

Teniendo en cuenta la arquitectura de UNIX la cual separa en el sistema operativo, “el Kernel”, “la Shell” y el software base, en algún momento de la década de los 80s, un grupo de desarrolladores de la universidad MIT, liderados por Richard Stallman, fundan las fundaciones, GNU (Gnu’s Not Unix), y la FreeSoftware Foudation (SFS), las cuales le dan objeto y propósito al Software Libre, en medida a que At&T manejaba UNIX como un software privado y de licencia exclusiva, limitando el desarrollo de herramientas y modificaciones para UNIX, Richard mediante el movimiento Hacker nacido en MIT, propone el proyecto de desarrollar una alternativa compatible con UNIX pero libre de At&T, así naciendo la base de software GNU.

En comienzos de los 90, en la universidad de Helsinki, un Joven Linus Torvalds, presenta para su clase de sistemas operativos una propuesta de un clon del sistema MINIX (Mini-UNIX), una interpretación independiente y academica de UNIX desarrollada por Andrew S. Tanenbaun, basada en la arquitectura de microkernel, es decir una arquitectura de responsabilidades reducidas en compracion al kernel ideado originalmente para UNIX.

Linus, presenta este proyecto motivado por compañeros al mundo mediante la entonces nueva licencia de código Libre de GNU, la GPL1, esto le permitió que su código sin ninguna pretension económica fuera, visto, analizado y modificado por los desarrolladores del mundo, debido al impacto que Linux tuvo en el ecosistema UNIX, este motiva a Linus, a desarrollar GIT, y llevar las riendas de este proyecto, naciendo así la Linux Foundation.

Con el tiempo y naturalmente, los desarrolladores juntaron la base de software desarrollada por GNU, y el Kernel Linux, naciendo así esta dupla, que a día de hoy es la base del funcionamiento de las principales maquinas MainFrame de la actualidad y del Internet mismo.

MacOS

En la década de los 80 cuando Steve Jobs fue expulsado de su propia compañia (Apple), este funda NeXT Computer Inc, donde desarrolla una maquina con el propósito de ser usada profesionalmente, con un enfoque al trabajo de gráficos por computadora (Importate en el desarrollo de videojuegos y peliculas como DOOM 1993 y ToyStory), esta Maquina la NeXTcube, la cual toma el sistema operativo de Sun Microsystems (SunOs Basado en UNIX) como base para funcionar, aqui Steve, empieza el desarrollo de su propio sistema operativo Inicialmente un entorno de desarrollo llamado en NeXT OpenStep y despues NextSTEP y finalmente el sistema operativo completado se llamo Rhapsody.

Logo de NeXT

Después de un tiempo Steve vuelve a Apple y como director, este toma la directiva de Adquirir NeXT, y combinar su trabajo con el de Apple en la nueva Macintosh aqui nace MacOSX (Macintosh Operating System), un sistema para las maquinas de Apple y basado en el legado de UNIX.

Sistema operativo tipo Unix

Unix-Like

Los demás sistemas operativos que se basaron en UNIX, y todo el movimiento relativo a este, formaron lo que se llamo el estándar POSIX (Portable Operating System Interface) propuesto por la IEEE Computer Society y otras organizaciones relevantes como FSF, y ANSI, este estándar busca garantizar que los sistemas operativos que se basan en UNIX, sean de alguna forma retro-compatibles con UNIX mismo, tanto desde sus inicios como en el estado actual del arte.

algunos nombres relevantes de estos sistemas basados en UNIX, son por ejemplo BSD, Hurd, Darwin SunOs, Solaris, RISC iX y demas.

Muchos de estos proyectos nacieron siguiendo el movimiento de Richard Stallman, y mucho de lo acontecido entorno a UNIX, hoy forma las bases de la computación.