El documento presenta información sobre álgebra booleana, circuitos digitales, matemáticas discretas, GNU/Linux, POSIX y Carl Sagan. Cubre temas como los valores y operadores en álgebra booleana, clasificación de circuitos integrados, definición de matemáticas discretas, libertades de software libre, estándares POSIX y biografía del científico Carl Sagan.
1. TAREAS DEL SEMESTRE
JUAN MANUEL RAMIREZ HURTADO
97101608445
UGO ANDRES SANCHEZ
SISTEMAS OPERATIVOS
CORPORACION EAE
SANTIAGO DE CALI – SEPTIEMBRE 4 2014
2. ¿Qué es el Álgebra Booleana?
El álgebra booleana es un sistema matemático deductivo centrado en los valores cero y
uno (falso y verdadero). Un operador binario " º " definido en éste juego de valores acepta
un par de entradas y produce un solo valor booleano, por ejemplo, el operador booleano
AND acepta dos entradas booleanas y produce una sola salida booleana.
Para cualquier sistema algebraico existen una serie de postulados iniciales, de aquí se
pueden deducir reglas adicionales, teoremas y otras propiedades del sistema, el álgebra
booleana a menudo emplea los siguientes postulados:
Cerrado. El sistema booleano se considera cerrado con respecto a un operador binario si
para cada par de valores booleanos se produce un solo resultado booleano.
Conmutativo. Se dice que un operador binario " º " es conmutativo si A º B = B º A para
todos los posibles valores de A y B.
Asociativo. Se dice que un operador binario " º " es asociativo si (A º B) º C = A º (B º C)
para todos los valores booleanos A, B, y C.
Distributivo. Dos operadores binarios " º " y " % " son distributivos si A º (B % C) = (A º B)
% (A º C) para todos los valores booleanos A, B, y C.
Identidad. Un valor booleano I se dice que es un elemento de identidad con respecto a un
operador binario " º " si A º I = A.
Inverso. Un valor booleano I es un elemento inverso con respecto a un operador booleano
" º " si A º I = B, y B es diferente de A, es decir, B es el valor opuesto de A.
Para nuestros propósitos basaremos el álgebra booleana en el siguiente juego de
operadores y valores:
- Los dos posibles valores en el sistema booleano son cero y uno, a menudo llamaremos
a éstos valores respectivamente como falso y verdadero.
- El símbolo · representa la operación lógica AND. Cuando se utilicen nombres de
variables de una sola letra se eliminará el símbolo ·, por lo tanto AB representa la
operación lógica AND entre las variables A y B, a esto también le llamamos
el producto entre A y B.
- El símbolo "+" representa la operación lógica OR, decimos que A+B es la operación
lógica OR entre A y B, también llamada la suma de A y B.
- El complemento lógico, negación ó NOT es un operador unitario, en
éste texto utilizaremos el símbolo " ' " para denotar la negación lógica, por ejemplo, A'
denota la operación lógica NOT de A.
- Si varios operadores diferentes aparecen en una sola expresión booleana, el resultado
de la expresión depende de la procedencia de los operadores, la cual es de mayor a
menor, paréntesis, operador lógico NOT, operador lógico AND y operador lógico OR.
Tanto el operador lógico AND como el OR son asociativos por la izquierda. Si dos
operadores con la misma procedencia están adyacentes, entonces se evalúan de
izquierda a derecha. El operador lógico NOT es asociativo por la derecha.
Utilizaremos además los siguientes postulados:
P1 El álgebra booleana es cerrada bajo las operaciones AND, OR y NOT
P2 El elemento de identidad con respecto a · es uno y con respecto a + es cero. No
existe elemento de identidad para el operador NOT
P3 Los operadores · y + son conmutativos.
P4 · y + son distributivos uno con respecto al otro, esto es, A· (B+C) = (A·B)+(A·C) y A+
(B·C) = (A+B) ·(A+C).
P5 Para cada valor A existe un valor A' tal que A·A' = 0 y A+A' = 1. Éste valor es el
complemento lógico de A.
P6 · y + son ambos asociativos, ésto es, (AB) C = A (BC) y (A+B)+C = A+ (B+C).
3. Circuitos Digitales
Los circuitos integrados son la base fundamental del desarrollo de la electrónica en la
actualidad, debido a la tendencia a facilitar y economizar las tareas del hombre.
Por esto es fundamental el manejo del concepto de circuito integrado, no sólo por
aquellos que están en contacto habitual con este, sino también por las personas en
general, debido a que este concepto debe de quedar inmerso dentro de los conocimientos
mínimos de una persona.
Un circuito integrado es una pieza o cápsula que generalmente es de silicio o de algún
otro material semiconductor, que utilizando las propiedades de los semiconductores, es
capaz de hacer las funciones realizadas por la unión en un circuito, de varios elementos
electrónicos, como: resistencias,condensadores, transistores, etc.
Clasificación De Los Circuitos Integrados
Existen dos clasificaciones fundamentales de circuitos integrados (CI): los análogos y los
digitales; los de operación fija y los programables; en este caso nos encargaremos de
los circuitos integrados digitales de operación fija. Estos circuitos integrales funcionan con
base en la lógica digital o álgebra de Boole, donde cada operación de esta lógica, es
representada en electrónica digital por una compuerta.
La complejidad de un CI puede medirse por el número de puertas lógicas que contiene.
Los métodos de fabricación actuales de fabricación permiten construir Cis cuya
complejidad está en el rango de una a 105 o más puertas por pastilla.
Según esto los Cis se clasifican en los siguientes niveles o escalas de integración:
SSI (pequeña escala): menor de 10 puertas.
MSI (media escala): entre 10 y 100 puertas.
LSI (alta escala): entre 100 y 10.000 puertas.
VLSI (muy alta escala): a partir de 10.000 puertas.
La capacidad de integración depende fundamentalmente de dos factores:
El ÁREA ocupada por cada puerta, que depende a su vez del tipo y del número de
transistores utilizados para realizarla. Cuanto menor sea esta área mayor será la
capacidad de integración a gran escala.
El CONSUMO de potencia. En un circuito integrado se realizan muchas puertas en un
espacio reducido. El consumo total del chip es igual al consumo de cada puerta por el
número de puertas. Si el consumo de cada puerta es elevado se generará mucho calor en
el chip debido al efecto Joule, de forma que si este calor no es disipado convenientemente
se producirá un aumento de temperatura que puede provocar un funcionamiento anómalo
de los circuitos.
4. Que son las matemáticas discretas
La matemática discreta es la parte de las matemáticas que estudia objetos discretos.
Definir el concepto discreto sin entrar en demasiadas formalidades no es sencillo pero
podemos apelar a ciertos ejemplos matemáticos conocidos y contraponerlo al concepto
de continuo que es la idea central del curso de Bases de Matemáticas. Lo discreto es lo
finito o lo que, si no es finito, presenta el aspecto de los números naturales, objetos bien
separados entre sí; lo continuo es lo no finito, lo infinitesimalmente próximo, como los
números reales, y de ahí el concepto de límite y las ideas que de dicho concepto se
derivan.
La matemática discreta surge como una disciplina que unifica diversas áreas tradicionales
de las Matemáticas (combinatoria, probabilidad, geometría de polígonos, aritmética,
grafos,...), como consecuencia de, entre otras cosas, su interés en la informática y las
telecomunicaciones: la información se manipula y almacena en los ordenadores en forma
discreta (palabras formadas por ceros y unos), se necesita contar objetos (unidades de
memorias, unidades de tiempo), se precisa estudiar relaciones entre conjuntos finitos
(búsquedas en bases de datos), es necesario analizar procesos que incluyan un número
finito de pasos (algoritmos)...
Para hacernos una idea algo más clara del contenido de esta disciplina veamos algunas
preguntas que podemos plantearnos en informática y que se pueden responder con
métodos de matemática discreta:
¿Hay alguna conexión entre dos ordenadores de una red?
Dada una tecnología de cableado, ¿cuál es el diseño de red más económico para cierta
empresa?
¿Cómo puede ordenarse una lista de números enteros (o de tareas de una cadena) en
forma creciente?
¿Cuántas palabras clave válidas hay para acceder a un sistema?
¿Cómo se puede codificar de forma adecuada y segura un mensaje?
Responderemos alguna de estas preguntas en este curso. La matemática discreta
proporciona, por otro lado, algunas bases matemáticas para otros aspectos de la
informática: estructuras de datos, algorítmica, bases de datos, teoría de autómatas,
sistemas operativos, investigación operativa,... así como ayuda al desarrollo de ciertas
capacidades fundamentales para un ingeniero: capacidad de formalizar, de razonar
rigurosamente, de representar adecuadamente algunos conceptos...
Objetivos
- Introducir algunos métodos y conceptos básicos de la Matemática
Discreta.
- Describir algunas de sus aplicaciones a la Informática.
- Introducir el programa MAPLE en sus aplicaciones a la Matemática
Discreta.
5. GNU- Libertades
GNU es un sistema operativo similar a Unix que es software libre y respeta su libertad.
Puede instalar versiones de GNU (más precisamente, sistemas GNU/Linux) que son
completamente software libre.
El Proyecto GNU se inició en 1984 para desarrollar el sistema GNU. El nombre «GNU»
(que significa «ñu» en inglés) es un acrónimo recursivo de «¡GNU No es Unix!».
Los sistemas operativos similares a Unix se construyen a partir de un conjunto de
aplicaciones, bibliotecas y herramientas de programación, además de un programa para
alojar recursos e interactuar con el hardware, denominado núcleo.
GNU se usa habitualmente con un núcleo denominado Linux. Esta combinación es el
sistema operativo GNU/Linux. GNU/Linux lo usan millones de personas, aunque
muchos lo llaman «Linux» por error.
El núcleo propio de GNU, The Hurd, se sigue desarrollando pues es un proyecto técnico
interesante.
¿Qué es el software libre?
El «Software Libre» es un asunto de libertad, no de precio. Para entender el concepto,
debe pensarse en «libre» como en «libertad de expresión», no como en «cerveza gratis».
El software libre es una cuestión de libertad de los usuarios para ejecutar, copiar,
distribuir, estudiar, cambiar y modificar el software. Más concretamente, se refiere a los
cuatro tipos de libertades para los usuarios de software:
La libertad de ejecutar el programa como se desea, con cualquier propósito
(libertad 0).
La libertad de estudiar el funcionamiento del programa, y adaptarlo a sus
necesidades (libertad 1). El acceso al código fuente es un prerrequisito para esto.
La libertad de redistribuir copias para ayudar a los demás (libertad 2).
La libertad de mejorar el programa y de publicar las mejoras, de modo que toda la
comunidad se beneficie (libertad 3). El acceso al código fuente es un prerrequisito
para esto
6. Que es POSIX
(Portable Operating System Interface para UNIX). Familia de estándares relacionados especificados
por la IEEE para definir APIs para la compatibilidad de software entre los diferentes sistemas
operativos Unix. El término "POSIX" fue sugerido por Richard Stallman en respuesta a un
requerimiento de la IEEE, que deseaba un nombre memorable. La familia de estándares POSIX es
formalmente designada como IEEE 1003, y el nombre del estándar internacional ISO es ISO/IEC
9945. Si los diseñadores de programas se adecúan a POSIX, sus aplicaciones podrán ejecutarse en
cualquier sistema operativo compatible con POSIX. Los sistemas operativos que soportan POSIX
son: * A/UX * AIX * BSD/OS * HP-UX * INTEGRITY * Irix * LynxOS * Mac OS X * MINIX * OpenVMS *
QNX * RTEMS (POSIX 1003.1-2003 Profile 52) * Solaris * OpenSolaris * UnixWare * VxWorks *
Windows con kernel NT (usados en Windows NT, 2000, 2003; XP, Vista): sólo en algunas ediciones
o con determinadas aplicaciones instaladas.
Biografia Carl Sagan
(Nueva York, 1934-Seattle, EE UU, 1996) Astrónomo estadounidense. Cursó estudios en la
Universidad de Chicago, donde se doctoró en astronomía y astrofísica en 1960. Posteriormente
fue profesor de la Universidad de Berkeley, de la Universidad de Harvard y, a partir de 1968, de la
Cornell University. En 1970 fue nombrado director del Centro de Estudios Planetarios. Colaborador
habitual de la NASA, ideó los mensajes radiotelegráficos enviados por las sondas Pioneer 10 y 11 al
espacio exterior para contactar con posibles civilizaciones extraterrestres. Contrario a la
proliferación del arsenal nuclear, de cuyos peligros advirtió, fue un prolífico escritor de ciencia
ficción, y en 1978 fue galardonado con el Premio Pulitzer por su obra Los dragones del Edén:
especulaciones sobre la evolución de la inteligencia humana, si bien adquirió fama y popularidad
por su obra Cosmos, que en 1980 fue convertida en serie televisiva y constituyó un éxito mundial.
Requerimientos
- Windows 7:
Procesador de 32 bits (x86) o 64 bits (x64) a 1 gigahercio (GHz) o más.
Memoria RAM de 1 gigabyte (GB) (32 bits) o memoria RAM de 2 GB (64 bits).
Espacio disponible en disco rígido de 16 GB (32 bits) o 20 GB (64 bits).
Dispositivo gráfico DirectX 9 con controlador WDDM 1.0 o superior.
- Windows 8:
Procesador de 2.0 GHZ o superior si es dual core mejor aun
2GB de memoria ram para 32 bits y 4GB para 64 bits
30 GB de espacio de disco duro y 128 MB de video.
7. - Windows server 2012:
Procesador de 64 bits a 1,4 GHz
RAM 512 MB
Espacio en disco estimado para la partición del sistema 32 GB
Unidad de DVD
Pantalla Súper VGA (800 x 600) o de mayor resolución
Teclado y mouse de Microsoft® (u otro dispositivo señalador compatible)
Acceso a Internet (pueden aplicarse las tarifas correspondientes)
- Unix:
Procesador pentium II
Velocidad del reloj minima de 350 mhz.
Memoria ram minima de 64 mb, esto dependiendo de los usuarios se considera 2 mb por cada
usuario colgado a la red, aparte de 32 mb para el server.
Disco duro de 5 gb o superior preferentemente scsit.
Tarjeta de red.
- Linux:
Actualmente, Linux soporta sistemas con una CPU Intel 80386, 80486, o Pentium, además de
ALPHA, SPARC, MIPS, PPC, y un número, cada vez mayor, de procesadores.
16 Mb de swap deberían ser suficientes y 64 Mb estarán francamente bien.
Una distribución completa ocupa alrededor de 1,2 GB.
- Minix:
32-bit x86 i586 (Pentium) family and later Pentium 4's sometimes have trouble
64-bit x86 (none reported) Supported by 32-bit emulation
RAM Current Minimo 32 MiB Recomendado 1 GiB
RAM3.2.1 Minimo 64 MiB Recomendado 1 GiB
Minimo 635 MB de discoduro recomendado 8 GB
8. - FreeBSD:
La configuración mínima para instalar FreeBSD varía según la versión de FreeBSD y la arquitectura
de hardware.
Tiene información sobre la confuración mínima en las Notas de Instalación que encontrará en la
sección de Información de Releases del sitio web de FreeBSD. En la siguiente sección se facilita un
resumen de dicha información. Dependiendo de cuál sea el método de instalación que elija para
instalar FreeBSD necesitará un floppy, un lector de CDROM que pueda utilizar con FreeBSD o
quizás un adaptador de red. Todo esto se explica en laSección 2.3.7, “Preparación del medio de
arranque”.
2.2.1.1. FreeBSD/i386 y FreeBSD/pc98
Tanto FreeBSD/i386 como FreeBSD/pc98 necesitan un procesador 486 o superior y un mínimo de
24 MB de RAM. Necesitará también al menos 150 MB de espacio libre en disco, que es lo que
necesita la instalación mínima.
Nota:
En sistemas muy antiguos la mayoría de las veces será de mucha más ayuda conseguir más RAM y
espacio de disco que un procesador más rápido.
2.2.1.2. FreeBSD/alpha
Para instalar FreeBSD/alpha necesitará una plataforma que esté soportada (consulte Sección 2.2.2,
“Hardware soportado”) y un disco duro dedicado a FreeBSD. En este momento no es posib le
compartir un disco con otro sistema operativo. Este disco debe estar necesariamente conectado a
una controladora SCSI que esté soportada por el firmware SRM, o si se trata de un disco IDE el
SRM de su máquina debe permitir el arranque desde discos IDE.
Necesitará el firmware de la consola SRM de su plataforma. En ciertos casos es posible pasar del
firmware AlphaBIOS (o ARC) al SRM. En otros casos no habrá más remedio que descargar un nuevo
firmware desde el sito web del fabricante.
Nota:
A partir de FreeBSD 7.0 no hay soporte para Alpha. La serie FreeBSD 6.X es la última que ofrece
soporte para esta arquitectura.
2.2.1.3. FreeBSD/amd64
Hay dos tipos de procesadores capaces de ejecutar FreeBSD/amd64. La primera son los
procesadores AMD64, entre los que están los AMD Athlon™64, AMD Athlon™64-FX, AMD
Opteron™ y los modelos superiores.
La segunda categoría de procesadores que pueden usar FreeBSD/amd64 es la de los procesadores
de arquitectura EM64T de Intel®, por ejemplo las familias de procesadores Intel® Core™ 2 Duo,
Quad, y Extreme, y la secuencia de procesadores Intel® Xeon™ 3000, 5000 y 7000.
9. Si tiene una máquina basada en una nVidia nForce3 Pro-150 tendrá que usar la configuración de la
BIOS para deshabilitar IO ACPI. Si no tiene la opción de hacerlo tendrá que deshabilitar ACPI. Hay
errores en el chipset Pro-150 para los que no hemos encontrado aún una solución.
2.2.1.4. FreeBSD/sparc64
Para instalar FreeBSD/sparc64 necesita una plataforma que esté soportada (consulte la Sección
2.2.2, “Hardware soportado”).
Necesitará un disco dedicado a FreeBSD/sparc64. De momento es imposible compartir un disco
duro con otro sistema operativo.
2.2.2. Hardware soportado
Cada versión de FreeBSD incluye una lista de hardware soportado en las «FreeBSD Hardware
Notes». Este documento suele estar en un fichero llamado HARDWARE.TXT, que está en el
directorio raiz del CDROM o distribución FTP, o en el menú de documentación de sysinstall. En
este documento se listan los dispositivos de hardware que se sabe que funcionan con cada versión
de FreeBSD y para qué arquitectura. En la página de Información de Releases del sitio web de
FreeBSD encontrará copias de esta lista para diversas releases y arquitecturas.
- OpenSolaris:
Procesador x86/x64 a 120 MHz con compatibilidad de coma flotante de hardware
Memoria: 256 Mbytes
Se recomienda un mínimo de 4 Gbytes de espacio libre en el disco duro
Grabadora de CD-ROM; si no se tiene el paquete completo de inicio o una utilidad de partición
Unidad de DVD
Arquitecturas
i386, i686, x86_64
Son todas de la misma arquitectura o familia, pero dentro de esta sí existen diferencias:
Si un software fue compilado con instrucciones de x386 entonces se podrá ejecutar normalmente
en x686 o x86_64.
Al x386 se le realizaron mejoras y se le añadieron nuevas instrucciones en el procesador se obtuvo
un x686 (Pentium II y Athlon en adelante) entonces si compilas tu software con esta arquitectura
será más rápido pero ya no podrá ejecutarse en un i386 por las mejoras, pero si se ejecutará en un
x86_64 porque guarda compatibilidad hacia atrás.
El x86_64 es una evolución tanto en el canal de datos como en las instrucciones, registros que
primero fueron de 8 bits 8080, luego fueron instrucciones de 16 bits (80286), luego de 32 bits
(80386) y luego de 64 bits iniciados por AMD llamados amd64 o x86_64 y que actualmente fueron
añadidos a algunos procesadores Intel (extensiones de 64 bits) si usas software compilado para 64
este solo se ejecutara en procesadores de 64 no en procesadores de 32 o 16bits.
10. DEC Alpha
Es una arquitectura de microprocesadores diseñada por DEC e introducida en 1992 bajo el nombre
AXP, como reemplazo a la serie VAX. Cuenta con un conjunto de instrucciones RISC de 64 bits
especialmente orientada a cálculo de coma flotante.
La arquitectura Alpha se caracteriza por seguir la filosofía RISC (Conjunto de instrucciones
reducidas). El primer procesador que hizo gala de la tecnología Alpha fue el 21064.
La organización de sus registros es de uso general con una arquitectura que se puede encuadrar
como de registro-registro. Esto hace que la mayoría de sus instrucciones operen sobre los
registros, haciendo uso de la memoria RAM sólo para instrucciones de carga y almacenamiento. La
razón es que se intenta minimizar los accesos a memoria, puesto que suponen el cuello de botella
para los procesadores actuales. La longitud de palabra de los registros es de 64 bits, ya sea desde
el PC (contador de programa), pasando por los registros de enteros, coma flotante, etc.
Está preparado para manejar datos de 64 bits, pero también puede manejar datos de 32, 16 bits y
por último de 8 bits.
SUN
La tecnología Sun, con respecto al SPARC, comenzó con una arquitectura de 32 bits, la cual es la
que usan la mayoría de los procesadores fabricados actualmente, pero luego se expandió a una
tecnología de 64 bits, lo cual significa el doble de tamaño de los registros y de bus de datos.
Nosotros nos centraremos en la arquitectura inicial de Sun de 32 bits.
MD5 y SHA ¿Cómo funcionan?
En vez de dar una definición técnica, vamos a tratar de explicar de una forma más básica qué es y
cómo funciona el MD5. Es un algoritmo que proporciona un código asociado a un archivo o un
texto concretos. De esta forma, a la hora de descargar un determinado archivo, como puede ser
un instalador, el código generado por el algoritmo, también llamado hash, viene “unido” al
archivo.
Para que nosotros podamos ver este código MD5, existe software que analiza el archivo
descargado y obtiene dicho código de él. Con el hash de nuestra descarga, podemos acudir a la
web del desarrollador del programa del que tenemos el instalador y buscar el código MD5 de su
instalador original. Una vez tengamos disponibles los dos códigos MD5, el de nuestro archivo
descargado y el del instalador o software de la web oficial del desarrollador, podremos comparar
ambos y ver si coinciden y nuestro archivo es fiable o no.
SHA, ¿qué es y cómo funciona?
En 1998, un ataque a SHA-0 fue encontrado pero no fue confirmado para SHA-1, se desconoce si
fue la NSA quien lo descubrió, pero aumentó la seguridad del SHA-1.
11. SHA-1 ha sido examinado muy de cerca por la comunidad criptográfica y no se ha encontrado
ningún ataque efectivo. No obstante, en el año 2004, un número de ataques significativos fueron
divulgados sobre funciones criptográficas de hash con una estructura similar a SHA-1, lo cual ha
planteado dudas sobre la seguridad a largo plazo de SHA-1.
SHA-0 y SHA-1 producen una salida resumen de 160 bits (20 bytes) de un mensaje que puede
tener un tamaño máximo de 264 bits, y se basa en principios similares a los usados por el profesor
Ronald L. Rivest del MIT en el diseño de los algoritmos de resumen de mensaje MD4 y MD5.
La resistencia del algoritmo SHA-1 se vio comprometida a lo largo del año 2005. Después de que
MD5, entre otros, quedara seriamente comprometido en el 2004 por parte de un equipo de
investigadores chinos, el tiempo de vida de SHA-1 quedó visto para sentencia aunque se siga
utilizando más que SHA-2.
Diferencia entre técnico, tecnólogo y profesional
Técnico es la persona que posee habilidades y destrezas para realizar diferentes labores con base a
conocimientos adquiridos, en mi concepto los técnicos se basan en procesos de producción y el
modo de hacer las cosas para obtener un buen resultado sin hacer análisis de estos. El tecnólogo
además de poseer dichos saberes técnicos tiene la capacidad de ordenarlos científicamente
generando aplicaciones para dar solución a problemas determinados, el ingeniero a su vez posee
los dos saberes anteriores y un valor agregado a este es su capacidad de análisis del problema y las
posibles soluciones, el cual adquiere a través del estudio y aplicación de ciencias lógicas y
concretas.