FCFS (first come first server):
Es el algoritmo de planificacion mas sencillo. Esto es, el primer proceso en solicitar la CPU es el primero en recibir la asignacion de la misma. La implementacion del FSFC se realiza facilmente mediante una cola FIFO. Cuando un proceso entra en la cola de preparados o listos para la ejecucion, su PCB se enlaza al final de la cola.
· Ventajas: Las prestaciones del FCFS son con frecuencia bastantes pobres, produciendo el efecto convoy.

· Desventajas: El tiempo medio de espera suele ser elevado, bajo nivel de utilizacion de la CPU, pobre tiempo de respuesta en procesos cortos, tiende a favorecer a los procesos con carga de CPU y uso ineficiente de los dispositivos E/S.

Apropiativo y no apropiativo:  Partiendo de un algoritmo no apropiativo conseguimos una gestion de los procesos apropiativa al emplear colas de prioridad. FCFS es una solucion para tratar de resolver el efecto convoy.

SJF (shortest job first):
Se basa en ejecutar primero los procesos de menor tamaño y, en caso de que halla dos iguales, se prioriza el que llego antes al sistema.

· Ventajas: El SJF no es implementable se puede estimar las duraciones de los procesos y la dificultad en el algoritmo SJF  es conocer la longitud de la proxima rafaga de CPU de un proceso.

· Desventajas: Riesgo de inanicion de los procesos de larga duracion.

SRT (shortest remaining time first):
La evolucion logica sera convertir el algoritmo anterior en apropiativo. Las caracteristicas mas importantes de este algoritmo son:

- Es injusto, si una serie de procesos cortos quitan repetidamente el procesador a uno largo que, a la vez, lo esta usando y esta terminado.
- Logra un excelente tiempo medio de servicio.
- Resulta muy eficiente.

· Ventajas: Optimiza la media del tiempo de espera y rendimiento.

· Desventajas: El intervalo de la CPU es dificil de predecir y posiblidad de inanicion: los trabajps largos no se ejecutaran mientras esten los cortos en funcionamiento.

RR (round-robin):
Consiste en definir una unidad de tiempo llamado quantum, de forma que los procesos ya no pelean por los recursos sino que estos se asignan equitativamente a todos ellos por turnos. Se pueden dar dos casos:

- Que el proceso requiera menos tiempo que el quantum.
- Que el proceso requiera mas tiempo que el quantum.

· Ventajas: Algunas garantias son asignadas a procesos que tienen una alta prioridad y ademas de que es un algoritmo muy predecible.

· Desventajas: El algoritmo se vuelve muy complejo.

Cambio de contexto: Al final de cada quantum nos encontramos con una interrupcion procedente del temporizacion que provoca que, cada vez que un proceso sea desplazado haya que salvar todos los registros del proceso antiguo y restaurar los del nuevo. 

Colas Multinivel (MLQ: multilevel queuest):
Son algoritmos utilizados para situaciones en las que los procesos son clasificables en diferentes grupos. 
· Desventaja: No tiene desventaja

· Ventajas: El proceso que se ejecutara sera el de mayor prioridad.

Colas multinivel con realimentacion (MLFQ: multilevel feedback queues):
Son la solucion al problema de la postergacion indefinida, ya que se permite la movilidad entre colas, logrando que un proceso puede pasar de una cola a otra. Sus parametros son los siguientes:
- El numero de colas
- El algoritmo de planificacion de cada cola.
- El metodo para determinar cuando pasa un proceso a una cola de mayor/menor prioridad.
- El metodo para determinar en que cola entrara un proceso cuando este precise un servicio.

· Ventajas: Cada cola posee una politica de planificacion y una prioridad asignada. 

· Desventaja: No tiene desventaja.









Edsger Dijkstra

Edsger Dijkstra:
Dijkstra estudió física teórica en la Universidad de Leiden. Trabajó como investigador para Burroughs Corporation a principios de los años 1970. En la Universidad de Texas en Austin, Estados Unidos, ocupó el Schlumberger Centennial Chair in Computer Sciences. Se retiró en 2000.
.Respecto a su carácter árido y ácido, conocidas son su oposición a la instrucción GOTO y al lenguaje BASIC («mutila la mente más allá de toda recuperación»). Alan Kay expuso que en informática, la arrogancia se mide en nanodijkstras.
El algoritmo de Dijkstra, también llamado algoritmo de caminos mínimos, es un algoritmo para la determinación del camino más corto dado un vértice origen al resto de vértices en un grafo con pesos en cada arista. Su nombre se refiere a Edsger Dijkstra, quien lo describió por primera vez en 1959.






Algoritmo de Dijkstra

La idea subyacente en este algoritmo consiste en ir explorando todos los caminos más cortos que parten del vértice origen y que llevan a todos los demás vértices; cuando se obtiene el camino más corto desde el vértice origen, al resto de vértices que componen el grafo, el algoritmo se detiene. El algoritmo es una especialización de la búsqueda de costo uniforme, y como tal, no funciona en grafos con aristas de coste negativo (al elegir siempre el nodo con distancia menor, pueden quedar excluidos de la búsqueda nodos que en próximas iteraciones bajarían el costo general del camino al pasar por una arista con costo negativo)
Edsger Dijkstra

Codigo ASCII

Codigo ASCII:

Es un código de carácteres basado en el alfabeto latino, tal como se usa en inglés moderno y en otras lenguas occidentales. Fue creado en 1963 por el Comité Estadounidense de Estándares (ASA, conocido desde 1969 como el Instituto Estadounidense de Estándares Nacionales, o ANSI) como una refundición o evolución de los conjuntos de códigos utilizados entonces en telegrafía. Más tarde, en 1967, se incluyeron las minúsculas, y se redefinieron algunos códigos de control para formar el código conocido como US-ASCII.

BinarioDecimalHexAbreviaturaReprATNombre/Significado
0000 0000000NUL^@Carácter Nulo
0000 0001101SOH^AInicio de Encabezado
0000 0010202STX^BInicio de Texto
0000 0011303ETX^CFin de Texto
0000 0100404EOT^DFin de Transmisión
0000 0101505ENQ^EConsulta
0000 0110606ACK^FAcuse de recibo
0000 0111707BEL^GTimbre
0000 1000808BS^HRetroceso
0000 1001909HT^ITabulación horizontal
0000 1010100ALF^JSalto de línea
0000 1011110BVT^KTabulación Vertical
0000 1100120CFF^LDe avance
0000 1101130DCR^MRetorno de carro
0000 1110140ESO^NMayúsculas fuera
0000 1111150FSI^OEn mayúsculas
0001 00001610DLE^PEnlace de datos / Escape
0001 00011711DC1^QDispositivo de control 1 — oft. XON
0001 00101812DC2^RDispositivo de control 2
0001 00111913DC3^SDispositivo de control 3 — oft. XOFF
0001 01002014DC4^TDispositivo de control 4
0001 01012115NAK^UConfirmación negativa
0001 01102216SYN^VSíncrono en espera
0001 01112317ETB^WFin de Transmisión del Bloque
0001 10002418CAN^XCancelar
0001 10012519EM^YFinalización del Medio
0001 1010261ASUB^ZSubstituto
0001 1011271BESC^[ or ESCEscape
0001 1100281CFS^\Separador de fichero
0001 1101291DGS^]Separador de grupo
0001 1110301ERS^^Separador de registro
0001 1111311FUS^_Separador de unidad
0111 11111277FDEL^?, Delete o BackspaceEliminar
Mi nombre en ASCII seria: 01100101110010011000