Esempio n. 1
0
 public Admin(string log, string has, pom x, int ilo, string fff, ZarzadcaProcesow zzz, int il, Pamiec papa, proces ini)
 {
     o = ilo;
     login = log;
     haslo = has;
     p = x;
     slowo = fff;
     aktualnykatalog = "Home";
     zarzadcapr = zzz;
     ile = il;
     pam = papa;
     init = ini;
 }
Esempio n. 2
0
    public void CommunicationNamed(proces p1, proces p2, string rozkaz)
    {
        string pomnazwa = p1.PID + "-" + p2.PID;

            Lacze d=new Lacze();
            if (File.Exists(Projekt_SO_10_finalX.Properties.Settings.Default.Path + pomnazwa + ".xml") == true)
            {
                d.name = Convert.ToString(p1.PID) + "-" + Convert.ToString(p2.PID);
                d.source = p1.PID;
                d.destination = p2.PID;
                d.bufor = rozkaz;

                System.Xml.Serialization.XmlSerializer writer = new System.Xml.Serialization.XmlSerializer(typeof(Lacze));
                using (System.IO.StreamWriter file = new System.IO.StreamWriter(Projekt_SO_10_finalX.Properties.Settings.Default.Path + d.name + ".xml"))
                {
                    writer.Serialize(file, d);
                    file.Close();
                }
                System.Xml.Serialization.XmlSerializer reader = new System.Xml.Serialization.XmlSerializer(typeof(Lacze));
                using (System.IO.StreamReader file1 = new System.IO.StreamReader(Projekt_SO_10_finalX.Properties.Settings.Default.Path + pomnazwa + ".xml"))
                {
                    d = (Lacze)reader.Deserialize(file1);
                    p2.rozkazy.Add(d.bufor);
                    d.bufor = "";
                    Console.WriteLine("Przekazano");
                }

                d.name = Convert.ToString(p1.PID) + "-" + Convert.ToString(p2.PID);
                d.source = p1.PID;
                d.destination = p2.PID;
                d.bufor = "";

                System.Xml.Serialization.XmlSerializer writer1 = new System.Xml.Serialization.XmlSerializer(typeof(Lacze));
                using (System.IO.StreamWriter file = new System.IO.StreamWriter(Projekt_SO_10_finalX.Properties.Settings.Default.Path + d.name + ".xml"))
                {
                    writer1.Serialize(file, d);
                    file.Close();
                }

            }
            else
            { Console.WriteLine("Nie ma takiego Łącza"); }
    }
Esempio n. 3
0
    public Uzytkownik(string log, string has, pom x, int ilo, string fff, ZarzadcaProcesow zzz, int il, Pamiec papa, proces ini)
    {
        o = ilo;
        login = log;
        haslo = has;
        p = x;
        slowo = fff;

        zarzadcapr = zzz;
        ile = il;
        pam = papa;
        init = ini;
        aktualnykatalog = log;
        string[] t = File.ReadAllLines(sciezka);
        int c = t.Length;

        for (int i = 2; i < c - 2; i = i + 3)
            if (t[i] == login)
                gru = t[i + 2];
    }
Esempio n. 4
0
 public List<proces> nazwa_kol(proces proces)
 {
     int stan;
         //List nazwakolejki = "NULL";
         stan = proces.stan_procesu;
         if (stan == 0)
         {
             return k_nowy;
         }
         if (stan == 1)
         {
             return k_gotowy;
         }
         if (stan == 2)
         {
             return k_gotowy;
         }
         else
         {
             return k_oczekuj;
         }
 }
Esempio n. 5
0
    //zmienia stan procesu
    private void zmiensta(proces pr, int sta)
    {
        int pop_stan; // stan poprzedni
            pop_stan = pr.stan_procesu;
            if (sta > -1 && sta < 5)
            {
                pr.stan_procesu = sta;

            }
            else throw Exception();
    }
Esempio n. 6
0
 public void wypisz(proces pr)
 {
     Console.WriteLine(pr.PID);
         foreach (proces a in pr.potomkowie)
             Console.WriteLine(a.PID);
 }
Esempio n. 7
0
    public proces utwProDziecko(int PPID, int PID, int fprio)
    {
        int x1 = 0;
            for (int i = 1; i < kolejka.k_wszystkich.Count; i++)
            {
                if (kolejka.k_wszystkich[i].PID == PPID)
                {
                    x1 = i;
                }

            }
            proces rodzic = kolejka.k_wszystkich[x1];
            bool bExist;

            bExist = kolejka.k_wszystkich.Exists(oElement => oElement.PID.Equals(PID));
            if (bExist == true)
            {
                throw Exception();
            }

            proces dziecko = new proces(PID);
            dziecko.rodzic = rodzic;
            dziecko.stan_procesu = rodzic.stan_procesu;
            dziecko.priorytet[1] = rodzic.priorytet[1] = fprio;
            dziecko.priorytet[2] = rodzic.priorytet[2];
            dziecko.priorytet[0] = rodzic.priorytet[0] = fprio;
            dziecko.l_rozk = rodzic.l_rozk;
            rodzic.potomkowie.Add(dziecko);
            kolejka.k_nowy.Add(dziecko);
            kolejka.k_wszystkich.Add(dziecko);
            return dziecko;
    }
Esempio n. 8
0
    public proces utworz(proces rodzic, int name, int priorytet)
    {
        bool bExist;

            bExist = kolejka.k_wszystkich.Exists(oElement => oElement.PID.Equals(name));
            if (bExist == true)
            {
                throw Exception();
            }

            proces dziecko = new proces(name);
            dziecko.rodzic = rodzic;
            dziecko.stan_procesu = rodzic.stan_procesu;
            dziecko.priorytet[1] = rodzic.priorytet[1] = priorytet;
            dziecko.priorytet[2] = rodzic.priorytet[2];
            dziecko.priorytet[0] = rodzic.priorytet[0] = priorytet;
            dziecko.l_rozk = rodzic.l_rozk;
            rodzic.potomkowie.Add(dziecko);
            kolejka.k_nowy.Add(dziecko);
            kolejka.k_wszystkich.Add(dziecko);
            return dziecko;
    }
Esempio n. 9
0
 public void dodajdoOczekuj(proces a)
 {
     k_oczekuj.Add(a);
 }
Esempio n. 10
0
 public void exec(proces pr)
 {
     kolejka.k_nowy.Remove(pr);
             kolejka.k_gotowy.Add(pr);
             zmiensta(pr,1);
 }
Esempio n. 11
0
 public void dodaj_doWsz(proces proPCB)
 {
     kolejka.k_wszystkich.Add(proPCB);
 }
Esempio n. 12
0
    static void Main(string[] args)
    {
        Admin Aktuz;
        Uzytkownik Aktu;
        int a;
        Uruchomienie U = new Uruchomienie();
        pom g = new pom();
        string slowo = null;
        int o = 0;
        int ile = 0;
        iwezel.create(ref g, "Root", 'k', "Root");
        iwezel.create(ref g, "Home", 'k', "Root");
        ZarzadcaProcesow zarzadcapr = new ZarzadcaProcesow();
        Pamiec pam = new Pamiec(16 * 16);
        proces init = new proces(1, 20);
        zarzadcapr.dodaj_doWsz(init);

        //
        //           String wczytane;
        //           int o=0;
        //           string slowo=null;
        //           ZarzadcaProcesow zarzadcapr = new ZarzadcaProcesow();
        //           iwezel.create(ref g, "Root", 'k', "Root");
        //           iwezel.create(ref g, "Home", 'k', "Root");

        // początek logowania
        int bre = 0;
        while (bre != 1)
        {
            a = U.spr();
            if (a == 1)
            {
                string ha;

                Console.Write("Ustaw hasło do konta administratora:");

                ha = Console.ReadLine();
                Aktuz = new Admin("administrator", ha, g, o, slowo, zarzadcapr, ile, pam, init);
                using (System.IO.StreamWriter file = new System.IO.StreamWriter(Aktuz.sciezka, true))
                {
                    file.WriteLineAsync();
                    file.WriteLineAsync(ha);
                }

                bre = Aktuz.polecenia();

            }
            else
            {
                Logowanie S = new Logowanie();
                S.Log();
                while (a != 1 && a != 2)
                {
                    try
                    {
                        a = S.spr();
                    }
                    catch (System.IndexOutOfRangeException)
                    {
                        Console.Write("złe dane\npodaj je jeszcze raz\n");
                        S.Log();
                    }
                }
                if (a == 2)
                {
                    Aktuz = new Admin(S.login, S.haslo, g, o, slowo, zarzadcapr, ile, pam, init);
                    bre = Aktuz.polecenia();
                }
                if (a == 1)
                {
                    Aktu = new Uzytkownik(S.login, S.haslo, g, o, slowo, zarzadcapr, ile, pam, init);
                    bre = Aktu.polecenia();
                }
            }

        }

        // koniec logowania
        return;
    }
Esempio n. 13
0
    //.//////////////////////////////////////////////////////// Metody Komunikacji ///////////////////////////////////////////////////////
    //.//////////////// Komunikacja Nienazwana ///////////////
    public void CommunicationNoNamed(proces p1, proces p2, int ktory)
    {
        var pro = ServiceLocator.GetService<ZarzadcaProcesow>().kolejka.k_wszystkich.Find(z => z.PID == p1.PID);
            if (pro.potomkowie.Exists(z => z.PID == p2.PID) == true)
            {
                var pro1 = ServiceLocator.GetService<ZarzadcaProcesow>().kolejka.k_wszystkich.Find(z => z.PID == p2.PID);
                if (pro1.rozkazy[ktory - 1] != "")
                {
                    string rozkaz = pro1.rozkazy[ktory - 1];
                    pro1.rozkazy.Add(rozkaz);
                    pro.rozkazy.Remove(rozkaz);
                    Console.WriteLine("Przekazano");
                }
                else
                { Console.WriteLine("Nie ma rozkazu o takim numerze."); }

            }
            else
            {
                Console.WriteLine("Procesy nie są spokrewnione lub nie istnieje pomiedzy nimi łącze");
            }
    }
Esempio n. 14
0
 //.////////////////////////////////////////////////////////  Metody Komentarzy (Rozkazów) ///////////////////////////////////////////
 public void ClearOrder(proces p, string r)
 {
     p.rozkazy.Remove(r);
 }
Esempio n. 15
0
    public void UtworzLacze(proces p1, proces p2)
    {
        Lacze d = new Lacze();
            d.name = Convert.ToString(p1.PID) + "-" + Convert.ToString(p2.PID);
            d.source = p1.PID;
            d.destination = p2.PID;
            d.bufor = "";

            System.Xml.Serialization.XmlSerializer writer = new System.Xml.Serialization.XmlSerializer(typeof(Lacze));
            using (System.IO.StreamWriter file = new System.IO.StreamWriter(Projekt_SO_10_finalX.Properties.Settings.Default.Path + d.name + ".xml"))
            {
                writer.Serialize(file, d);
                file.Close();
            }
    }
Esempio n. 16
0
 public void przekazrozkaz(proces a, proces b, int ktory)
 {
     string pomnazwa = a.PID + "-" + b.PID;
         if (File.Exists(Projekt_SO_10_finalX.Properties.Settings.Default.Path + pomnazwa + ".xml") == true)
         {
             if (a.rozkazy[ktory - 1] != "")
             {
                 string rozkaz = a.rozkazy[ktory - 1];
                 b.rozkazy.Add(rozkaz);
                 a.rozkazy.Remove(rozkaz);
                 Console.WriteLine("Przekazano");
             }
             else
             { Console.WriteLine("Nie ma rozkazu o takim numerze."); }
         }
         else
         { CommunicationNoNamed(a, b, ktory); }
 }