Publicidad

sábado, 31 de octubre de 2009

[Materiales]



Aquí está el vínculo para descargar los materiales, si omití alguno, les agradeceré me informen al correo.

--
Saludos.

jueves, 25 de junio de 2009

Calificaciones

Con respecto a las calificaciones: solo enviaré a quien envíe un mail a mi dirección y a vuelta de correo tendrán su calificación, las estadísticas no son muy alentadoras.

--
Saludos.

Óscar José Luis Cruz Reyes

domingo, 21 de junio de 2009

Macros en ensamblador

Definicion de una macro

Una macro es un grupo de instrucciones repetitivas en un programa que se codifican solo una vez y pueden utilizarse cuantas veces sea necesario.

La principal diferencia entre una macro y un procedimiento es que en la macro se hace posible el paso de parámetros y en el procedimiento no . Al momento de ejecutarse la macro cada parámetro es sustituido por el nombre o valor especificado al momento de llamarla.

Sintaxis de una macro
Las partes que componen a una macro son:
Declaración de la macro
código de la macro
Directiva de terminación de la macro


EN NASM UNA MACRO SE DEFINE ASI:

%macro nombre#_de_parametros

%endm
POR EJEMPLO:
%macro Despcadena1
mov Ah,09
mov Dx,%1
Int 21h
%endm


Durante una traducción, cada ocurrencia del nombre de la macro en el código fuente es reemplazado por el cuerpo de la macro antes de realizarse la traducción al lenguaje maquina.

viernes, 19 de junio de 2009

Materiales Segundo Parcial

Aquí les dejo el enlace para que puedan descargar los materiales.

http://cid-c6255721a9cb37f4.skydrive.live.com/self.aspx/P%c3%bablico/materiales%7C_2.7z

miércoles, 17 de junio de 2009

[Calendario de exámenes]

Aquí está el calendario de exámenes de la FEI

--
Saludos.

Óscar José Luis Cruz Reyes

domingo, 14 de junio de 2009

Archivos de la exposición de M4

Archivos de la exposición de M4, es un archivo .tar.bz2 que contiene algunos ejemplos de macros y la exposición en formato .odp para openoffice.org

Descargar aquí!!

jueves, 21 de mayo de 2009

AVISO IMPORTANTE

Estimados maestros:

 

Como seguramente es de su conocimiento, del 22 al 31 de mayo se llevará a cabo el Festival de Lectura que organiza la Biblioteca del Universitario de nuestra casa de estudios. Dentro de las actividades de este Festival de Lectura, se tiene programado para el próximo viernes 29 de mayo de 17:00 a 18:00 horas, en el auditorio de esta facultad, la presentación de la obra La Iliada de Homero. Motivo por el cual se le hace una atenta y cordial invitación para que asista usted a dicho evento, pidiéndole además su apoyo para esta invitación la haga extensiva a los alumnos que les imparte alguna E.E. en el presente semestre.

 

No dudando que contaremos con su apoyo para un mayor realce de esta actividad que se desarrollará dentro de nuestra Facultad, reciba un cordial saludo.

 

Atentamente

Mtro. Julián Felipe Díaz Camacho



Gana premios actualizando tu Perfil de Windows Live



--
Saludos.

Óscar José Luis Cruz Reyes

Comandos para crear bibliotecas estáticas


  1. gcc -c
  2. ar rcs libXX.a yyy.o zzz.o
  3. gcc -I./ -L./ -o ejecutable principal.c -lXX

lunes, 4 de mayo de 2009

Agenda del día 040509

Buenas tardes, a continuación les dejo la agenda de trabajo:

  • Revisión individual de los "cabos sueltos", es decir, preguntaré por el mensajero a cada uno (no lo haré de forma grupal de momento, en virtud de que será la primera actividad les pido de favor tengan paciencia, ya que platicaré con cada uno y no podré atenderlos rápido).
  • Realizar una investigación sobre lo siguiente:

bin-utils
shell-utils
file-utils
core-utils
diff-utils
*

  • Qué comandos de linux están incluidos en cada una de las utilerías anteriores, escriba una breve descripción comando - sintaxis y la utilidad que representa en el trabajo de un informático.
El asterisco indica que existen más, puedes buscar por lo menos otras 3.

  • Leer el contrato social de debian y describir cuáles puntos consideras más importantes y por qué.
  • Contestar las siguientes preguntas:

¿Por qué se nombra a esta distribución Debian y qué quiere decir?
¿Cuáles son las distintas ramas de desarrollo de debian?
¿Por qué debian adopta nombres como Woody, Sarge, etc.?

sábado, 2 de mayo de 2009

AVISO

Les pido de la manera más atenta que sus trabajos, tareas, y todo lo que se les ocurra enviarme que tenga que ver con la materia de Programación de Sistemas o Redes II lo hagan al correo de gmail.

Gracias

--
Saludos.

Óscar José Luis Cruz Reyes

jueves, 30 de abril de 2009

Acuerdos:

Después de haber consensuado con los compañeros que estuvieron en la clase del día 300409 se toma como acuerdo lo siguiente:

La siguiente clase es el día Lunes 4 de mayo a las 13:00 hrs

Cabos sueltos para analizar

Antes existían solo cargadores absolutos, cómo se resolvía el problema cuando los programas eran muy grandes.

Tiene algo que ver la técnica de los overlays, cómo funcionaba dicha técnica, cómo evolucionó.

Qué relación tienen las bibliotecas de enlace dinámico y la administración de memoria que lleva a cabo un sistema operativo.

Se relaciona de alguna manera un cargador, una biblioteca y el sistema de administración de memoria.

Qué ventajas tiene una biblioteca dinámica sobre una estática. En qué momento es mejor utilizar una u otra.

Espero sus respuestas con referencias en mi correo, lo comentaremos el día de mañana a la hora de clase. (haré preguntas de forma individual) y de manera grupal.

Actividad 2

Descargar el archivo: http://cid-c6255721a9cb37f4.skydrive.live.com/self.aspx/P%c3%bablico/calculadora.pdf

Y capturar hasta lo que tenga que ver con flex, cuando nos veamos trabajaremos con Bison

El archivo con terminación ".l" lo enviarán en formato pdf a mi correo para acreditar su trabajo.

Actividad de exploración

Contestar las siguientes preguntas:

  1. A qué se le denomina cargar un programa.
  2. Qué clases de cargadores existen, mencione las características principales de cada uno de ellos.
  3. Qué significa relocalización o reubicación.
  4. Qué es un ligador.
  5. A qué se le conoce como biblioteca y qué tipos existen.

La respuesta la pueden localizar en internet, en este mismo blog, en las entradas anteriores o en la página siguiente:

http://www.iecc.com/linker/

Mecánica de la clase 300409

Muy buenas tardes, este mensaje es para explicar cuál será la forma de trabajar.

  1. Para que tengan asistencia deberán enviar un zumbido a las 13:00 a mi mensajero, los que aún no me hallan agregado y no lo quieran hacer pueden enviar un correo electrónico con el asunto: presente.
  2. Durante la hora de clase pondré diversas actividades que deberán entregar al finalizar la misma, a más tardar a las 15:00 hrs.
  3. Los que no puedan tener acceso a la hora de clase (espero que no sea problema de todos) pueden enviar las actividades resueltas hasta el sábado.

Nota: Lo no previsto lo resolveremos más adelante, si tienen dudas hagan favor de enviarlas a mi correo.

¡¡¡¡Fleiz día del niño!!!!

Hola, a todos los que se creen niños y actuan como niños les deseo un excelente día ;-)

--
Saludos.

miércoles, 29 de abril de 2009

Sobre la influenza

Se que ya estamos hasta el cansancio de tantas recomendaciones y la palabra "INFLUENZA", pero aquí está esta recomendación que no creo que esté de más

--
Saludos.

Aprendiendo a Aprender Linux

Aprendiendo a Aprender Linux

viernes, 24 de abril de 2009

miércoles, 7 de enero de 2009

Llamadas al sistema

Hola, una felicitación por el inicio de año a todos mis amigos y compañeros.

Durante el curso hicimos uso de una que otra llama al sistema, y bueno, ya que tenemos este espacio, hay que hacer de él un lugar en el cual se encuentre de todo.

Una llamada al sistema es normalmente una demanda al sistema operativo (núcleo) para que haga una operación de hardware/sistema especifica o privilegiada. Algunas de las llamadas al sistema son las siguientes:

_exit . . . . . . . . . . . . . como exit pero con menos acciones.
accept . . . . . . . . . . . . . aceptar conexiones en un socket.
access . . . . . . . . . . . . . comprobar permisos de usuario en un archivo.
acct . . . . . . . . . . . . . . . no implementada aun.
adjtimex . . . . . . . . . . obtener/ajustar variables de tiempo internas.
afs_syscall . . . . . . . . . reservada para el sistema de archivos Andrew.
alarm . . . . . . . . . .. . . . . envio de SIGALRM tras un tiempo especificado.
bdflush . . . . . . . . . . . .. vuelca buffers modificados al disco.
bind . . . . . . . . . . . . . . . . nombrar un socket para comunicaciones.
break . . . . . . . . . . . . . . . no implementada aun.
brk . . . . . . . . . . . . . . . . . cambiar el tamaño del segmento de datos.
chdir . . . . . . . . . . . . . . . cambiar el directorio de trabajo.
chmod . . . . . . .. . . . . . . cambiar permisos en un archivo.
chown . . . . . . . . . . . . . cambiar propietario de un archivo.
chroot . . . . . . . . . . . . . . cambiar el directorio raíz.
clone . . . . . . . . . . . . . . vease fork.
close . . . . . . . . . . . . . . . . cerrar un archivo.
connect . . . . . . . . . . . . enlazar dos sockets.
creat . . . . . . . . . . . . . . crear un archivo.
create module . . . . . . reservar espacio para un módulo del núcleo.
delete module . . . . . .descargar módulo del núcleo.
dup . . . . . . . . .. . . . . . . crear un duplicado de un descriptor de archivo.
dup2 . . . . . . . . . . . . . . duplicar un descriptor.
execl , execlp , execle . . . vease execve.
execve . . . . . . . . . . . . . . ejecutar un archivo.
exit . . . . . . . . . . . . . . . . . terminar un programa.
fchdir . . . . . . . . . ... . . . cambiar directorio de trabajo por referencia.
fchmod . . . .. . . . ... . . . .vease chmod.
fchown . . .. . . . ... . . . . . cambiar propietario de un archivo.
fclose . . . . .. . . . . . . . . cerrar un archivo por referencia.
fcntl . . . . . . . . . . . . . . . control de archivos/descriptores.
flock . . . . . . . . . . . . . . . cambiar bloqueo de archivo.
fork . . . . . . . . . . .. . . . . crear proceso hijo.
fpathconf . . . . . . . . .. obtener información de archivo por referencia.
fread , . . . . . . . . . . . . . leer matriz de datos de un archivo.
fstat . . . . . . . . . . . . . . . obtener estado del archivo.
fstatfs . . . . . . . . . . . . . obtener estado del sistema de archivos por referencia.
fsync . . . . . . . . . . . . . . escribir bloques modificados del archivo a disco.
ftime . . . . . . . . . . . . . . obtener fecha del archivo en segundos desde 1970.
ftruncate . . . . . . . . . cambiar tamaño del archivo.
fwrite . . . . . . . . . . . . . escribir matriz de datos binarios a un archivo.
get kernel syms . . . obtener tabla de símbolos del kernel o su tamaño.
getdomainname . . . obtener nombre de dominio del sistema.
getdtablesize . . . . . obtener tamaño de la tabla de descriptores de archivo.
getegid . . . . . . . . . . . . obtener id. de grupo efectivo.
geteuid . . . . . . . . . . . .obtener id. de usuario efectivo.
getgid . . . . . . . . . . . obtener id. de grupo real.
getgroups . . . . . . . . . obtener grupos adicionales.
gethostid . . . . . . . . . obtener identificador del huesped.
gethostname . . . . . obtener nombre del huesped.
getitimer . . . . . . . . . obtener valor de temporizador.
getpagesize . . . . . . obtener tamaño de pagina.
getpeername . . . . . obtener direccion remota de un socket.
getpgid . . . . . . . . . . obtener id. del grupo de procesos padre.
getpgrp . . . . . . . . . . obtener id. del grupo padre del proceso.
getpid . . . . . . . . . . . obtener id. del proceso (pid).
getppid .. . . . . . . . . obtener id. del proceso padre.
getpriority . . . . . . . obtener prioridades de usuario/grupo/proceso.
getrlimit . . . . . . . . . obtener limites de recursos.
getrusage . . . . . . . . obtener uso de recursos.
getsockname . . . . . obtener dirección de un socket.
getsockopt . . . . . . . obtener opciones ajustadas en un socket.
gettimeofday . . . . obtener segundos pasados desde 1970.
getuid . . . . . . . . . . . obtener id. de usuario real (uid).
gtty . . . . . . . . . . . . . . no implementada aun.
idle . . . . . . . . . . . . . . hacer candidato a expulsión al disco a un proceso.
init module . . . . . . incluir un módulo cargable.
ioctl . . . . . . . . . . . . . manipulación de un dispositivo de caracter.
ioperm . . . . . . . . . . ajusta algunos permisos de e/s.
iopl . . . . . . . . . . . . . ajusta permisos de e/s.
ipc . . . . . . . . . . . . . . comunicación entre procesos.
kill . . . . . . . . . . . . . . enviar una señal a un proceso.
killpg . . . . . . . . . . . enviar una señal a un grupo de procesos.
klog . . . . . . . . . . . . . vease syslog.
link . . . . . . . . . . . . . crear un enlace físico a un archivo.
listen . . . . . . . . . . . escuchar conexiones en un socket.
llseek . . . . . . . . . . . lseek para archivos grandes.
lock . . . . . . . . . . . . . no implementada aun.
lseek . . . . . . . . . . .. cambia el puntero de un archivo abierto.
lstat . . . . . . . . . . . . obtiene estado de un archivo.
mkdir . . . . . . . . . . . crea un directorio.
mknod . . . . . . . . . . crea un dispositivo.
mmap . . . . . . . . . . . mapea un archivo en memoria.
modify_ldt . . . . . . lee o escribe tabla de descriptores locales.
mount . . . . . . . . . . montar un sistema de archivos.
mprotect . . . . . . . . controla permisos de acceso a una zona de memoria.
mpx . . . . . . . . . . . . . no implementada aun.
msgctl . . . . . . . . . . . control de mensajes ipc.
msgget . . . . . . . . . . obtiene un id. de cola de mensajes.
msgrcv . . . . . . . . . . recibe un mensaje ipc.
msgsnd . . . . . . . . . . envia un mensaje ipc.
munmap . . . . . . . . desmapea un archivo de memoria.
nice . . . . . . . . . .. . . . cambia prioridad del proceso.
oldfstat . . . . . . . . . . a extinguir.
oldlstat . . . . . . . . . . a extinguir.
oldolduname . . . . a extinguir.
oldstat . . . . . . . . . . a extinguir.
olduname . . . . . . . . a extinguir.
open . . . . . . . . . . . . . abrir un archivo.
pathconf . . . . . . . . . obtener información de un archivo.
pause . . . . . . . . . . . . dormir hasta la llegada de una señal.
personality . . . . . . cambiar dominio de ejecución en iBCS.
phys . . . . . .. . . . . . . no implementada aun.
pipe . . . . . . . . . . . . . crea una tuberia.
prof . . . . . . . . . . . . . . no implementada aun.
profil . . . . . . . . . . . . perfil de ejecución.
ptrace . . . . . . . . . . . traza proceso hijo.
quotactl . . . . . . . . . no implementada aun.
read . . . . . . . . . . . . . . lee datos de un archivo.
readv . . . . . . . . . . . . . lee bloques de un archivo.
readdir . . . . . . . . . . . lee un directorio.
readlink . . . . . . . . . . obtener contenido de un enlace simbólico.
reboot . . . . . . . . . . . . reiniciar o controlar combinacion CTRL-ALT-DEL.
recv . . . . . .. . . . . . . . . recibir mensaje de socket conectado.
recvfrom . . . . . . . . . recibir mensaje de socket.
rename . . . . . .. . . . . mover/renombrar archivo.
rmdir . . . . .. .. . . . . . borrar directorio vacio.
sbrk . . . . . . . . . . . . . . vease brk.
select . . . . . . . . . . . . dormir hasta actividad en un descriptor de archivo.
semctl . . . . . . . . . . . control de semáforos ipc.
semget . . . . . . . . . . . obtener id. de semáforo ipc.
semop . . . . . . . . . . . operaciones en conjunto de semáforos ipc.
send . . . . . . . . . . . . . enviar mensaje a un socket conectado.
sendto . . . . . . . . . . . enviar mensaje a un socket.
setdomainname . . ajustar dominio del sistema.
setfsgid . . . . . . . . . . ajustar id. grupo del sistema de archivos.
setfsuid . . . . . . . . . . ajustar id. usuario del sistema de archivos.
setgid . . . . . . . . . . . . ajustar id. real de grupo (gid).
setgroups . . . . . . . . ajustar grupos adicionales.
sethostid . . . . . . . . . ajustar identificador de huesped.
sethostname . . . . . ajustar nombre de huesped.
setitimer . . . . . . . . . ajustar temporizador.
setpgid . . . . . . . . . . . ajustar id. de grupo padre.
setpgrp . . . . . . . . . . . sin efecto.
setpriority . . . . . . . . ajustar prioridad de proceso/usuario/grupo.
setregid . . . . . . . . . . ajustar id. de grupo real/efectivo.
setreuid . . . . . . . . . . ajustar id. de usuario real/efectivo.
setrlimit . . . . . . . . . ajustar limites para los recursos.
setsid . . . . . . . . . . . . crear sesión.
setsockopt . . . . . . . cambiar opciones del socket.
settimeofday . . . . . poner la hora en segundos desde 1970.
setuid . . . . . . . . . . . . ajustar id. de usuario real.
setup . . . . . . . . . . . . . iniciar dispositivos y montar la raíz.
sgetmask . . . . . . . . . vease siggetmask.
shmat . . . . . . . . . . . . enganchar memoria a un segmento de memoria compartida.
shmctl . . . . . . . . . . . . manipulacion de memoria compartida ipc.
shmdt . . . . . . . . . . . . liberar memoria compartida en un segmento.
shmget . . . . . . . . . . . obtener/crear segmento de memoria compartida.
shutdown . . . . . . . . desconectar socket.
sigaction . . . . . . . . . obtener/ajustar manejador de señales.
sigblock . . . . . . . . . . bloquear señales.
siggetmask . . . . . . . obtener señales bloqueadas.
signal . . . . . . . . . . . . poner manejador de señal.
sigpause . . . . . . . . . usar nueva máscara de señales hasta la proxima señal.
sigpending . . . . . . . obtener señales bloqueadas pendientes.
sigprocmask . . . . . . obtener/ajustar mascara de bloqueos de señales.
sigreturn . . . . . . . . . no usada aun.
sigsetmask . . . . . . . ajustar máscara de bloqueos de señales.
sigsuspend . . . . . . . reemplaza a sigpause.
sigvec . . . . . . . . . . . . vease sigaction.
socket . . . . . . . . . . . . crea un extremo de comunicacion para socket.
socketcall . . . . . . . . llamada general de sockets.
socketpair . . . . . . . . crea dos sockets conectados.
ssetmask . . . . . . . . . vease sigsetmask.
stat . . . . . . . . . . . . . . . obtener estado del archivo.
statfs . . . . . . . . . . . . . obtener estado del sistema de archivos.
stime . . . . . . . . . . . . . obtener segundos desde 1970 .
stty . . . . . . . . . . . . . . . no implementada aun.
swapoff . . . . . . . . . . . detener el intercambio con un dispositivo o archivo.
swapon . . . . . . . . . . . iniciar el intercambio con un dispositivo o archivo.
symlink . . . . . . . . . . crear un enlace simbólico.
sync . . . . . . . . . . . . . . volcar bloques modificados a disco.
syscall . . . . . . . . . . . ejecutar llamada al sistema.
sysconf . . . . . . . . . . . obtener valor de una variable del sistema.
sysfs . . . . . . . . . . . . . . obtener información sobre sistemas de archivos usados.
sysinfo . . . . . . . . . . . obtener información sobre el sistema.
syslog . . . . . . . . . . . . manipulación del registro.
system . . . . . . . . . . . ejecutar un comando de shell.
time . . . . . . . . . . . . . obtener segundos desde 1970.
times . . . . . . . . .. . . . obtener tiempos del proceso.
truncate . . . . . . . . . cambiar tamaño de un archivo.
ulimit . . . . . . . . . . . . obtener/ajustar limites de archivo.
umask . . . . . . . . . . . ajustar máscara de creación de archivos.
umount . . . . . . . . . . desmontar un sistema de archivos.
uname . . . . . . . . . . . obtener información del sistema.
unlink . . . . . . . . . . . borrar un archivo no bloqueado.
uselib . . . . . . . . . . . . usar libreria compartida.
ustat . . . . . . . . . .. . . no implementada aun.
utime . . . . . . . . . . . . motificar información de tiempo en nodo-i.
utimes . . . . . . . . . . . vease utime.
vfork . . . . . . . . . . .. . vease fork.
vhangup . . . . . . . . . . colgar virtualmente el terminal actual.
vm86 . . . . . . .. . . . . . . entrar en modo vm86.
wait . . . . . . . . . . . . . . esperar terminación de proceso.
wait3 . . . . . . . . . . . . espera terminación de un proceso (bsd).
wait4 . . . . . . . . . . . . . espera terminación de un proceso (bsd).
waitpid . . . . . . . . . . . espera terminación de un proceso.
write . . . . . . . . . . . . . escribir datos a un archivo.
writev . . . . . . . . . . . . . escribir bloques de datos a un archivo.

Ojalá que les sean útiles ... y si pueden aportar algo mas ADELANTE