Está en la página 1de 36

Universidad Tecnológica del Estado de Zacatecas

Unidad Académica de Pinos.

1 Introducción a los Sistemas Operativos.


En la década de los 40 los primeros sistemas de computadoras no poseían sistemas
operativos, los usuarios tenían completo acceso al lenguaje máquina (único lenguaje interno que
entiende la computadora), cada instrucción era codificada a mano.

Las computadoras fueron creadas con objetivos esenciales, hacer un trabajo o tarea más rápido
que un humano.

Desde la década de los 50 nace el concepto de sistemas operativos y desde entonces es un tema
imprescindible y en este sentido muchas han sido las personas que se han dedicado a su
estudio Andrew Tanenbaum, con su libro “Sistemas Operativos Modernos”, Jesús Carretero con su
libro , Sistemas Operativos “Una visión Aplicada” por mencionar unos pocos, son personas que han
puesto su granito de arena en el estudio de esta ciencia, por decirlo de alguna manera, pero esto
es solo el comienzo porque aún queda mucho camino por recorrer.

1.1 Definición de Sistema Operativo.

Un sistema operativo es un programa que actúa como intermediario entre el usuario de


una computadora y el hardware de este. El propósito del sistema operativo es crear un entorno en
el que un usuario pueda ejecutar programas. Así pues, el objetivo primario de un sistema operativo
es hacer el sistema de la computadora cómodo de usar. Un objetivo secundario es utilizar el
hardware de la computadora de forma eficiente.

Figura 1. Interacción Usuario-PC.

Estructura de los Sistemas Operativos son:

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

a) Administrador de recursos:

– Gestión y asignación de recursos de la computadora.

b) Programa de control:

– Controla la ejecución de los programas de usuario y las operaciones de los


dispositivos de E/S.

c) Núcleo:

– El único programa que ejecuta siempre (por debajo y anterior a cualquier otro
programa).

d) Máquina virtual:

– Extiende y enmascara la funcionalidad del hardware.

Objetivos del sistema operativo:

a) Facilitar el uso al usuario (interfaz).

b) Facilitar la programación al programador (máquina virtual extendida).

c) Ejecutar programas eficientemente (gestor de recursos).

Conveniencia. Proveer un medio ambiente al usuario para ejecutar sus programas, por ejemplo
en computadoras personales.

Eficiencia: Incrementar la productividad de los recursos de producción, como son: el HD (Hard


Disk) del SC (Sistema de Computo) y el usuario del SC, por ejemplo en grandes sistema de
cómputo.

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

Los SO (Sistemas Operativos) llevan a cabo dos funciones que en esencia no tienen relación.

a) Máquina Extendida:

— La función del SO es presentar al usuario el equivalente de una máquina


extendida o virtual que sea más fácil de programar que el hardware que hay por
debajo.

b) Controlador de recursos:

— La función del SO es controlar todas las piezas de un complejo sistema.


Proporcionar una asignación ordenada y controlada de los procesadores,
memoria, dispositivos de E/S para los varios programas que compiten por ellos.

1.2 Historia de los Sistemas Operativos.

A finales de los años 40 apareció la primera generación de computadoras, solo había un


pequeño número de computadoras, no existían los sistemas operativos todo se hacía en lenguaje
máquina.

Figura 2 Primera generación de computadoras.

A principios de los años 50 con el objeto de facilitar la interacción entre persona y computadora,
los sistemas operativos hacen una aparición discreta y bastante simple, con conceptos tales como
el monitor residente, el proceso por lotes y el almacenamiento temporal.
A mediados de los 60 aparece Multics aunque luego fracaso a finales de esta década empezó a
desarrollarse UNIX.

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

En la década de los 70 los sistemas que ya existían eran grandes, caros y ocasionaban un gran
consumo de recursos. Los nuevos sistemas incorporan una amplia capa de software entre el
usuario y la computadora, para que el usuario no necesite conocer ningún detalle del circuito.
En la década de los 80 con la creación de los circuitos LSI (integración a gran escala), chips que
contenían miles de transistores en un centímetro cuadrado de silicio, empezó el auge de las
computadoras personales. Surgieron los menús y las interfaces gráficas esto reducían la rapidez
de las aplicaciones, pero se volvían más prácticos y simples para los usuarios.

El lanzamiento oficial de la computadora Macintosh fue en enero de 1984, cuya características


novedosas era una GUI (Graphic User Interface), Multitareas y el Mouse que provoco diferentes
reacciones entre los usuarios acostumbrados al uso de comandos y tacharon al Mouse como un
juguete.

En 1981 Microsoft crea el MS-DOS sistema que surge a partir de una serie de modificaciones del
sistema operativo QDOS, el cual compro Microsoft.

En 1991 aparece la primera versión del núcleo de LINUX similar a UNIX, y está basado en el
estándar posix (que trabajaba en modo comandos).

1.3 Tipos de Sistemas Operativos

Con el paso del tiempo, los Sistemas Operativos fueron clasificándose de diferentes
maneras, dependiendo del uso o de la aplicación que se les daba. A continuación se mostrarán
diversos tipos de Sistemas Operativos que existen en la actualidad, con algunas de sus
características.

1.3.1.1 Sistemas por lotes.

Los Sistemas Operativos por lotes, procesan una gran cantidad de trabajos con poca o
ninguna interacción entre los usuarios y los programas en ejecución. Se reúnen todos los trabajos
comunes para realizarlos al mismo tiempo, evitando la espera de dos o más trabajos como sucede
en el procesamiento en serie. Estos sistemas son de los más tradicionales y antiguos, y fueron
introducidos alrededor de 1956 para aumentar la capacidad de procesamiento de los programas.

Cuando estos sistemas son bien planeados, pueden tener un tiempo de ejecución muy alto, porque
el procesador es mejor utilizado y los Sistemas Operativos pueden ser simples, debido a la
secuencialidad de la ejecución de los trabajos.

Algunos ejemplos de Sistemas Operativos por lotes exitosos son el SCOPE, del DC6600, el cual
está orientado a procesamiento científico pesado, y el EXEC II para el UNIVAC 1107, orientado a
procesamiento académico.

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

Algunas otras características con que cuentan los Sistemas Operativos por lotes son:

a) Requiere que el programa, datos y órdenes al sistema sean remitidos todos juntos en
forma de lote.

b) Permiten poca o ninguna interacción usuario/programa en ejecución.

c) Mayor potencial de utilización de recursos que procesamiento serial simple en


sistemas multiusuarios.

d) No conveniente para desarrollo de programas por bajo tiempo de retorno y depuración


fuera de línea.

e) Conveniente para programas de largos tiempos de ejecución (ej, análisis estadísticos,


nóminas de personal, etc.).

f) Se encuentra en muchos computadores personales combinados con procesamiento


serial.

g) Planificación del procesador sencilla, típicamente procesados en orden de llegada.

h) Planificación de memoria sencilla, generalmente se divide en dos: parte residente del


S.O y programas transitorios.

i) No requieren gestión crítica de dispositivos en el tiempo.

j) Suelen proporcionar gestión sencilla de manejo de archivos: se requiere poca


protección y ningún control de concurrencia para el acceso.

1.3.1.2 Sistemas Multitareas.

Es el modo de funcionamiento disponible en algunos sistemas operativos, mediante el


cual una computadora procesa varias tareas al mismo tiempo.

Existen varios tipos de multitareas:

La conmutación de contextos (context switching) es un tipo muy simple de multitarea en el que


dos o más aplicaciones se cargan al mismo tiempo, pero en el que solo se está procesando la
aplicación que se encuentra en primer plano (la que ve el usuario). Para activar otra tarea que se
encuentre en segundo plano, el usuario debe traer al primer plano la ventana o pantalla que
contenga esa aplicación.

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

En la multitarea cooperativa, la que se utiliza en el sistema operativo Macintosh ("Classic" Mac


OS 1984–2001), las tareas en segundo plano reciben tiempo de procesado durante los tiempos
muertos de la tarea que se encuentra en primer plano (por ejemplo, cuando esta aplicación está
esperando información del usuario), y siempre que esta aplicación lo permita.

En los sistemas multitarea de tiempo compartido, como OS/2, cada tarea recibe la atención del
microprocesador durante una fracción de segundo. Para mantener el sistema en orden, cada tarea
recibe un nivel de prioridad o se procesa en orden secuencial.

Dado que el sentido temporal del usuario es mucho más lento que la velocidad de procesamiento
de la computadora, las operaciones de multitarea en tiempo compartido parecen ser simultáneas.

Se distinguen por sus habilidades para poder soportar la ejecución de dos o más trabajos activos
(que se están ejecutado) al mismo tiempo. Esto trae como resultado que la Unidad Central de
Procesamiento (UCP) siempre tenga alguna tarea que ejecutar, aprovechando al máximo su
utilización.

Su objetivo es tener a varias tareas en la memoria principal, de manera que cada uno está usando
el procesador, o un procesador distinto, es decir, involucra máquinas con más de una UCP.

Sistemas Operativos como UNIX, Windows 95, Windows 98, Windows NT, MAC-OS, OS/2,
soportan la multitarea.

Las características de un Sistema Operativo de multiprogramación o multitarea son las siguientes:

a) Mejora productividad del sistema y utilización de recursos.

b) Multiplexa recursos entre varios programas.

c) Generalmente soportan múltiples usuarios (multiusuarios).

d) Proporcionan facilidades para mantener el entorno de usuarios individuales.

e) Requieren validación de usuario para seguridad y protección.

f) Proporcionan contabilidad del uso de los recursos por parte de los usuarios.

g) Multitarea sin soporte multiusuario se encuentra en algunas computadoras personales


o en sistemas de tiempo real.

Sistemas multiprocesadores son sistemas multitareas por definición ya que soportan la ejecución
simultánea de múltiples tareas sobre diferentes procesadores. En general, los sistemas de

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

multiprogramación se caracterizan por tener múltiples programas activos compitiendo por los
recursos del sistema: procesador, memoria, dispositivos periféricos.

1.3.1.3 Sistemas Operativos de tiempo compartido.

Permiten la simulación de que el sistema y sus recursos son todos para cada usuario. El
usuario hace una petición a la computadora, está la procesa tan pronto como le es posible, y la
respuesta aparecerá en la terminal del usuario.

Los principales recursos del sistema, el procesador, la memoria, dispositivos de E/S, son
continuamente utilizados entre los diversos usuarios, dando a cada usuario la ilusión de que tiene
el sistema dedicado para sí mismo. Esto trae como consecuencia una gran carga de trabajo al
Sistema Operativo, principalmente en la administración de memoria principal y secundaria.

Ejemplos de Sistemas Operativos de tiempo compartido son Multics, OS/360 y DEC-10.

Características de los Sistemas Operativos de tiempo compartido:

a) Populares representantes de sistemas multiprogramados multiusuario, ej: sistemas de


diseño asistido por computador, procesamiento de texto, etc.

b) Dan la ilusión de que cada usuario tiene una máquina para sí.

c) Mayoría utilizan algoritmo de reparto circular.

d) Programas se ejecutan con prioridad rotatoria que se incrementa con la espera y


disminuye después de concedido el servicio.

e) Evitan monopolización del sistema asignando tiempos de procesador (time slot).

f) Gestión de memoria proporciona protección a programas residentes.

g) Gestión de archivo debe proporcionar protección y control de acceso debido a que


pueden existir múltiples usuarios accesando un mismo archivo.

1.3.1.4 Sistemas de Computador Personal.

Una computadora personal, también conocida como PC (sigla en inglés de personal


computer), es una microcomputadora diseñada en principio para ser usada por una sola persona

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

a la vez. (En el habla habitual, las siglas PC se refieren más específicamente a la


computadora compatible IBM PC.).

Una computadora personal es generalmente de tamaño medio y es usado por un solo usuario
(aunque hay sistemas operativos que permiten varios usuarios simultáneamente, lo que es
conocido como multiusuario).

La primera computadora personal es el famoso Programa 101 inventado por el ingeniero


italiano Pier Giorgio Perotta y producido por el fabricante italiano Olivetti en 1964,

Una computadora personal suele estar equipada para cumplir tareas comunes de la informática
moderna, es decir permite navegar por Internet, escribir textos y realizar otros trabajos de oficina
o educativos, como editar textos y bases de datos. Además de actividades de ocio, como escuchar
música, ver videos, jugar, estudiar, etc.

En cuanto a su movilidad podemos distinguir entre computadora de escritorio y computadora


portátil.

1.3.1.5 Sistemas Paralelos.

En estos tipos de Sistemas Operativos se pretende que cuando existan dos o más
procesos que compitan por algún recurso se puedan realizar o ejecutar al mismo tiempo.

En UNIX existe también la posibilidad de ejecutar programas sin tener que atenderlos en forma
interactiva, simulando paralelismo (es decir, atender de manera concurrente varios procesos de un
mismo usuario). Así, en lugar de esperar a que el proceso termine de ejecutarse (como lo haría
normalmente), regresa a atender al usuario inmediatamente después de haber creado el proceso.

Ejemplos de estos tipos de Sistemas Operativos que aún siguen vigentes son: Alpha(Utilizado en
Black Berry), la serie AIX, que es utilizado en los sistemas RS/6000 de IBM.

1.3.1.6 Sistemas Distribuidos.

Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede


ser que este conjunto de procesadores esté en un equipo o en diferentes, en este caso es
trasparente para el usuario. Existen dos esquemas básicos de éstos.

Un sistema fuertemente acoplado es aquel que comparte la memoria y un reloj global, cuyos
tiempos de acceso son similares para todos los procesadores.

En un sistema débilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que


cada uno cuenta con su memoria local.

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

Los sistemas distribuidos deben de ser muy confiables, ya que si un componente del sistema se
compone otro componente debe de ser capaz de reemplazarlo.

Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los siguientes: Sprite,
Solaris (SunOS), Mach, Chorus, Spring, etc.

Características de los Sistemas Operativos distribuidos:

a) Colección de sistemas autónomos capaces de comunicación y cooperación mediante


interconexiones hardware y software.

b) Gobierna operación de un sistema de computadora. y proporciona abstracción de


máquina virtual a los usuarios.

c) Objetivo clave es la transparencia.

Generalmente proporcionan medios para la compartición global de recursos.

1.3.1.7 Sistemas de tiempo real

Los Sistemas Operativos de tiempo real son aquellos en los cuales no tiene importancia el usuario,
sino los procesos.

Por lo general, están subutilizados sus recursos con la finalidad de prestar atención a los procesos
en el momento que lo requieran. Se utilizan en entornos donde son procesados un gran número
de sucesos o eventos.

Muchos Sistemas Operativos de tiempo real son construidos para aplicaciones muy específicas
como control de tráfico aéreo, bolsas de valores, control de refinerías, control de laminadores.
También en el ramo automovilístico y de la electrónica de consumo, las aplicaciones de tiempo
real están creciendo muy rápidamente. Otros campos de aplicación de los Sistemas Operativos de
tiempo real son los siguientes:

a) Control de trenes.

b) Telecomunicaciones.

c) Sistemas de fabricación integrada.

d) Producción y distribución de energía eléctrica.

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

e) Control de edificios.

f) Sistemas multimedia.

Algunos ejemplos de Sistemas Operativos de tiempo real vigentes son: VxWorks, Solaris, QNX,
Lyns OS y Spectra. Los Sistemas Operativos de tiempo real, cuentan con las siguientes
características:

a) Se dan en entornos en donde deben ser aceptados y procesados gran cantidad de


sucesos, la mayoría externos al sistema computacional, en breve tiempo o dentro de
ciertos plazos.

b) Se utilizan en control industrial, conmutación telefónica, control de vuelo, simulaciones


en tiempo real., aplicaciones militares, etc.

c) Objetivo es proporcionar rápidos tiempos de respuesta.

d) Procesa ráfagas de miles de interrupciones por segundo sin perder un solo suceso.

e) Proceso se activa tras ocurrencia de suceso, mediante interrupción.

f) Proceso de mayor prioridad expropia recursos.

g) Por tanto generalmente se utiliza planificación expropiativa basada en prioridades.

h) Gestión de memoria menos exigente que tiempo compartido, usualmente procesos


son residentes permanentes en memoria.

i) Población de procesos estática en gran medida.

j) Poco movimiento de programas entre almacenamiento secundario y memoria.

k) Gestión de archivos se orienta más a velocidad de acceso que a utilización eficiente


del recurso.

1.4 Componentes del Sistema.


El sistema operativo está compuesto por un conjunto de paquetes de software que pueden
utilizarse para gestionar las interacciones con el hardware. Estos elementos se incluyen por lo
general en este conjunto de software.

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

El núcleo o Kernel que representa las funciones básicas del sistema operativo, como por ejemplo,
la gestión de la memoria, de los procesos, de los archivos, de las entradas/salidas principales y de
las funciones de comunicación.

El intérprete de comandos, que posibilita la comunicación con el sistema operativo a través de


un lenguaje de control, permitiendo al usuario controlar los periféricos sin conocer las
características del hardware utilizado, la gestión de las direcciones físicas, etcétera.

El sistema de archivos, que permite que los archivos se registren en una estructura arbórea.

1.4.1 Kernel.

El núcleo (también conocido en español con el anglicismo kernel, de


raíces germánicascomo kern) es la parte fundamental de un sistema operativo. Es
el software responsable de facilitar a los distintos programas acceso seguro al hardware de
la computadora o en forma más básica, es el encargado de gestionar recursos, a través de
servicios de llamada al sistema. Como hay muchos programas y el acceso al hardware es limitado,
el núcleo también se encarga de decidir qué programa podrá hacer uso de un dispositivo de
hardware y durante cuánto tiempo, lo que se conoce como multiplexado. Acceder al hardware
directamente puede ser realmente complejo, por lo que los núcleos suelen implementar una serie
de abstracciones del hardware. Esto permite esconder la complejidad, y proporciona una interfaz
limpia y uniforme al hardware subyacente, lo que facilita su uso para el programador.

Las funciones más importantes del mismo, aunque no las únicas, son:

a) Administración de la memoria para todos los programas y procesos en ejecución.

b) Administración del tiempo de procesador que los programas y procesos en ejecución


utilizan.

c) Es el encargado de que podamos acceder a los periféricos/elementos de nuestra


computadora de una manera cómoda.

1.4.1.1 Tipos de Kernel.

No necesariamente se necesita un núcleo para usar una computadora. Los programas


pueden cargarse y ejecutarse directamente en una computadora (vacía), siempre que sus autores
quieran desarrollarlos sin usar ninguna abstracción del hardware ni ninguna ayuda del sistema
operativo. Ésta era la forma normal de usar muchas de las primeras computadoras: para usar
distintos programas se tenía que reiniciar y reconfigurar la computadora cada vez. Con el tiempo,
se empezó a dejar en memoria (aún entre distintas ejecuciones) pequeños programas auxiliares,
como el cargador y el depurador, o se cargaban desde memoria de sólo lectura. A medida que se

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

fueron desarrollando, se convirtieron en los fundamentos de lo que llegarían a ser los primeros
núcleos de sistema operativo.

Hay cuatro grandes tipos de núcleos:

a) Los núcleos monolíticos facilitan abstracciones del hardware subyacente


realmente potentes y variadas.

b) Los micronúcleos (en inglés microkernel) proporcionan un pequeño conjunto de


abstracciones simples del hardware, y usan las aplicaciones llamadas servidorespara
ofrecer mayor funcionalidad.

c) Los híbridos (micronúcleos modificados) son muy parecidos a los


micronúcleos puros, excepto porque incluyen código adicional en el espacio de núcleo
para que se ejecute más rápidamente.

d) Los exonúcleos no facilitan ninguna abstracción, pero permiten el uso


de bibliotecas que proporcionan mayor funcionalidad gracias al acceso directo o casi
directo al hardware.

1.4.1.2 Micronúcleos (microkrenel).

El enfoque micronúcleo consiste en definir una abstracción muy simple sobre el hardware,
con un conjunto de primitivas o llamadas al sistema que implementan servicios del sistema
operativo mínimos, como la gestión de hilos, el espacio de direccionamiento y la comunicación
entre procesos.

El objetivo principal es la separación de la implementación de los servicios básicos y de la política


de funcionamiento del sistema. Por ejemplo, el proceso de bloqueo de E/S se puede implementar
con un servidor en espacio de usuario ejecutándose encima del micronúcleo. Estos servidores de
usuario, usados para gestionar las partes de alto nivel del sistema, son muy modulares y simplifican
la estructura y diseño del núcleo. Si falla uno de estos servidores, no se colgará el sistema entero,
y se podrá reiniciar este módulo independientemente del resto.

Algunos ejemplos de micronúcleos: AIX , la familia de micronúcleos L4 , el micronúcleo Mach,


usado en GNU Hurd y en Mac OS X , Minix , MorphOS , QNX , RadiOS , VSTa , Hurd.

1.4.1.3 Estructura del código fuente del Kernel de Linux.

El código fuente del Kernel de Linux se estructura en varios directorios:

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

a) arch. Este directorio contiene archivos referentes a arquitecturas específicas. Dentro


del directorio arch/ existen subdirectorios para diferentes tipos de arquitecturas como
x86, ARM, Motorola 64K,MIPS o SPARC.

b) block. Contiene la implementación de algoritmos de planificación de E/S necesarios


para el uso de dispositivos de almacenamiento por bloques.

c) crypto. Contiene la implementación de operaciones de cifrado y la API criptológica


que es usada por ejemplo por los dispositivos WiFi para implementar algoritmos de cifrado.

d) Documentation. Este directorio contiene la descripción de muchos subsistemas así


como información valiosa sobre el funcionamiento del Kernel.

e) drivers. Este directorio contiene multitud de subdirectorios con los controladores de


numerosos dispositivos separados por clases de dispositivo. Es el directorio con mayor
contenido de largo.

f) fs. Contiene la implementación de los diferentes sistemas de archivos como EXT3,


EXT4,resiserfs, HFS, XFS, NTFS, FAT y otros.

g) include. Los ficheros de cabecera del Kernel residen en este subdirectorio.

h) init. Contiene código de alto nivel de inicio y arranque.

i) ipc. Contiene el código de soporte para la Comunicación entre Procesos (IPC) donde
se implementan mecanismos como las colas de mensajes, los semáforos, y la memoria
compartida.

j) Kernel. Las porciones del Kernel indpendientes de la arquitectura se encuentran en


este directorio.

k) lib. Contiene el código que implementa rutinas de librería.

l) mm. En este directorio se encuentra la implementación de los mecanismos de gestión


de memoria.

m) net. Contiene la implementación de los protocolos de red.

n) scripts. Scripts usados durante la construcción del Kernel.

o) sound. El subsistema de audio de Linux se encuentra en este subdirectorio.

p) usr. Contiene la implementación del sistema initramfs.

1.4.2 Shell.

El Shell, o intérprete de órdenes, son aplicaciones capaces de interpretar las órdenes del
usuario a través de comandos escritos, como por ejemplo el sistema MS-DOS o los terminales de
consola de los sistemas operativos Linux. Estas aplicaciones permiten al usuario interactuar con
la computadora, normalmente a través de una sencilla interfaz de texto plano, y suponen la forma

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

más básica de interacción de un usuario con su computadora escribiendo las órdenes en


este Shell a través de comandos y recogiendo las respuestas de la máquina.

6 Casos de estudio.
6.1 Unix / Linux (Basados en POSIX).

Figura 20. Unix/Lunix.

El mundo de Unix comienza en los 70. Fue concebido para que se ejecutara sobre
plataformas main frame. Hoy en día son muy populares por la capacidad al igual que Linux de que
varios usuarios trabajen sobre la misma máquina.

Más que nada porque por aquel entonces las computadoras eran muy caros y era mejor que los
usuarios se conectaran desde terminales menos costosos. Todos ellos se conectaban
al sistema mediante una contraseña única para casa user, y tendrán una configuración
personalizada cada uno de ellos.
Unix fue desarrollado para casi cualquier plataforma del mercado. Muchos de los fabricantes se
han interesado en el desarrollo de Unix. Cada uno tiene su propia versión de Unix con su toque
personal, además cuando el sistema se desarrolló por primera vez el código fuente se proporcionó
gratuito a las universidades e institutos.

Dos de ellas destacan por ser las más pioneras, la universidad de California en Berkeley y el
instituto tecnológico de Massachussets.

Al haber varias versiones de Unix provoco la aparición de los estándares, la mayoría bajo el
estándar IEEE POSIX.

Este significa interfaz portable de sistema operativo, y es un conjunto de normas para Unix de
manera que funcionen entre fabricantes distintos. Dentro de este estarían los diferentes estándares

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

como por ejemplo POSIX.1 POSIX.2 POSIX.4 son para el lenguaje C, la shell y la administración
de los hilos.

Linux: En 1991, cuando Linus Torvalds empezó a proponer el núcleo Linux y a reunir
colaboradores, las herramientas GNU eran la elección perfecta. Al combinarse ambos elementos,
conformaron la base del sistema operativo (basado en POSIX) que hoy se conoce
como GNU/Linux. Las distribuciones basadas en el núcleo, el software GNU y otros agregados
entre las que se pueden mencionar a Slackware Linux, Red Hat Linux y Debian GNU/Linux se han
hecho populares tanto entre los aficionados a la computación como en el mundo empresarial.
Obsérvese que Linux tiene un origen independiente, por lo que se considera un 'clónico' de UNIX
y no un UNIX en el sentido histórico.

UNIX es una marca registrada de Novell, después de una disputa con The Open Group en Estados
Unidos y otros países. Esta marca solo se puede aplicar a los sistemas operativos que cumplen la
"Single Unix Specification" de esta organización y han pagado las regalías establecidas.

En la práctica, el término UNIX se utiliza en su acepción de familia. Se aplica también a sistemas


multiusuario basados en POSIX (tales como GNU/Linux, Mac OS X [el cual, en su versión 10.5 ya
ha alcanzado la certificación UNIX], FreeBSD, NetBSD, OpenBSD), los cuales no buscan la
certificación UNIX por resultar cara para productos destinados al consumidor final o que se
distribuyen libremente en Internet. En estos casos, el término se suele escribir como "UN*X",
"UNIX*", "*NIX", o "*N?X". Para referirse a ellos (tanto a Unix, como a los sistemas basados en
Unix/POSIX) también se utiliza "Unixes", pero "Unices" (que trata la palabra Unix como un nombre
latino de la tercera declinación) es asimismo popular.

GNU/Linux es uno de los términos empleados para referirse a la combinación del núcleo
o kernel libre similar a Unix denominado Linux con el sistema GNU.

Su desarrollo es uno de los ejemplos más prominentes de software libre; todo su código
fuente puede ser utilizado, modificado y redistribuido libremente por cualquiera bajo los términos
de la GPL (Licencia Pública General de GNU, en inglés: General Public License) y otra serie de
licencias libres.

A pesar de que Linux es, en sentido estricto, el sistema operativo, parte fundamental de la
interacción entre el núcleo y el usuario (o los programas de aplicación) se maneja usualmente con
las herramientas del proyecto GNU y con entornos de escritorio basados en GNOME, que también
forma parte del proyecto GNU aunque tuvo un origen independiente.

Sin embargo, una parte significativa de la comunidad, así como muchos medios generales y
especializados, prefieren utilizar el término Linux para referirse a la unión de ambos proyectos.

Para más información consulte la sección "Denominación GNU/Linux" o el artículo "Controversia


por la denominación GNU/Linux".

A las variantes de esta unión de programas y tecnologías, a las que se les adicionan diversos
programas de aplicación de propósitos específicos o generales se las denomina distribuciones. Su

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

objetivo consiste en ofrecer ediciones que cumplan con las necesidades de un determinado grupo
de usuarios. Algunas de ellas son especialmente conocidas por su uso
en servidores y supercomputadoras. Donde tiene la cuota más importante del mercado.

Según un informe de IDC, GNU/Linux es utilizado por el 78% de los principales 500 servidores del
mundo, otro informe le da una cuota de mercado de 89% en los 500 mayores supercomputadoras.
Con menor cuota de mercado el sistema GNU/Linux también es usado en el segmento de
las computadoras de escritorio, portátiles, computadoras de bolsillo, teléfonos móviles, sistemas
embebidos, videoconsolas y otros dispositivos.

Linux puede funcionar tanto en entorno gráfico como en modo consola. La consola es común en
distribuciones para servidores, mientras que la interfaz gráfica está orientada al usuario final tanto
de hogar como empresarial.

Asimismo, también existen los entornos de escritorio, que son un conjunto de programas
conformado por ventanas, iconos y muchas aplicaciones que facilitan la utilización del computador.
Los escritorios más populares en GNU/Linux son: GNOME,KDE, LXDE y Xfce.

En dispositivos móviles se encuentra Android, que funciona sobre el núcleo Linux, pero no usa las
herramientas GNU. Intel anunció productos de consumo basados en MeeGo para mediados del
2011, por lo que es probable que este entorno tenga también una creciente importancia en los
próximos años.

La colección de utilidades para la programación de GNU es con diferencia la familia


de compiladores más utilizada en este sistema operativo. Tiene capacidad para
compilar C, C++, Java, Ada, entre otros muchos lenguajes.

Además soporta diversas arquitecturas mediante la compilación cruzada, lo que hace que sea un
entorno adecuado para desarrollos heterogéneos.

Ventajas de Linux:

a) Linux es básicamente un duplicado de UNIX, lo que significa que incorpora muchas de


las ventajas de este importante sistema operativo.

b) En Linux pueden correr varios procesos a la vez de forma ininterrumpida como un


servidor de red al tiempo que un procesador de textos, una animación, copia de archivos
o revisar el correo electrónico.

c) Seguridad porque es un sistema operacional diseñado con la idea de Cliente - Servidor


con permisos de acceso y ejecución a cada usuario. Esto quiere decir que varios usuarios
pueden utilizar una misma maquina al tiempo sin interferir en cada proceso.

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

Linux es software libre, casi gratuito. Linux es popular entre programadores y


desarrolladores e implica un espíritu de colaboración.

d) Linux integra una implementación completa de los diferentes protocolos y estándares


de red, con los que se puede conectar fácilmente a Internet y acceder a todo tipo de
información disponible.

e) Su filosofía y sus programas están dictados por el movimiento ``Open Source'' que ha
venido crecido en los últimos años y ha adquirido el suficiente fortaleza para hacer frente
a los gigantes de la industria del software.

f) Linux puede ser utilizado como una estación personal pero también como un potente
servidor de red.

g) Linux incorpora una gama de sistemas de interfaz gráfica (ventanas) de igual o mejor
calidad que otras ofrecidas en muchos paquetes comerciales.

h) Posee el apoyo de miles de programadores a nivel mundial.

i) El paquete incluye el código fuente, lo que permite modificarlo de acuerdo a las


necesidades del usuario.

j) Utiliza varios formatos de archivo que son compatibles con casi todos los sistemas
operacionales utilizados en la actualidad.

6.2 Windows.

La compañía fue fundada en 1975 por William H. Gates III y Paul Allen. Ambos se habían
conocido durante su época de estudiantes por su afición común a programar con la
computadora PDP-10 de Digital Equipment Corporation. Pocos han oído hablar de las
microcomputadoras, pero dos jóvenes apasionados de la informática, Bill Gates y Paul Allen,
perciben que la informática personal es el camino hacia el futuro.

Su idea es que en cada hogar haya un escritorio con un equipo personal. Ese mismo año Popular
Electronics dedicó su portada y un artículo al Altair 8800, la primera computadora personal. Ese
artículo animo a Gates y Allen a desarrollar un la primera versión del lenguaje Basic para este
equipo.

El lenguaje fue un éxito y múltiples empresas compraron las licencias .Con el dinero ganado
fundaron la base en Albuquerque, Nuevo México.

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

No tardaron en llegar nuevas versiones de Basic, un segundo producto llamado Microsoft Fortran,
otro lenguaje de programación, y con todo ello pronto sacó versiones del lenguaje Basic para los
microprocesadores 8080 y 8086.

En junio de 1980, Gates y Allen contratan a Steve Ballmer, ex compañero de Gates de Harvard,
para que les ayude a dirigir la empresa. Poco después, tras trasladarse a Bellevue,
Washington, IBM contrató a Microsoft para escribir el sistema operático del IBM PC, que saldría al
mercado el año siguiente. Este proyecto llamado inicialmente “Chess”, pretendía ser la base sobre
la que se pudieran ejecutar los programas del equipo.

Presionados por el poco tiempo disponible, compraron QDOS (Quick and Dirty Operating System)
a Tim Paterson, un programador de Seattle por 50.000 dólares, y le cambiaron el nombre a MS-
DOS (Microsoft Disk Operative System).

Esta primera versión de MS-DOS soportaba 16 Kb de memoria RAM. Disquetes de 5,25


pulgadas de una sola cara de 160 Kb e incluía ya 22 órdenes. Además de incluir ya el intérprete
de comandos COMMAND.COM. Y manejar archivos con extensión .com y .exe.

Figura 20. MS-DOS

En 1981, tras comenzar a comercializar los IBM con MS-DOS los usuarios descubren el uso de la
tecla de la barra invertida

MS-DOS nos acompañó desde 1981 con la versión 1.0 hasta el año 2000 con la versión 8.0 (que
estaba incluida en Microsoft Windows Millenium Edition), en ese intervalo de casi 20 años, fue
incluyendo nuevas funcionalidades y ampliando sus capacidades: MS-DOS 2.0 (1983) aportó el
soporte para discos duros, MS-DOS 2.11 incluyó el soporte para LAN, MS-DOS 6.0 (1993) llegó
con el desfragmentador de disco o el antivirus MSAV y MS-DOS 6.22 fue la última versión de MS-
DOS que se distribuyó por separado ya que las sucesivas versiones (MS-DOS 7.0 y MS-DOS 8.0)
vendrían integradas en Windows 95, Windows 98 y Windows Me sucesivamente.

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

Figura 21. Diferentes versiones de Windows.

6.2.1 WINDOWS 8.

La compañía multimillonaria Microsoft ha presentado al público en general varias


características básicas del nuevo sistema operativo, a quien han denominado
preliminarmente 'Windows 8'. La demostración oficial de Windows 8, dio a conocer que el sistema
está más que nunca adaptado para el trabajo con pantallas táctiles.

La interfaz del 'Windows 8' es totalmente diferente del de las versiones previas. El nuevo aspecto
está compuesto de íconos relativamente grandes, parecidos a los de las tabletas. Algunos de ellos
representan íconos de programas, otros muestran información actual renovable del estado del
tiempo o noticias.

El renovado menú permite, como en los ingenios de Apple iPad y iPhone, elegir diferentes
aplicaciones, navegando a la derecha o izquierda, o márgenes de única pantalla, como en las
versiones previas del sistema.

Pese a que el diseño obviamente está elaborado con el objetivo de responder en mayor grado a
las demandas de los aparatos con pantallas táctiles, la navegación también será posible con los
ratones y teclados habituales.

En el Windows 8 serán incluidas aplicaciones integradas que mostrarán noticias, el pronóstico del
tiempo y el mercado de valores; 'Windows 8' apoya la multitarea, y los programadores afirman que
será más efectiva que nunca.

De la misma forma, según la información actual, los requisitos de la computadora para usar el
sistema también crecerán significativamente. Se espera que la potencia de la máquina necesaria
resultara unas dos veces más alta que para el 'Windows 7'.

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

Figura 21. Windows 8.

6.3 Otros Sistemas Operativos.

6.3.1 Android.

Figura 22. Android.

Es una plataforma móvil, que incluye un sistema operativo móvil basado en Linux, junto con un
conjunto de aplicaciones middleware y aplicaciones nativas.

Está enfocado para ser utilizado en dispositivos móviles como teléfonos


inteligentes, tabletas, Google TV y otros dispositivos.

Es desarrollado por la Open Handset Alliance, la cual es liderada por Google. Este sistema por lo
general maneja aplicaciones descargadas desde Google Play, aunque pueden ser instaladas por
otros medios.

Los componentes principales del sistema operativo de Android (cada sección se describe en
detalle):

a) Aplicaciones: las aplicaciones base incluyen un cliente de correo electrónico,


programa de SMS, calendario, mapas, navegador, contactos y otros. Todas las
aplicaciones están escritas en lenguaje de programación Java.

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

b) Marco de trabajo de aplicaciones: los desarrolladores tienen acceso completo a los


mismos APIs del framework usados por las aplicaciones base. La arquitectura está
diseñada para simplificar la reutilización de componentes; cualquier aplicación puede
publicar sus capacidades y cualquier otra aplicación puede luego hacer uso de esas
capacidades (sujeto a reglas de seguridad del framework). Este mismo mecanismo
permite que los componentes sean reemplazados por el usuario.

c) Bibliotecas: Android incluye un conjunto de bibliotecas de C/C++ usadas por varios


componentes del sistema. Estas características se exponen a los desarrolladores a través
del marco de trabajo de aplicaciones de Android; algunas son: System C library
(implementación biblioteca C estándar), bibliotecas de medios, bibliotecas de gráficos, 3D
y SQLite, entre otras.

d) Runtime de Android: Android incluye un set de bibliotecas base que proporcionan la


mayor parte de las funciones disponibles en las bibliotecas base del lenguaje Java. Cada
aplicación Android corre su propio proceso, con su propia instancia de la máquina virtual
Dalvik. Dalvik ha sido escrito de forma que un dispositivo puede correr múltiples máquinas
virtuales de forma eficiente. Dalvik ejecuta archivos en el formato Dalvik Executable (.dex),
el cual está optimizado para memoria mínima. La Máquina Virtual está basada en registros
y corre clases compiladas por el compilador de Java que han sido transformadas al
formato .ex por la herramienta incluida "dx".

e) Núcleo Linux: Android depende de Linux para los servicios base del sistema como
seguridad, gestión de memoria, gestión de procesos, pila de red y modelo de
controladores. El núcleo también actúa como una capa de abstracción entre el hardware
y el resto de la pila de software.

En el año 2005, Google compro la compañía Android Inc. Lo único que se sabía en ese momento
era que Android desarrollaba un software para teléfonos móviles dando a entender que Google
tenía en mente ingresar al mercado de la telefonía celular.

El 5 de diciembre del 2007, durante la inauguración de la “Open Handset Alliance” se estrenó


Android como una plataforma de soporte para equipos móviles creados en la versión 2.6 del kernel
de Linux. Desde entonces el avance de Android ha sido ascendente y hoy es uno de los sistemas
operativos para móviles más usados del mundo.

CARACTERÍSTICAS:

Entre las principales características que posee Android podemos mencionar:

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

Conectividad: Soporta tecnologías de conectividad como Wi-Fi, Bluetooth, GSM/EDGE, UMTS,


WiMAX y otras más.

Mensajería: Las formas más comunes como SMS y MMS están disponibles además del servicio
Push Messaging de Android.

Video llamada: Por medio de la versión HoneyComb, Android soporta video llamadas a través de
Google Talk.

Soporte multimedia: Puede soportar los formatos más conocidos como JPEG, MP3, MPEG-4,
WAV, además de otros como WebM, H.263 y H.264.

Multi- táctil: Android cuenta con soporte base para equipos móviles con pantallas multi –táctiles.
Almacenamiento: Posee una base SQLite, la cual es utilizada para almacenamiento de datos.

El desarrollo de aplicaciones para Android es sumamente sencillo y lo único que se necesita es un


conocimiento básico de Java y poseer el kit de desarrollo de software provisto por Google. Este kit
puede ser descargado completamente gratis.

Android es el sistema operativo con mayor presencia en dispositivos móviles como notebooks,
tablets, i-pods, reproductores de mp3 y más. Android es uno de los sistemas operativos que ha
logrado establecerse firmemente en el mercado en poco tiempo y además es el sistema con el
mayor potencial de desarrollo en el mundo de la telefonía móvil.

Ubuntu

Figura 23. Ubuntu.

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

Ubuntu es un sistema operativo mantenido por Canonical y la comunidad de


desarrolladores. Utiliza un núcleo Linux, y su origen está basado en Debian.

Ubuntu está orientado al usuario novel y promedio, con un fuerte enfoque en la facilidad de uso y
mejorar la experiencia de usuario. Está compuesto de múltiple software normalmente distribuido
bajo una licencia libre o de código abierto.

Estadísticas web sugieren que el porcentaje de mercado de Ubuntu dentro de "distribuciones linux"
es de aproximadamente 49%, y con una tendencia a subir como servidor web. Y un importante
incremento activo de 20 millones de usuarios para fines de 2011.

Su patrocinador Canonical, es una compañía británica propiedad del empresario sudafricano Mark
Shuttleworth ofrece el sistema de manera gratuita y que se financia por medio de servicios
vinculados al sistema operativo y vendiendo soporte técnico.

Además, al mantenerlo libre y gratuito, la empresa es capaz de aprovechar los desarrolladores de


la comunidad para mejorar los componentes de su sistema operativo.

Extraoficialmente la comunidad de desarrolladores proporciona soporte para derivaciones de


Ubuntu con otros entornos: Kubuntu, Xubuntu, Edubuntu, Ubuntu Studio, Mythbuntu y Lubuntu.

Canonical además de mantener Ubuntu, también provee de una versión orientada


a servidores, Ubuntu Server, una versión para empresas,Ubuntu Business Desktop Remix, una
para televisores, Ubuntu TV y una para usar el escritorio desde teléfonos inteligentes, Ubuntu for
Android.

Cada seis meses se publica una nueva versión de Ubuntu la cual recibe soporte por parte de
Canonical, durante dieciocho meses, por medio de actualizaciones de seguridad, parches
para bugs críticos y actualizaciones menores de programas. Las versiones LTS (Long Term
Support), que se liberan cada dos años, reciben soporte durante cinco años en los sistemas de
escritorio y de servidor.

La actual interfaz de usuario de Ubuntu está compuesta por tres importantes elementos: una barra
superior para indicadores de sistema y menús, un lanzador de aplicaciones al costado izquierdo,
y un tablero que despliega accesos a aplicaciones y medios.

Además de la interfaz Unity, Canonical ha diseñado varios elementos de la interfaz: set de iconos
Ubuntu Mono y Humanity, temas visuales Light-themes, tipografía Ubuntu y sus variantes, barras
de desplazamiento Overlay scrollbars, notificaciones OSD, pantalla de inicio de sesión Unity
Greeter, gestos multitáctil uTouch, temas de sonido de inicio de sesión, y los menús globales de
aplicaciones.

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

6.3.3 Mac OS X.

Figura 24: Mac OS X,

Mac OS, por sus siglas en ingles Macintosh Operating Systems, sistema operativo propietario del
fabricante de ordenadores Apple Inc, para su línea de computadoras Macintosh. La fecha de su
nacimiento data en 1984, surge con una alternativa de interfaz de usuario más amigable que la
que ofrecía el sistema operativo competidor en la época, MS-DOS.

Es conocido por haber sido el primer sistema dirigido a un gran público y que contaba con una
interfaz gráfica compuesta por la interacción del mouse con ventanas, iconos y menúes. El equipo
de desarrollo del Mac OS original incluía a Bill Atkinson, Jef Raskin y Andy Hertzfeld.

La historia del sistema operativo Mac Os (Macintosh Operating System) comienza en 1984, con
los primeros equipos fabricados por la empresa Apple Computers Inc, llamados Macintosh, en los
cuales venía instalado lo que se dio en llamar el software del sistema, ya desde un principio con
una interfaz de usuario mucho más amigable que la que ofrecía el sistema operativo competidor
en la época, MS-DOS. La empresa decidió más tarde crear nuevos productos más actualizados
para que los clientes pagasen por ellos, lanzando así nuevas versiones de lo que más tarde se
llamara Mac OS. Las 7 primeras versiones fueron comercializadas con el nombre de System
Software. A partir de estas, incluyendo los últimos lanzamientos de la versión 7, se pasó a llamar
Mac OS.

Desde entonces, se suceden una serie de modificaciones del sistema operativo, hasta llegar a la
versión Mac OS X construido sobre sólidos cimientos UNIX, usa una interfaz gráfica desarrollada
por Apple llamada Aqua, que se inspira libremente en la interfaz de Mac OS Classic. El gestor de
ventanas X11, característico en la familia de sistemas Unix, y Java se usan sólo para
compatibilidad con software no nativo de Mac. Apple decidió reemplazar el sistema operativo Mac
OS 9 con uno nuevo basado en NeXTSTEP, porque Classic carecía de características requeridas
en un sistema operativo contemporáneo, este sistema tiene a su vez un subsistema llamado
Darwin (bajo APSL, una licencia open source) que proporciona a Mac OS X prestaciones
modernas, como la memoria protegida, la multitarea por desalojo o expulsiva, la gestión avanzada

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

de memoria y el multiproceso simétrico, por lo que vino a convertirse en un sistema innovador,


sumamente seguro, compatible y fácil de usar.

Mac OS x, Está basado fuertemente en las PowerPC-port de OpenStep. Por eso Mac OS X hereda
la memoria y procesador de Mach's y el driver del dispositivo de la interfaz, BSD's POSIX - UNIX
Protocolo del programa que soporta y trabaja en interfaz de redes, también algunos elementos de
la interfaz de NeXT's.

Mac OS X, hoy en día este sistema operativo está virtualmente en todas las Mac's, y fue trabajado
por una década para poder obtener el éxito que tiene ahora.

Versiones de Mac OS x:

a) Mac OS x v10.1 (Puma), 25 de Septiembre de 2001

b) Mac OS x v10.2 (Jaguar), 25 de Agosto de 2002

c) Mac OS x v10.3 (Panther), 24 de Octubre de 2003

d) Mac OS x v10.4 (Tiger), 29 de Abril de 2005

e) Mac OS x v10.5 (Leopard), 26 de Octubre de 2007

f) Mac OS x v10.6 (Snow Leopard), 28 de Agosto de 2009

g) Mac OS x v10.7 (Lion), 2’ de Julio de 2011

h) Mac OS x v10.8 (Mountain Lion), 16 de febrero de 2012

Características:

Mac OS X distingue entre los usuarios (user), el administrador de sistema root (admin) y
el superusuario (superuser). El usuario no puede realizar cambios en el sistema y solo puede
instalar software en su carpeta personal. Las aplicaciones que ejecuten estos usuarios lo harán
con los permisos propios de este tipo de usuario. Los usuarios administradores tienen más
permisos, aunque no pueden realizar modificaciones a la configuración general del sistema,
instalar software o tener acceso a varios directorios del sistema sin autenticarse.

Hasta el OS X 10.4, se utilizó el Cortafuegos orientado a paquetes ipfw para filtrar el tráfico
entrante. Desde el OS X 10.5 un cortafuego para aplicaciones establece que programas pueden
recibir tráfico entrante. Se puede instalar una interfaz para ipfw mediante programas adicionales
como WaterProof o Flying Buttress.

ITIC. E.Z.H. Material de Sistemas Operativos.


Universidad Tecnológica del Estado de Zacatecas
Unidad Académica de Pinos.

Debido a que Mac OS X es compatible con POSIX, la gran mayoría de paquetes escritos
para BSD y Linux pueden ser recompilados para ser ejecutados en los computadores de Apple.
Proyectos como Fink, MacPorts y pkgsrc proveen paquetes precompilados para tal fin. Desde la
versión 10.3, Mac OS X incluye X11, la versión de Apple de la interfaz gráfica X Window
System para aplicaciones UNIX, como un componente adicional durante la instalación.

ITIC. E.Z.H. Material de Sistemas Operativos.


TIPOS DE LICENCIAS

¿QUÉ ES LICENCIA?
Una licencia de software es un contrato entre el autor titular de los derechos de
explotación y distribución y el comprador de dicha licencia, para utilizar la licencia
de software cumpliendo una serie de términos y condiciones establecidas por el
fabricante.

¿QUÉ ES SOFTWARE PROPIETARIO?


El software propietario es aquel en el que un usuario tiene limitadas sus
posibilidades de usarlo, modificarlo o redistribuirlo, y a menudo su licencia tiene un
coste.
Se le llama software propietario, no libre, privado o privativo al tipo de programas
informáticas o aplicaciones en el que el usuario no puede acceder al código fuente
o tiene un acceso restringido y, por tanto, se ve limitado en sus posibilidades de uso,
modificación y redistribución.
¿QUÉ ES SOFTWARE LIBRE?
es el software que respeta la libertad de los usuarios y la comunidad. A grandes
rasgos, significa que los usuarios tienen la libertad de ejecutar, copiar, distribuir,
estudiar, modificar y mejorar el software. Es decir, el «software libre» es una
cuestión de libertad, no de precio.
LAS CUATRO LIBERTADES ESENCIALES
Un programa es software libre si los usuarios tienen las cuatro libertades
esenciales:

 La libertad de ejecutar el programa como se desee, con cualquier propósito


(libertad 0).
 La libertad de estudiar cómo funciona el programa, y cambiarlo para que
haga lo que usted quiera (libertad 1). El acceso al código fuente es una
condición necesaria para ello.
 La libertad de redistribuir copias para ayudar a otros (libertad 2).
 La libertad de distribuir copias de sus versiones modificadas a terceros
(libertad 3). Esto le permite ofrecer a toda la comunidad la oportunidad de
beneficiarse de las modificaciones. El acceso al código fuente es una
condición necesaria para ello.
TIPOS DE LICENCIAS EN LOS SISTEMAS OPERATIVOS:
 Copyleft
La mayoría de las licencias usadas en la publicación de software libre permite que
los programas sean modificados y redistribuidos. Estas prácticas están
generalmente prohibidas por la legislación internacional de copyright, que intenta
impedir que alteraciones y copias sean efectuadas sin la autorización del o los
autores.
 GPL
La Licencia Pública General GNU (GNU General Public License GPL) es la licencia
que acompaña los paquetes distribuidos por el Proyecto GNU, más una gran
variedad de software que incluye el núcleo del sistema operativo Linux.
 Debian
La licencia Debian es parte del contrato realizado entre Debian y la comunidad de
usuarios de software libre, y se denomina Debian Free Software Guidelines (DFSG).
En esencia, esta licencia contiene criterios para la distribución que incluyen, además
de la exigencia de publicación del código fuente:
La redistribución libre.
 El código fuente debe ser incluido y debe poder ser redistribuido.
 Todo trabajo derivado debe poder ser redistribuido bajo la misma licencia del
original.
 Puede haber restricciones en cuanto a la redistribución del código fuente, si
el original fue modificado.
 La licencia no puede discriminar a ninguna persona o grupo de personas, así
como tampoco ninguna forma de utilización del software.

 Open Source
La licencia de Open Source Initiative deriva de Debian. El software de código abierto
(en inglés open source software) es el software cuyo código fuente y otros derechos
que normalmente son exclusivos para quienes poseen los derechos de autor, son
publicados bajo una licencia de software compatible con la Open Source Definition
o forman parte del dominio público.
 BSD
La licencia BSD cubre las distribuciones de software de Berkeley Software
Distribution, además de otros programas. Ésta es una licencia considerada
‘permisiva’, ya que impone pocas restricciones sobre la forma de uso, alteraciones
y redistribución del software.
 X.org
El Consorcio X distribuye X Window System bajo una licencia que lo hace software
libre, aunque sin adherirse al copyleft. Existen distribuciones bajo la licencia de la
X.org que son software libre, y otras distribuciones que no lo son.
 Software con Dominio Público
El software de dominio público es un software libre que no tiene un propietario, por
ende, no existen derechos de autor, licencias o restricciones de distribución. Por
este concepto, el software de dominio público se diferencia de un freeware, el cual
conserva los derechos de autor.
 Software Semi-libre
El software semilibre, semi-libre o semi libre (semi-free en inglés), es una categoría
de programas informáticos que no son libres, pero que vienen con autorización de
uso, copia, modificación y redistribución (incluso de versiones modificadas) sin fines
de lucro.
 Freeware
El término freeware no posee una definición ampliamente aceptada, pero es
utilizada para programas que permiten la redistribución, pero no la modificación, y
que incluyen su código fuente. Estos programas no son software libre.
 Donationware
Versión de programa en la que el autor solicita una donación, para cubrir los gastos
del desarrollo del programa. No es obligatoria, pero si solicitada. El programa no
sufre variantes por realizar o no la donación.
 Abandonware
Programa cuyo desarrollo fue abandonado. El autor debe anunciar públicamente el
abandono del programa para ser abandoware, mientras tanto el programa está
protegido contra los derechos de copia (copyright).
CARACTERÍSTICAS DE LAS LICENCIAS DEL SOFTWARE
LIBRE Y SOFTWARE PROPIETARIO:

Software Libre Software Propietario


 El usuario no comete  Mayor mercado laboral actual.
delitos por tenerlo o
usarlo.
 Mejor protección de las obras con copyright.
 Amplísima gama y
variedad de
herramientas libres.
 Unificación de productos.

 Actualizaciones
periódicas con
 Facilidad de adquisición (puede venir
frecuencia.
preinstalado con la compra del PC.)
 100% libre de virus.

 Existencia de programas diseñados


 Altísimo nivel de
estabilidad específicamente para desarrollar una tarea.
comprobada.

 Tiene una gran  Las empresas que desarrollan este tiempo


comunidad de apoyos de software son por lo general grandes y
y soportes. pueden dedicar muchos recursos, sobre
todo económicos, en el desarrollo e
 Diversidad de investigación.
soluciones
informáticas.
 Interfaces graficas mejor diseñadas.
 Flexibilidad de las
soluciones
informáticas.
SOFTWARE DE CÓDIGO ABIERTO

¿QUÉ ES SOFTWARE DE CÓDIGO ABIERTO?

El software de código abierto es el software informático cuyo código fuente es


publicado bajo una licencia de software que asegura que tanto el código fuente
como otros derechos, normalmente exclusivos para quienes poseen los derechos
de autor, son públicos.

Es así distribuido y desarrollado libremente, lo que permite a los usuarios utilizar,


cambiar, mejorar y redistribuir el software, ya sea en su forma original o con las
modificaciones que se realicen posteriormente. Cuando se brinda acceso al código
fuente, la comunidad de programadores puede hacer sus aportaciones para
solucionar eventuales fallos, incrementar la usabilidad y mejorar el programa a nivel
general, lo que deriva en un programa de mayor calidad muchas veces, pero más
complicado y sofisticado de mantener y proteger al ser abierto a todo el mundo.

LOS REQUISITOS PARA CONSIDERARSE SOFTWARE DE CÓDIGO ABIERTO


SON:

 Libre distribución
 El código fuente debe estar incluido u obtenerse libremente
 La redistribución de modificaciones debe estar permitida
 Integridad del código fuente del autor: las licencias pueden requerir que las
modificaciones sean redistribuidas sólo como parches.
 Sin discriminación de personas o grupos para su uso.
 Sin discriminación de áreas de iniciativa, incluso las comerciales.
 Distribución de la licencia: deben aplicarse los mismos derechos a todo el
que reciba el programa.
 La licencia no debe ser específica de un producto: el programa no puede
licenciarse solo como parte de una distribución mayor.
 La licencia no debe restringir otro software: No puede obligar a que algún
otro software que sea distribuido con el software abierto deba también ser
de código abierto.
 La licencia debe ser tecnológicamente neutral.
CUALES SON LOS BENEFICIOS DE SOFTWARE DE CÓDIGO ABIERTO:

 Seguridad incrementada

La seguridad es una preocupación para muchas empresas hoy día. Y la adquisición


de software de código abierto, donde el código fuente está abierto para que
cualquiera pueda editarlo, puede parecer una muy mala idea. Sin embargo, esta es
una preocupación infundada.

La disponibilidad del código fuente es en realidad la mayor ventaja de la tecnología


de código abierto. Debido a que el código fuente es accesible, los desarrolladores
pueden localizar y corregir errores de manera más rápida que en los productos
comerciales.

 Mejor calidad

Con el software de código abierto, es probable que consigas una calidad más alta
que con un software con licencia. Esto se debe simplemente a que ha sido creado
por miles de desarrolladores en todo el mundo, todos ellos con una amplia gama de
experiencias, talentos y enfoques. Todos estos desarrolladores trabajan para
optimizar varias partes del software, lo que significa que puede beneficiarse de una
mayor seguridad, mejora y optimización de las funciones existentes y nuevas
funciones y herramientas innovadoras.

 Mayor flexibilidad

Otro gran beneficio del software de código abierto es la mayor flexibilidad. A medida
que una empresa adquiere una solución de código abierto, también está evitando el
bloqueo del proveedor que normalmente se aplica con el software con licencia. El
bloqueo significa que su empresa está obligada a seguir los requisitos, las
prioridades, las actualizaciones y los precios del proveedor de software.

 Un mundo de soporte
Como el software de código abierto es gratuito, también lo son las opciones básicas
de soporte que vienen con él.

Las comunidades de sistemas operativos son increíblemente activas on line, lo que


significa que a menudo hay excelentes opciones de soporte técnico disponibles para
su equipo de IT de forma gratuita, como foros, soporte técnico on line y
documentación.

Si tienes recursos de IT limitados disponibles en tu organización, también puede


beneficiarte de las opciones de soporte pagadas de muchos desarrolladores de
código abierto con talento. Este soporte a menudo puede ser más asequible que el
soporte ofrecido por las grandes empresas.

 Costos más bajos

El software rara vez es asequible. Además de la tarifa de licencia mensual, te


enfrentarás a costos adicionales tales como:

 Protección contra virus.


 Cargos por soporte.
 Gastos por Upgrade.
 Tarifas adicionales por añadir nuevos usuarios.

La mayoría de los proyectos de código abierto a menudo vienen sin cargos.


Además, no tendrás que romper su presupuesto cada vez que se arregle un error o
si hay una nueva actualización disponible. .

CARACTERÍSTICAS DE SOFTWARE DE CÓDIGO ABIERTO:

 No tiene restricciones para vender o distribuir el software, el coste de los


productos open source es significativamente inferior a los productos con
licencias propietarias e incluso puede ser nulo.

 El código fuente se encuentra disponible, por lo que se puede modificar el


software sin ningún límite, y permite crear distribuciones compiladas.

 Libertad de mejora y publicación de cambios, cualquiera tiene el permiso


para modificar el código fuente, así como para publicar los cambios
realizados.

 Es libre el uso del programa para cualquier propósito.

 Debe de ser libre para poder estudiar cómo funciona el programa, y


adaptarlo a las necesidades de cualquier usuario. .
VENTAJAS DE LAS APLICACIONES DE CÓDIGO ABIERTO:

 El usuario no cae en un delito por tenerlo o usarlo.


 Tiene actualizaciones periódicas con alta frecuencia.
 Es 100% libre de virus.
 Tiene una gran comunidad de apoyo y soporte.
 Es una independencia tecnológica.
 Tiene flexibilidad en las soluciones informáticas.
 Es económico, con un bajo o nulo costo de los productos libres.
 Es libre de usarlo y distribuirlo.
 Tiene los formatos estándar que permite una interoperabilidad más alta entre
sistemas, evitando incompatibilidades.

DESVENTAJAS DEL CÓDIGO ABIERTO:

Hay algunas características del código abierto que enumeramos como ventajas,
pero que vistas desde otro punto de vista pueden ser un problema. Por ejemplo,
como no hay ninguna empresa detrás del desarrollo del software, tampoco hay
dónde hacer el reclamo ante algún inconveniente, ni un punto de contacto donde
resolver dudas. Todo dependerá de la capacidad de cada uno de investigar en foros
para dar con la solución.

Otro problema común es que, al ser programas sin fines de lucro, en su mayoría,
puede que pierdan financiación al poco tiempo y deban abandonar su desarrollo. Si
esto ocurre y encima no hay una comunidad interesada en mantenerlo, estamos
ante problema ya que dejaremos de recibir actualizaciones y mejoras, debiendo
migrar hacia otro software que cumpla con los nuevos requisitos.

También podría gustarte