viernes, 29 de febrero de 2008

Práctica 1 (Cuestionario)

1. ¿Qué tipos de permisos existen?
Lectura, de escritura y ejecución

2. ¿Qué tipos de perfiles de usuario existen?
Dueño, grupo y todos los demás

3. ¿Con qué letra identificamos a un directorio al escribir el comando ls -l?
d

4. ¿Qué permisos están asignados en los siguientes modos?

a) 600
rw- --- ---

b) 514
r-x --x r--

c) 677
rw- rwx rwx

d) 766
rwx rw- rw-
e) 333
-wx -wx -wx

5. ¿Qué modo tiene el archivo en cuyos permisos el dueño sólo puede leer y ejecutar, el grupo sólo modificar y todos los demás leer y ejecutar?
523

6. ¿Qué modo tiene el archivo en cuyos permisos el dueño sólo puede leer, el grupo modificar y ejecutar y todos los demás sólo ejecutar?
431

7. ¿Cuál es la sintáxis del comando chmod?
chmod 777 text.txt

8. ¿Qué hacen los siguientes comandos?

a) cd ..
regresar al home

b) bc
calculadora

c) cd /
ir al disco duro

d) ls -l > lista.txt
crea un archivo con el contenido de lista.txt

e) chmod 606 file.txt
cambias permisos de file.txt

9. ¿Para qué sirve el caracter * (asterisco)?

10. ¿Para qué sirve el comando find?

jueves, 28 de febrero de 2008

SCRIPTS

Un script es un conjunto de instrucciones almacenadas en un archivo que puede ser ejecutado por el sistema operativo. Un script puede contener comandos de UNIX, variables y cualquier otro elemento de un lenguaje de programación.

Un script puede ser hecho en cualquier editor de texto y debe tener en su primer línea lo siguiente.
#!/bin/bash

Para ejecutar un script se deben tener los permisos adecuados así como anteponer al nombre del script ./

ch mode 744 hoy

martes, 26 de febrero de 2008

CONDICIONALES

NET INSTRUCCIONES CONDICIONALES

Comparar dos alternativas diferentes el computador puede tomar una decisión basándose en la evaluación que hace de alguna condición.

Todo lenguaje de programación debe tener instrucciones que permitan formar condiciones e instrucciones que pueden evaluar esas condiciones.

El formato general de una instrucción condicional es:

image85.jpg

CONDICIONES COMPUESTAS

En muchas ocasiones es necesario presentar mas de una condición para su evaluación al computador.

Por ejemplo que el computador muestre la boleta de un alumno si este estudia la carrera de medicina y su promedio de calificaciones es mayor de 70.

En C# NET una condición compuesta se define como dos o mas condiciones simples unidas por los llamados operadores lógicos.

Los operadores lógicos que csharp reconoce son:

OPERADORSIGNIFICADO
&&Y LOGICO
O LOGICO
!NEGACION

Para que el computador evalúe como CIERTA una condición compuesta que contiene el operador lógico ”&&”, las dos condiciones simples deben ser ciertas.

Para que el computador evalúe como CIERTA una condición compuesta que contiene el operador lógico “||”, basta con que una de las condiciones simples sea cierta.

La cantidad total de casos posibles cuando se unen dos o mas condiciones simples esta dada por la relación image86.jpgdonde n = cantidad de condiciones, la primera mitad de ellos empieza en cierto y la segunda mitad en falso.

#if TRAZA // Se cumple si TRAZA esta definido. 
#if TRAZA==true // Idem al ejemplo anterior aunque con una sintaxis menos cómoda 
#if !TRAZA // Sólo se cumple si TRAZA no está definido. 
#if TRAZA==false // Idema al ejemplo anterior aunque con una sintaxis menos cómoda 
#if TRAZA == PRUEBA // Solo se cumple si tanto TRAZA como PRUEBA están // definidos o si no ninguno lo está. 
#if TRAZA != PRUEBA // Solo se cumple si TRAZA esta definido y PRUEBA no o // viceversa 
#if TRAZA && PRUEBA // Solo se cumple si están definidos TRAZA y PRUEBA. 
#if TRAZA || PRUEBA // Solo se cumple si están definidos TRAZA o PRUEBA. 
#if false // Nunca se cumple (por lo que es absurdo ponerlo) 
#if true // Siempre se cumple (por lo que es absurdo ponerlo) 

CICLOS

Ciclo for (C#)

Instrucciones para ciclos resuelven el problema de repetir todo el programa o cierta parte del programa mas de una vez.

En C SHARP NET este ciclo es uno de los mas usados para repetir una secuencia de instrucciones sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una instrucción simple o compuesta.

Su formato general es:

for (inicialización; condición; incremento)

{ instrucción(es); };

En su forma simple la inicialización es una instrucción de asignación que carga una variable de control de ciclo con un valor inicial.

La condición es una expresión relacional que evalúa la variable de control de ciclo contra un valor final o de parada que determina cuando debe acabar el ciclo.

El incremento define la manera en que la variable de control de ciclo debe cambiar cada vez que el computador repite un ciclo.

Se deben separar esos 3 argumentos con punto y coma (;)

CICLO WHILE C# NET

En este ciclo el cuerpo de instrucciones se ejecuta mientras una condición permanezca como verdadera en el momento en que la condición se convierte en falsa el ciclo termina.

Su formato general es :

cargar o inicializar variable de condición;

while(condición)

{

grupo cierto de instrucciones;

instrucción(es) para salir del ciclo;

};

CICLO DO WHILE C# NET

Su diferencia básica con el ciclo while es que la prueba de condición es hecha al finalizar el ciclo, es decir las instrucciones se ejecutan cuando menos una vez porque primero ejecuta las instrucciones y al final evalúa la condición;

También se le conoce por esta razón como ciclo de condición de salida.

Su formato general es :

cargar o inicializar variable de condición;

do {

grupo cierto de instrucción(es);

instrucción(es) de rompimiento de ciclo;

} while (condición);

DECLARACIÓN DE VARIABLES

C# NET DECLARACION Y TIPO DE VARIABLES

Toda variable que se use en un programa, se debera declarar de preferencia al principio de este. 
En particular cada tipo de dato es en realidad un OBJETO, que se deriva a su vez de una clase que provee el framework.NET de Microsoft, es por eso que se incluye la clase de la cual proviene el tipo de dato. 
Es decir en un programa se podra declarar una variable por ejemplo float pi; o tambien se podra declarar y crear un objeto derivado de esa clase, por ejemplo:

System.Float alfa = new System.Float();
Como objeto alfa podra usar todas las propiedades y métodos asociadas al objeto.

Declaración Sencilla

 - tipo_variable nombre_variable; Declaración Multiple  - tipo_variable nombre_variable1, nombre_variable2, ... nombre_variablen;  Inicializarse al momento de ser declarada:   int miEntero=0;  Inicializarse después en el código:   int miEntero; miEntero = 2;
TIPOS DE VARIABLES
C# Tipo.Net Framework (System) typeSigned?Bytes en RamRango
sbyteSystem.SbyteYes1-128 a 127
shortSystem.Int16Yes2-32768 a 32767
intSystem.Int32Yes4-2147483648 a 2147483647
longSystem.Int64Yes8-9223372036854775808 a 9223372036854775807
byteSystem.ByteNo10 a 255
ushortSystem.Uint16No20 a 65535
uintSystem.UInt32No40 a 4294967295
ulongSystem.Uint64No80 a 18446744073709551615
floatSystem.SingleYes4Aprox. ±1.5 x 10-45 a ±3.4 x 1038 con 7 decimales
doubleSystem.DoubleYes8Aprox. ±5.0 x 10-324 a ±1.7 x 10308 con 15 o 16 decimales
decimalSystem.DecimalYes12Aprox. ±1.0 x 10-28 a ±7.9 x 1028 con 28 o 29 decimales
charSystem.CharN/A2Cualquier caracter Unicode
boolSystem.BooleanN/A1 / 2true o false

lunes, 18 de febrero de 2008

Programación C#

Programación en c#
Que es programar hacer que la computadora obedezca una serie de instrucciones bien detalladas, usando un lenguaje de programación, indicamos a la computadora que tiene que suceder en cada momento, y como tiene que reaccionar ante la interaccion del usuario
Se conoce como programacion de computadoras a la implementacion de un algoritmo a un determinado lenguaje de programacion, conformando un programa.

Programa: concepto desarrollado por Von Neuman en 1946, union de una secuencia de instrucciones que una computadora puede interpretar y ejecutar, que almacenan una informacion independiente de dicha secuencia maneja.
Para ello se usa un lenguaje de programacion que sirven para progrmar la secuencia de instrucciones requerida
Nikolaus Wirth
Un programa esta formado por algoritmos y estructura de datos

Lenguaje de programación
Tiene un numero limitado de simbolos y un numero limitado de palabras
Constituido por un conjunto de reglas sintacticas y semanticas
Sintacticas: se refiere a la espesificación de la instruccion de instrucciones validas
Semanticas especifican el significado de estas instrucciones
La escritura o codificacion del programa puede resultar una tarea sencilla si conocemos las reglas sintacticas y semanticas que constituyen el lenguaje de programacion

Antecedentes de C#

El lenguaje B por Ken Thompson en 1970: recodificar el sistema operativo UNIX. Inspirado en el BCPL de Martin Richard, diseñado tres años antes.

En 1972 es Dennis Ritchie diseña finalmente C a partir del B, aportando un diseño de tipos y estructuras de datos que consiguen una claridad y eficacia en el lenguaje muy superior.

Durante muchos años no existen reglas estándar para el lenguaje, pero en 1983 se decide formar un comité con el objetivo de crear el estándar ANSI (Instituto Nacional Americano de Estándares). El proceso dura seis años y a principios de los 90 el estándar es reconocido por la ISO (Organización Internacional de Estándares) y comienza a comercializarse con el nombre ANSI C.

1980 surge C++ de la mano de Bjarne Stroustrup (Bell de AT&T). Diseña este lenguaje con el objetivo de añadir a C nuevas características: clases y funciones virtuales (de SIMULA67), tipos genéricos y expresiones (de ADA), la posibilidad de declarar variables en cualquier punto del programa (de ALGOL68), y sobre todo, un auténtico motor de objetos con herencia múltiple que permite combinar la programación imperativa de C con la programación orientada a objetos. 

Evolución de C++ incorporación de la librería STL años más tarde, obra de Alexander Stepanov y Adrew Koening. 

Debido al éxito del lenguaje, en 1990 se reúnen las organizaciones ANSI e ISO para definir un estándar que formalice el lenguaje. El proceso culmina en 1998 con la aprobación del ANSI C++.


2000, Microsoft presenta su plataforma .NET junto con un nuevo lenguaje, C# (diseñado por Anders Hejlsberg), que servirá de lenguaje principal de la plataforma. C# es un híbrido de C++ y Java que fusiona, principalmente, la capacidad de combinar operadores propia del primero (no incorpora la herencia múltiple) con la plena orientación a objetos del segundo. La orientación a objetos es tal que el propio programa está encapsulado en una clase.

2001 se aprueba el ECMA y en el 2003 el ISO.

viernes, 8 de febrero de 2008

Cuestionario autenticación PPP


  • Autenticación: las opciones de autenticación requieren que la parte del enlace que realiza la llamada introduzca información de autenticación para ayudar a asegurar que el usuario cuente con el permiso del administrador de red para realizar la llamada. Los routers pares intercambian mensajes de autenticación. Las dos opciones de autenticación son: el Protocolo de autenticación de contraseña (PAP) y el Protocolo de autenticación de intercambio de señales (CHAP).

  • 2 Las opciones de autenticación requieren que la parte del enlace que realiza la llamada introduzca la información de autenticación. Esto ayuda a garantizar que el usuario tenga el permiso del administrador de la red para efectuar la llamada. Los routers pares intercambian mensajes de autenticación.

  • 3 Al configurar la autenticación PPP, el administrador de la red puede seleccionar el Protocolo de autenticación de contraseña (PAP) o el Protocolo de autenticación de intercambio de señales (CHAP). Por lo general, el protocolo de preferencia es CHAP.

  • 4 Al configurar la autenticación PPP, el administrador de la red puede seleccionar el Protocolo de autenticación de contraseña (PAP) o el Protocolo de autenticación de intercambio de señales (CHAP). Por lo general, el protocolo de preferencia es CHAP

  • 5 Estas son: establecimiento del enlace, autenticación y fase del protocolo de la capa de red. capa de datos

  • 6 PAP no es un protocolo de autenticación sólido. Las contraseñas se envían por el enlace en texto no cifrado, y no hay protección contra la reproducción o los intentos de descubrimiento mediante intentos reiterados de ensayo y error. El nodo remoto tiene control de la frecuencia y la temporización de los intentos de conexión.

  • 7 CHAP se utiliza al iniciar un enlace y verifica, de forma periódica, la identidad del nodo remoto por medio de un intercambio de señales de tres vías. CHAP se realiza al establecer el enlace inicial y se repite durante el tiempo que dure el enlace

  • 8 El siguiente ejemplo activa el encapsulamiento PPP en una interfaz serial 0/0:
  • Router#configure terminal
    Router(config)#interface serial 0/0
    Router(config-if)#encapsulation ppp
  • Para configurar la compresión en PPP, introduzca los siguientes comandos:


  • Router(config)#interface serial 0/0
    Router(config-if)#encapsulation ppp
    Router(config-if)#compress [predictor | stac]


    El siguiente ejemplo activa el encapsulamiento PPP en una interfaz serial 0/0:

    Router#configure terminal
    Router(config)#interface serial 0/0
    Router(config-if)#encapsulation ppp

    La compresión de software de punto a punto puede configurarse en las interfaces seriales que utilizan encapsulamiento PPP. La compresión se ejecuta en el software y puede afectar el rendimiento del sistema de forma significativa. No se recomienda la compresión si la mayor parte del tráfico está compuesto por archivos comprimidos.

    Para configurar la compresión en PPP, introduzca los siguientes comandos:

    Router(config)#interface serial 0/0
    Router(config-if)#encapsulation ppp
    Router(config-if)#compress [predictor | stac]

    Introduzca los siguientes comandos para monitorear los datos que se pasan al enlace y para evitar la formación de bucles en las tramas:

    Router(config)#interface serial 0/0
    Router(config-if)#encapsulation ppp
    Router(config-if)#ppp quality percentage

    El siguiente ejemplo activa el encapsulamiento PPP en una interfaz serial 0/0:

    Router#configure terminal
    Router(config)#interface serial 0/0
    Router(config-if)#encapsulation ppp

    La compresión de software de punto a punto puede configurarse en las interfaces seriales que utilizan encapsulamiento PPP. La compresión se ejecuta en el software y puede afectar el rendimiento del sistema de forma significativa. No se recomienda la compresión si la mayor parte del tráfico está compuesto por archivos comprimidos.

    Para configurar la compresión en PPP, introduzca los siguientes comandos:

    Router(config)#interface serial 0/0
    Router(config-if)#encapsulation ppp
    Router(config-if)#compress [predictor | stac]

    Introduzca los siguientes comandos para monitorear los datos que se pasan al enlace y para evitar la formación de bucles en las tramas:

    Router(config)#interface serial 0/0
    Router(config-if)#encapsulation ppp
    Router(config-if)#ppp quality percentage

    Los siguientes comandos ejecutan el equilibrio de las cargas en múltiples enlaces:

    Router(config)#interface serial 0/0
    Router(config-if)#encapsulation ppp
    Router(config-if)#ppp multilink

    jueves, 7 de febrero de 2008

    Editores de Textos

    Diferente a los procesadores de textos.

    En UNIX los editores de textos que podemos encontrar son:
    vi
    emacs
    nano (más simple)

    Para abirir el editor de textos utilizamos el sigueinte comando:
    L503:~ alumno$ nano

    Comando que podeos utilizar en nano: ^ = ctrl

    ^G Get Help ^O WriteOut ^R Read File ^Y Prev Page ^K Cut Text ^C Cur Pos
    ^X Exit ^J Justify ^W Where Is ^V Next Page ^U UnCut Txt ^T To Spell

    L503:~ alumno$ nano hola.txt
    Para abrir el archivo con el programa nano.