close

Вход

Забыли?

вход по аккаунту

?

Курсовая работа по дисциплине Операционные системы и среды

код для вставкиСкачать
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
"НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ "МИСиС"
КАФЕДРА ИНЖЕНЕРНОЙ КИБЕРНЕТИКИ
КУРСОВАЯ РАБОТА
По дисциплине "Операционные системы и среды"
Вариант 13
Студент: Бильский С. И.
Группа: И8-12-4
Руководитель работы: Крыков Д. В.
МОСКВА 2013 г.
Содержание
1.Теоретическая часть3
2.Описание программы6
2.1.Формулировка задания на разработку программы6
2.2.Описание алгоритма и перечень задаваемых исходных данных6
2.3.Описание тестовых примеров исходных данных и результатов работы программы7
3.Список используемой литературы16
1.Теоретическая часть
Оболочка (shell) - это общее название для любого командного интерпретатора. Любой интерпретатор является внешним окружением ядра системы. [1] Далее я хочу перечислить функции, которые она выполняет (оболочка также может называться командным процессором).
В представленной схеме ЯДРО не имеет отношение к рассмотренному ранее понятию ядро операционной системы. Здесь это означает основу оболочки. Опишем каждую из этих функций программы-оболчки поподробнее.
1. Выполнение команд. Оболочка проверяет правильность записи информации в командной строке после того как пользователь нажал клавишу <Enter>, но такая информация должна представлять собой одно иди несколько наборов символов (слов), разделяемых пробелами или знаками табуляции. Первое слово должно быть именем команды. Далее задается дополнительная информация. Команды выполняются по разной схеме. При этом может появиться или нет новый процесс, будет осуществляться или нет обращение к ядру. Но наиболее типичной является схема, при которой после получения операционной системой команды создается новая копия оболочки для того, чтобы новый процесс получил необходимые права. 2. Интерпретация команд. Оболочка поддерживает выполнение нескольких команд, записанных как строки текстового файла. Это происходит в режиме интерпретации, когда каждая строка рассматривается как отдельная команда и выполняется последовательно.
3. Замещение переменных. Эта функция оболочки позволяет не задавать жесткие значения параметров выполнения команд. Примером является использование шаблонов имен файлов, что обеспечивает воздействие команды на несколько файлов одновременно. 4. Конвейеры. Это относится к той возможности оболочек UNIX, которые были заложены с её первых версий. Реализация конвейеров позволяет связывать вывод одной команды с вводом следующей. 5. Перенаправление ввода/вывода. В системе выделяются три стандартных файла (ввода, вывода и ошибок). Они назначаются выполняемым процессам и обычно связаны с монитором и клавиатурой. Но используя механизм перенаправления такие файлы можно, например, сохранить на диске. 6. Рабочая среда (окружение пользователя). Оболочка выполняет свои действия в определенных условиях, при определенных значениях так называемых ПЕРЕМЕННЫХ ОКРУЖЕНИЯ. Такими значениями являются, например, имя пользователя, его рабочий каталог в файловой системе, тип монитора, временная зона (смещение по отношению к Гринвичу). Для перечисленных переменных зарезервированы специальные имена (USER, HOME, TERM, TZ).
7. Язык программирования. Одной из функций оболочек UNIX, является поддержание языка программирования. Возможности последнего отличаются у разных версий программы-оболочки, но большинство из них позволяют создавать собственные переменные, имеют в том числе операторы цикла и условий, а так же диалоговый оператор задания значений переменных. Реализованные на языке программирования оболочек программы имеют специальное название - сценарии. Последние широко используются для автоматизации настройки и управления операционной системой. 2.Описание программы
2.1.Формулировка задания на разработку программы
Написать программу, моделирующую работу команды diff с двумя параметрами. Исходными данными для работы программы должен быть обыкновенный текстовый файл на диске.
2.2.Описание алгоритма и перечень задаваемых исходных данных
Программа в качестве исходных данных принимает два обыкновенных текстовых файла выбранных пользователем. Из файлов считывается текст и разбивается на массив, элемент которого равен одной строчке из файла.
Затем идет проверка на наличие дополнительных параметров (сравнение без учета регистра или без учета пробелов). Если параметры не указываются, то идет простое сравнение строк в цикле. Выводятся на экран неравные строки из этих фалов. Если же указан параметр "-i" (сравнение без учета регистра) все строки переводятся в один регистр (в нашем случае верхний) и затем они сравниваются в цикле и так же выводится различие по строкам. В случае, когда указан параметр "-w" (сравнение без учета пробелов) во всех строках идет удаление пробелов путем их замены на пустой символ. И далее также идет сравнение строк в цикле с дальнейшим выводом различия.
Для работы программы нужны два текстовых файла, которые открывает пользователь: 1.txt и 2.txt (Прилагаются в папке WindowsFormsApplication1).
2.3.Исходный текст программы с пояснениями
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace WindowsFormsApplication4
{
public partial class Form1 : Form
{
private string[] s1, s2; public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// Открытие первого файла
openFileDialog1.Filter = "txt файлы(*.txt)|*.txt|rtf файлы (*.rtf)|*.rtf";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
System.IO.StreamReader streamReader;
streamReader = new System.IO.StreamReader(openFileDialog1.FileName);
string fs1 = streamReader.ReadToEnd();
richTextBox1.Text = fs1;
s1 = fs1.Split('\n'); // Разбиение на массив
streamReader.Close();
} }
private void button2_Click(object sender, EventArgs e)
{
//Открытие второго файла
openFileDialog1.Filter = "txt файлы(*.txt)|*.txt|rtf файлы (*.rtf)|*.rtf";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
System.IO.StreamReader streamReader;
streamReader = new System.IO.StreamReader(openFileDialog1.FileName);
string fs2 = streamReader.ReadToEnd();
richTextBox2.Text = fs2;
s2 = fs2.Split('\n'); // Разбиение на массив
streamReader.Close();
} }
private void button3_Click(object sender, EventArgs e)
{
richTextBox3.Clear();//очистка экрана
string ss1, ss2, f;
bool i = false, w = false;
f = textBox1.Text;
if (f != "")
{
if (f == "-i") i = true;
if (f == "-w") w = true;
if ((f == "-iw") || (f == "-wi"))
{
i = true;
w = true;
}
}
//сравнение строк в цикле
for (int j = 0; j < s1.Length; j++)
{
ss1 = s1[j];
ss2 = s2[j];
if (i)// перевод всех строк в верхний регистр
{
ss1 = ss1.ToUpper();
ss2 = ss2.ToUpper();
}
if (w)// удаление пробелов
{
ss1 = ss1.Replace(" ", "");
ss2 = ss2.Replace(" ", "");
}
if (ss1 != ss2)//сравнение и вывод
{
richTextBox3.AppendText((j + 1) + "c" + (j + 1) + "\n");
richTextBox3.AppendText("< " + s1[j] + "\n---\n> " + s2[j] + "\n");
}
}
}
}
}
2.3.Описание тестовых примеров исходных данных и результатов работы программы.
Тестовые исходные данные:
Два текстовых файла: "1.txt" и "2.txt".
1.txt содержит в себе следующую информацию:
This part of the
document has stayed the
same from version to
version. It shouldn't
be shown if it doesn't
change. Otherwise, that
would not be helping to
compress the size of the
changes.
This paragraph contains
text that is outdated.
It will be deleted in the
near future.
It is important to spell
check this dokument. On
theother hand, a
misspelled word isn't
the end of the world.
Nothing in the rest of
this paragraph needs to
be changed. Things can
be added after it.
2.txt содержит:
This is an important
notice! It should
therefore be located at
the beginning of this
document!
This part of the
document has stayed the
same from version to
version. It shouldn't
be shown if it doesn't
change. Otherwise, that
would not be helping to
compress anything.
It is Important to spell
check this document. On
the other hand, a
misspelled word isn't
the end of the world.
Nothing in the rest of
this paragraph needs to
be changed. Things can
be added after its.
При нажатии кнопки "Открыть первый файл" программа выведет на экран содержимое первого файла. При нажатии кнопки "Открыть второй файл" программа выведет на экран содержимое второго файла. При нажатии кнопки "Сравнивание файлов" будет проведено сравнение фалов.
В результате сравнения без каких-либо параметров будет вывод: 1c1
< This part of the
---
> This is an important
2c2
< document has stayed the
---
> notice! It should
3c3
< same from version to
---
> therefore be located at
4c4
< version. It shouldn't
---
> the beginning of this
5c5
< be shown if it doesn't
---
> document!
6c6
< change. Otherwise, that
---
> 7c7
< would not be helping to
---
> This part of the
8c8
< compress the size of the
---
> document has stayed the
9c9
< changes.
---
> same from version to
10c10
< ---
> version. It shouldn't
11c11
< This paragraph contains
---
> be shown if it doesn't
12c12
< text that is outdated.
---
> change. Otherwise, that
13c13
< It will be deleted in the
---
> would not be helping to
14c14
< near future.
---
> compress anything.
16c16
< It is important to spell
---
> It is Important to spell
17c17
< check this dokument. On
---
> check this document. On
18c18
< theother hand, a
---
> the other hand, a
24c24
< be added after it.
---
> be added after its.
При сравнении с параметром "-w":
1c1
< This part of the
---
> This is an important
2c2
< document has stayed the
---
> notice! It should
3c3
< same from version to
---
> therefore be located at
4c4
< version. It shouldn't
---
> the beginning of this
5c5
< be shown if it doesn't
---
> document!
6c6
< change. Otherwise, that
---
> 7c7
< would not be helping to
---
> This part of the
8c8
< compress the size of the
---
> document has stayed the
9c9
< changes.
---
> same from version to
10c10
< ---
> version. It shouldn't
11c11
< This paragraph contains
---
> be shown if it doesn't
12c12
< text that is outdated.
---
> change. Otherwise, that
13c13
< It will be deleted in the
---
> would not be helping to
14c14
< near future.
---
> compress anything.
16c16
< It is important to spell
---
> It is Important to spell
17c17
< check this dokument. On
---
> check this document. On
24c24
< be added after it.
---
> be added after its.
С параметром "-i":
1c1
< This part of the
---
> This is an important
2c2
< document has stayed the
---
> notice! It should
3c3
< same from version to
---
> therefore be located at
4c4
< version. It shouldn't
---
> the beginning of this
5c5
< be shown if it doesn't
---
> document!
6c6
< change. Otherwise, that
---
> 7c7
< would not be helping to
---
> This part of the
8c8
< compress the size of the
---
> document has stayed the
9c9
< changes.
---
> same from version to
10c10
< ---
> version. It shouldn't
11c11
< This paragraph contains
---
> be shown if it doesn't
12c12
< text that is outdated.
---
> change. Otherwise, that
13c13
< It will be deleted in the
---
> would not be helping to
14c14
< near future.
---
> compress anything.
17c17
< check this dokument. On
---
> check this document. On
18c18
< theother hand, a
---
> the other hand, a
24c24
< be added after it.
---
> be added after its.
С параметром "-iw" :
1c1
< This part of the
---
> This is an important
2c2
< document has stayed the
---
> notice! It should
3c3
< same from version to
---
> therefore be located at
4c4
< version. It shouldn't
---
> the beginning of this
5c5
< be shown if it doesn't
---
> document!
6c6
< change. Otherwise, that
---
> 7c7
< would not be helping to
---
> This part of the
8c8
< compress the size of the
---
> document has stayed the
9c9
< changes.
---
> same from version to
10c10
< ---
> version. It shouldn't
11c11
< This paragraph contains
---
> be shown if it doesn't
12c12
< text that is outdated.
---
> change. Otherwise, that
13c13
< It will be deleted in the
---
> would not be helping to
14c14
< near future.
---
> compress anything.
17c17
< check this dokument. On
---
> check this document. On
24c24
< be added after it.
---
> be added after its.
Скриншот работы программы:
3.Список используемой литературы
1. Таненбаум Э. Современные операционные системы. Изд-е 4. СПб.: Питер, 2010
2. Гордеев А.В. Операционные системы: Учебник для вузов. 2-е изд. - СПб.: Питер, 2007. - 416 с.: ил.
3. Назаров С.В., Широков А.И. Многопользовательские операционные системы. - М.: Изд. дом МИСиС, 2010. 194 стр.
2
Документ
Категория
Рефераты
Просмотров
523
Размер файла
128 Кб
Теги
дисциплины, среды, система, работа, операционная, курсовая
1/--страниц
Пожаловаться на содержимое документа