lunes, 14 de diciembre de 2015

Práctica de Dominios. Dominios I parte.

El Directorio Activo

La práctica tiene dos partes, la primera consiste en crear 3 árboles para finalmente formar un bosque de dominios, como indica el siguiente organigrama. En el que aparecen los sistemas operativos, con los que se va a trabajar

La segunda parte, consiste en la instalación del Directorio Activo en Linux, la creación de un BDC(Backup Domain Controller), y la incorporación al dominio de un cliente Windows y otro Linux.

La realización de las prácticas y sus vídeos correspondientes han sido realizados satisfactoriamente por todos los alumnos de 2º curso de ASIR del Colegio Salesiano "San Jose", en el mes de noviembre del 2015.

Los vídeos completos de los árboles, asir2.local, asir3.local y asir4.local, como el directorio activo en linux, podéis verlos en youtube, como así os lo indique vía twitter.

Aquí sólo voy a insertar los vídeos más representativos de cada uno de los niveles de dominios, subdominios y clientes finales de la práctica, con distintos sistemas operativos, ya que considero que el resto de vídeos son similares, y finalmente la creación de las relaciones de confianza y correspondiente unión de los árboles para crear un bosque.

Comenzamos con la introducción

Creación del dominio asir2.local con un DC con Windows Server 2012 y raíz del árbol.

Creación del RODC de asir2.local con Windows Server 2012.

Todo esto respecto al primer nivel del organigrama de la práctica. No inserto más vídeos como he dicho, porque los controladores de los restantes dominios de este nivel son similares, además de disponer de los vídeos completos en youtube. Continuamos en la siguiente entrada, Dominios II parte.

viernes, 27 de noviembre de 2015

Procesos con fork(). IV


¿Qué hace este código?

#include <stdio.h>
#include<sys/types.h>
#include<unistd.h>
int main(){
                    int pid;
                    int i;
                    int estado;

                    pid= fork();

                    switch(pid)
                    {
                                         case-1:         perror("No se ha podido crear el proceso hijo\n");
                                                             break;
                                         case 0:           for(i=0;i<10;i++)
                                                             printf("Soy el hijo\n");
                                                             break;
                                         default:         for(i=0; i<10;i++)
                                                             printf("Soy el padre\n");
                                                             wait(estado);
                                                             printf("Mi proceso hijo ya ha terminado.\n");
                                                             break;
                    }

}

jueves, 19 de noviembre de 2015

Creación de procesos en Java I.


Escribir un programa en  Java que ejecute dos comandos, cada uno ejecutado por un hijo, con sus respectivas básculas (argumentos), y que redireccione la salida estándar del primero a la entrada del segundo. Para facilitar las cosas, los comandos y sus básculas están en el código.
ls -la | tr "d" "D"

import java.io.*;
public class JavaComando {

 public static void main(String args[]) throws IOException, InterruptedException {
 Runtime proc = Runtime.getRuntime();
 Process lsproc = null;
 InputStream in = null;
 int b;

 Process trproc = null;
 OutputStream out = null;
 
 lsproc = proc.exec("ls -la");
 in = lsproc.getInputStream();
 trproc = proc.exec("tr 'd' 'D'");
 out = trproc.getOutputStream();
 while((b = in.read()) != -1)
 out.write(b);
 lsproc.waitFor();
 in.close();
 out.close();
 in = trproc.getInputStream();
 while((b = in.read()) != -1)
 System.out.write(b);
 trproc.waitFor();
 in.close();
 }
}

domingo, 18 de octubre de 2015

Algoritmos de Planificación.

Ver el prezi, es sencillo y bien explicado, fácil de entender.

Realizar la planificación de la siguiente lista de procesos aplicando los siguientes algoritmos:

  1. MLQF: cola1 Round Robin2 para trabajos <3; cola2 RR4 para trabajos <5 y cola3 SJF
  2. MLQ: cola1 RR4; cola2 RR2 y cola3 FCFS
ProcesosLlegadaPrioridadCPU
A03-8
B125
C21+4
D51+4
E327
F63-4

lunes, 12 de octubre de 2015

Procesos con fork() III.

1. Dime que saca por pantalla y su árbol de procesos.
      #include<stdio.h>
#include<stdlib.h>

void main() {
int i, e;
pid_t childpid;
      for(i=1; i<4; i++){
                  if ( childpid = fork() <= 0){
                             break;
                  }
                  else{
                             wait(&e);
                  }
                  printf(“este es le proceso %d con padre %d\n”, getpid(), getppid());
      }

}
2. Dime que saca por pantalla y su árbol de procesos.
     #include<stdio.h>
#include<stdlib.h>

     main()
{
int i;
for(i=0; i<4;i++)
if (fork()!=0)
break;
wait(NULL);
printf("pid=%d ppid=%d\n", getpid(), getppid());
exit(0);
}

jueves, 8 de octubre de 2015

Procesos con fork() II.

Dime que saca por pantalla este programa y su árbol de procesos.

#include<stdio.h>
#include<stdlib.h>


main()
{
int i=0;
int j=0;
int e=0;
int pid;
printf("Soy el proceso= %d y mi padre es= %d\n", getpid(),getppid());
                for(i=0;i<3;i++)
                               {
                               pid=fork();
                               wait(&e);
                               if (pid==0)
                               {
                               printf("Soy el proceso %d mi padre es%d\n", getpid(), getppid());
                                               for(j=0;j<2;j++)
                                               {
                                               pid=fork();
                                               wait(&e);
                                                               if (pid==0)
                                                              {
                                                               printf("Soy el proceso= %d mi es padre %d\n",getpid(),getppid());
                                                               break;
                                                               }
                                               }
                               break;
                               }
                               }

}

martes, 6 de octubre de 2015

Procesos con fork() I.

Dime que saca por pantalla este programa y su árbol de procesos.
#include<stdio.h>
#include<stdlib.h>
main()
{
int i, e;

pid_t pid;
printf ("Proceso %d con padre %d\n", getpid(), getppid());
for (i=1; i<4;++i)
{
pid = fork();
wait(&e);
if ( pid == 0)
                {
                                              
                 if (fork()!=0)
                               {
                                               if (fork()!=0)
                                               {
                                                               printf("Proceso con  pid=%d y padre ppid=%d\n", getpid(), getppid());
                                               }
                                               else
                                                              
                                                               printf("Proceso con pid=%d y padre ppid=%d\n", getpid(), getppid());
                               }
                else
                               {
                                               printf(" Proceso con pid=%d y padre ppid=%d\n", getpid(), getppid());      
                               }
                break;
                }
}
}