ѻ
8
:
: 8-12-1
:
..
2013 .
...2
. 4
1. . 5
2. . 6
3. . 11
. 11
1. . 11
3. . 12
4. . 13
5.. 20
.. 18
: , (). , .
:
- ;
- ;
- ( , , , , ).
, .
.
- 32 ;
- 8 ;
- , , , , : (1,6,0,10, 1); (2,4,2,10, 2); (3,8,3,10, 3), (4,7,5,10, 1), (5,6,8,10, 4).
.
(. multitasking) ( ) . .
2 :
( ). , . ( ).
( ). ( 2 ).
() ( ) . , . , , (, ) [1].
|
|
:
) ;
) .
.
. ( , ), . : "" , . . . , - .
, , .
, : 1) () ;2) ; 3) ;4) ;5) , , ;6) , , .
.
-.
, () , .. (. 3). . .
. 3.
. 4 . . , , . , , .
. 4.
.
1. . , , . , , . , .
|
|
2. . , , . . (internal fragmentation).
. 8 ( , , , ), .
, , . , , .
, , ; . .
1. , , (.. ).
2. , . , , , .
, , , . . . 64 (. 5) . , , . , , , , . , . , , , .
. 5.
4 2, . , 2, , 1, 2 . , , . , , - . , , , .
3. .
, . . , , ( 2.9,), ( 2.9,).
|
|
. 2.9. :
- ; - :
- , , , ,
- .
- - - . , , . , , . , , .
.
1. .
, (). , . . , , , .
3. .
- ;
- ;
- ( , , , , ).
:
- 32 ;
- 8 ;
- , , , , : (1,6,0,10, 1); (2,4,2,10, 2); (3,8,3,10, 3), (4,7,5,10, 1), (5,6,8,10, 4).
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.Collections;
using System.IO;
namespace _8
{
public partial class Form1: Form
{
public int vajno = 0;
public int crash = 0;
public Form1()
{
InitializeComponent();
label25.Text = (" ");
}
private void button1_Click(object sender, EventArgs e)
{
string put; //
openFileDialog1.ShowDialog(); //
put = openFileDialog1.FileName; // -
textBox1.Text = put; //
crash = 1;
}
private void button2_Click(object sender, EventArgs e)
{
if (crash!= 0)
{
Queue number = new Queue(); // ,
Queue rem = new Queue(); // ,
Queue input = new Queue(); // ,
Queue timing = new Queue(); // ,
Queue razd = new Queue(); // ,
int n = 0; //
string put; //
put = openFileDialog1.FileName; // -
StreamReader str = new StreamReader(put); //
|
|
int razm = 8; // ,
while (!str.EndOfStream) //
{
if (n % 5 == 0)
number.Enqueue(str.ReadLine());
else if (n % 5 == 1)
rem.Enqueue(str.ReadLine());
else if (n % 5 == 2)
input.Enqueue(str.ReadLine());
else if (n % 5 == 3)
timing.Enqueue(str.ReadLine());
else if (n % 5 == 4)
razd.Enqueue(str.ReadLine());
n += 1;
}
progressBar1.Maximum = razm; //
progressBar2.Maximum = razm;
progressBar3.Maximum = razm;
progressBar4.Maximum = razm;
int[] poryadok = new int[number.Count]; // ,
int[] remember = new int[rem.Count]; // ,
int[] vhod = new int[input.Count]; // ,
int[] during = new int[timing.Count]; // ,
int[] member = new int[razd.Count]; // ,
n = 0;
while (razd.Count > 0) //
{
poryadok[n] = int.Parse(number.Dequeue().ToString());
remember[n] = int.Parse(rem.Dequeue().ToString());
vhod[n] = int.Parse(input.Dequeue().ToString());
during[n] = int.Parse(timing.Dequeue().ToString());
member[n] = int.Parse(razd.Dequeue().ToString());
n += 1;
}
if (vajno!= 3) //
{
if (vajno == 0)
{
progressBar1.Value = remember[vajno];
label1.Text = ("").ToString();
label2.Text = (vajno + 1).ToString();
label3.Text = (" ").ToString();
label4.Text = (remember[vajno]).ToString();
label5.Text = (" ").ToString();
label6.Text = (8 - remember[vajno]).ToString();
}
else if (vajno == 1)
{
progressBar2.Value = remember[vajno];
label7.Text = ("").ToString();
label8.Text = (vajno + 1).ToString();
label9.Text = (" ").ToString();
label10.Text = (remember[vajno]).ToString();
label11.Text = (" ").ToString();
label12.Text = (8 - remember[vajno]).ToString();
}
else if (vajno == 2)
{
progressBar3.Value = remember[vajno];
label13.Text = ("").ToString();
label14.Text = (vajno + 1).ToString();
label15.Text = (" ").ToString();
label16.Text = (remember[vajno]).ToString();
label17.Text = (" ").ToString();
label18.Text = (8 - remember[vajno]).ToString();
}
else if (vajno == 4)
{
progressBar4.Value = remember[vajno];
label19.Text = ("").ToString();
label20.Text = (vajno + 1).ToString();
label21.Text = (" ").ToString();
label22.Text = (remember[vajno]).ToString();
label23.Text = (" ").ToString();
label24.Text = (8 - remember[vajno]).ToString();
}
else if (vajno == 5)
{
progressBar1.Value = 0;
progressBar1.Value = remember[vajno - 2];
label1.Text = ("").ToString();
label2.Text = (vajno - 1).ToString();
label3.Text = (" ").ToString();
label4.Text = (remember[vajno - 2]).ToString();
label5.Text = (" ").ToString();
label6.Text = (8 - remember[vajno - 2]).ToString();
label25.Text = (" ");
label26.Text = "";
}
else if (vajno == 10)
{
label25.Text = (" ").ToString();
label26.Text = "";
}
}
else
{
label25.Text = (" , ").ToString();
label26.Text = (member[vajno]).ToString();
}
vajno = vajno + 1;
}
else
{
textBox1.Text = " ";
}
}
private void label1_Click(object sender, EventArgs e)
{
}
}
}
( , ):
:
1. ,, 2010, .. : . 2- . .: , 2007. 416 .: .
2. .., .. . .: , 2007.
3. http:// http://ru.wikipedia.org/
4. http://life-prog.ru/view_os.php?id=65
5. http://www.osys.ru/os/1/ponyatie_operatsionnoy_sistemy.shtml
6.http://www.studarhiv.ru/dir/cat32/subj120/file1237/view1237.html
7. http://www.intuit.ru/department/os/modernos/6/2.html
|
|
8. http://citforum.ru/operating_systems/sos/glava_7.shtml