Операционные системы

Автор работы: Пользователь скрыл имя, 06 Февраля 2014 в 10:27, курсовая работа

Краткое описание

В данной курсовой работе будут описаны некоторые особенности файловой системы Unix, а также программно реализованы некоторые команды ОС Unix в среде ОС Windows.

Содержание

Введение………………………………………………………………….…….………..5
1 Описание файловой системы Unix………………………………………………….6
2 Постановка задачи…………………………………………………………………….8
3 Описание команд и сравнение их с родственными…………………………………8
4 Выбор средств реализации…………………………………………………………..10
5 Программная реализация эмулятора………………………………………………..12
5.1 Структурная схема алгоритма используемого в программе……………...12
5.2 Модульная структура программы…………………………………………..13
5.3 Описание диалога с пользователем………………………………………...14
Заключение………………………………………….………………………….………17
Список литературы………………………………………………………………….…18
Приложение А……………………………………………………………………….....19

Прикрепленные файлы: 1 файл

Курсовая по ОС.doc

— 274.00 Кб (Скачать документ)

                             begin

                                      nsim:=b-length(str)+2;

                                      inc(ksovp);

                                      if flag=2 then

                                      if ksovp<>0 then if wfail=false then  memo1.Lines.Add(inttostr(nsim)+'   '+str1)else

                                      writeln(fil[w],inttostr(nsim)+'   '+str1);

                                      continue;

                                    end;

                             if str1[i]=str[shet] then inc(shet)

                             else shet:=1;

                             if  str1[i+1]<>str[shet] then shet:=1;

                             if (shet=length(str))and(shet<>1) then

                                    begin

                                      nsim:=b-length(str)+2;

                                      inc(ksovp);

                                      if flag=2 then

                                      if ksovp<>0 then if wfail=false then  memo1.Lines.Add(inttostr(nsim)+'   '+str1)else

                                      writeln(fil[w],inttostr(nsim)+'   '+str1);

                                      shet:=1;

                                    end;

                           end;

             inc(b);

             case flag of

             1:if ksovp<>0 then if wfail=false then memo1.Lines.Add(str1) else

              writeln(fil[w],str1);

             3:if ksovp<>0 then vsesovp:=vsesovp+ksovp;

             end;

              shet:=1;    ksovp:=0;

           end;

       if (flag=3) and (Eof(fil[j])=true) then

       if wfail=false then memo1.Lines.Add(inttostr(vsesovp)+'   '+imaf[j]) else

        writeln(fil[w],inttostr(vsesovp)+'   '+imaf[j]);

       vsesovp:=0

       end;

 

   if wfail=true then  closeFile(fil[w]);

   end;

 

4: begin     {dc}

s1:=strtofloat(imaf[1]);

s2:=strtofloat(imaf[2]);

if imaf[3]='+' then resul:=s1+s2;

if imaf[3]='-' then resul:=s1-s2;

try  if imaf[3]='*' then resul:=s1*s2;

     if imaf[3]='/' then resul:=s1/s2;

except

    on EZeroDivide do

     begin

       showMessage('Невозможно  выполнить данную операцию') ;

       exit;

     end;

end;

      if imaf[4]='p' then begin if wfail=false then memo1.Lines.Add(floattostr(resul))else

         writeln(fil[w],floattostr(resul))end;

   if wfail=true then  closeFile(fil[w]);

   end;

 

5:begin   {cat}

if (kl<>'-s') and (kl<>'')  then  begin

                                      showMessage('Неверный ключ') ;

                                      exit;

                                    end;

     For j:=1 to k do

  begin

   proverka;

   if flag=10 then exit;

   Reset(fil[j]);

   while Eof(fil[j])<>true do

   begin

     readln(fil[j],str);

     if (str='') and (kl='-s') and (flag>=7) then  continue;

     if wfail=false then memo1.Lines.Add(str)else

     writeln(fil[w],str);

     if flag=7 then flag:=6;

     if str='' then inc(flag);

   end;

  end;

  if wfail=true then  closeFile(fil[w]);

  end;

6:begin  {comm }

    if k<>2 then begin

                   showMessage('количество файлов должно быть равно 2');

                   exit

                 end;

   str:='';str1:='';

   if (kl<>'-1') and (kl<>'-2') and (kl<>'-3') and

   (kl<>'-13') and (kl<>'-13') and (kl<>'-23')  and (kl<>'')

    then  begin

            showMessage('Неверный ключ') ;

            exit;

          end;

   if kl='' then flag:=0;

   if kl='-1' then flag:=1;

   if kl='-2' then flag:=2;

   if kl='-3' then flag:=3;

   if kl='-12' then flag:=4;

   if kl='-13' then flag:=5;

   if kl='-23' then flag:=6;

       Reset(fil[1]);

       Reset(fil[2]);

                while (Eof(fil[1])<>true) or  (Eof(fil[2])<>true) do

       begin

         if Eof(fil[1])=true then begin readln(fil[2],str1); str:='' end;

         if Eof(fil[2])=true then begin readln(fil[1],str); str1:='' end;

         if (Eof(fil[1])<>true) and (Eof(fil[2])<>true) then begin

                                                        readln(fil[1],str);

                                                        readln(fil[2],str1);

                                                      end;

 

    case flag of

    0:begin

       if str=str1 then if wfail=false then memo1.Lines.Add('    | '+'    | '+str1)else

         writeln(fil[w],'    | '+'    | '+str1) else

       if wfail=false then memo1.Lines.Add(str+' | '+str1+'    | ') else

        writeln(fil[w],str+' | '+str1+'    | ');

      end;

    1:begin

       if str=str1 then if wfail=false then  memo1.Lines.Add('    | '+str1)else

       writeln(fil[w],'    | '+str1)  else

       if wfail=false then memo1.Lines.Add(str1+'    | ')else

       writeln(fil[w],str1+'    | ');

      end;

    2:begin

       if str=str1 then if wfail=false then memo1.Lines.Add(' |    '+str) else

       writeln(fil[w],' |    '+str) else

       if wfail=false then memo1.Lines.Add(str+'    | ')else

        writeln(fil[w],str+'    | ');

      end;

    3:if str<>str1 then if wfail=false then  memo1.Lines.Add(str+' | '+str1)else

      writeln(fil[w],str+' | '+str1);

    4:if str=str1 then if wfail=false then memo1.Lines.Add(str) else

      writeln(fil[w],str);

    5:if str<>str1 then if wfail=false then memo1.Lines.Add(str1) else writeln(fil[w],str1)else memo1.Lines.Add('') ;

    6:if str<>str1 then if wfail=false then memo1.Lines.Add(str)else writeln(fil[w],str) else memo1.Lines.Add('') ;

    end;

   end;

    if wfail=true then  closeFile(fil[w]);

  end;

7:begin {cp}

    if k<>2 then begin

                   showMessage('колличество файлов должно быть равно 2');

                   exit

                 end;

    if (kl<>'-i') and (kl<>'')  then  begin

                                        showMessage('Неверный ключ') ;

                                        exit;

                                      end;

   if kl='' then flag:=0;

   if kl='-i' then flag:=1;

       Reset(fil[1]);

       Rewrite(fil[2]);

     case flag of

    0: begin

         while (Eof(fil[1])<>true) do

       begin

         Readln(fil[1],str);

         writeln(fil[2],str);

       end;

       end;

    1:begin

       if MessageDlg('Вы уверены что хотите скопировать файл'+imaf[1]+#13

       +'в файл'+imaf[2],mtConfirmation, [mbYes, mbNo], 0) = mrYes then

  begin

    while (Eof(fil[1])<>true) do

       begin

         Readln(fil[1],str);

         writeln(fil[2],str);

       end;

  end else exit;

      end;

     end;

  Closefile(fil[2]);

  end;

 

8: begin    {man}

      str:='';

      AssignFile(fil[1],par+'.txt');

      Reset(fil[1]);

      while (Eof(fil[1])<>true) do

       begin

         readln(fil[1],str);

         if wfail=false then memo1.Lines.Add(str)else

          writeln(fil[w],str);

       end;

        if wfail=true then  closeFile(fil[w]);

   end;

end;

end;

end;

 

procedure TForm1.Memo1KeyUp(Sender: TObject; var Key: Word;

  Shift: TShiftState);

begin

if key=13 then Memo1.SelText:='$ ';

end;

 

procedure TForm1.FormCreate(Sender: TObject);

begin

Memo1.SelText:='$ ';

end;

 

end.




Информация о работе Операционные системы