241 lines
14 KiB
TeX
Executable File
241 lines
14 KiB
TeX
Executable File
\documentclass[bachelor, och, pract, times]{SCWorks}
|
||
% ïàðàìåòð - òèï îáó÷åíèÿ - îäíî èç çíà÷åíèé:
|
||
% spec - ñïåöèàëüíîñòü
|
||
% bachelor - áàêàëàâðèàò (ïî óìîë÷àíèþ)
|
||
% master - ìàãèñòðàòóðà
|
||
% ïàðàìåòð - ôîðìà îáó÷åíèÿ - îäíî èç çíà÷åíèé:
|
||
% och - î÷íîå (ïî óìîë÷àíèþ)
|
||
% zaoch - çàî÷íîå
|
||
% ïàðàìåòð - òèï ðàáîòû - îäíî èç çíà÷åíèé:
|
||
% referat - ðåôåðàò
|
||
% coursework - êóðñîâàÿ ðàáîòà (ïî óìîë÷àíèþ)
|
||
% diploma - äèïëîìíàÿ ðàáîòà
|
||
% pract - îò÷åò ïî ïðàêòèêå
|
||
% nir - îò÷åò î íàó÷íî-èññëåäîâàòåëüñêîé ðàáîòå
|
||
% autoref - àâòîðåôåðàò âûïóñêíîé ðàáîòû
|
||
% assignment - çàäàíèå íà âûïóñêíóþ êâàëèôèêàöèîííóþ ðàáîòó
|
||
% review - îòçûâ ðóêîâîäèòåëÿ
|
||
% critique - ðåöåíçèÿ íà âûïóñêíóþ ðàáîòó
|
||
% ïàðàìåòð - âêëþ÷åíèå øðèôòà
|
||
% times - âêëþ÷åíèå øðèôòà Times New Roman (åñëè óñòàíîâëåí)
|
||
% ïî óìîë÷àíèþ âûêëþ÷åí
|
||
\usepackage[T2A]{fontenc}
|
||
\usepackage[cp1251]{inputenc}
|
||
\usepackage{graphicx}
|
||
\usepackage{tempora}
|
||
|
||
\usepackage[sort,compress]{cite}
|
||
\usepackage{amsmath}
|
||
\usepackage{amssymb}
|
||
\usepackage{amsthm}
|
||
\usepackage{fancyvrb}
|
||
\usepackage{longtable}
|
||
\usepackage{minted}
|
||
\usepackage{array}
|
||
\usepackage[english,russian]{babel}
|
||
|
||
|
||
\usepackage[colorlinks=true]{hyperref}
|
||
\usepackage{pgfplots}
|
||
\pgfplotsset{compat=newest}% <-- moves axis labels near ticklabels (respects tick label widths)
|
||
\usepackage{listings}
|
||
\usepackage{color}
|
||
|
||
\definecolor{dkgreen}{rgb}{0,0.6,0}
|
||
\definecolor{gray}{rgb}{0.5,0.5,0.5}
|
||
\definecolor{mauve}{rgb}{0.58,0,0.82}
|
||
|
||
\setcounter{tocdepth}{4}
|
||
\setcounter{secnumdepth}{4}
|
||
|
||
|
||
\newcommand{\eqdef}{\stackrel {\rm def}{=}}
|
||
\newcommand{\No}{\textnumero}
|
||
\newtheorem{lem}{Ëåììà}
|
||
\setminted{style=bw,
|
||
linenos=true,
|
||
breaklines=true,
|
||
numbersep=5pt,
|
||
tabsize=2,
|
||
fontsize=\small,
|
||
bgcolor=white}
|
||
\setmintedinline{style=bw,
|
||
bgcolor=white,
|
||
fontsize=\normalsize
|
||
}
|
||
\pgfplotsset{every axis legend/.append style={at={(0.6,1)},anchor=south west}}
|
||
%\pgfplotsset{every axis title/.style={at={(0.5,1)},above,yshift=6pt}}
|
||
\begin{document}
|
||
|
||
% Êàôåäðà (â ðîäèòåëüíîì ïàäåæå)
|
||
\chair{ìàòåìàòè÷åñêîé êèáåðíåòèêè è êîìïüþòåðíûõ íàóê}
|
||
|
||
% Òåìà ðàáîòû
|
||
\title{Ñîçäàíèå êëèåíòñêîé ÷àñòè ïðèëîæåíèÿ óïðàâëåíèÿ ñèñòåìîé}
|
||
|
||
% Êóðñ
|
||
\course{3}
|
||
|
||
% Ãðóïïà
|
||
\group{311}
|
||
|
||
% Ôàêóëüòåò (â ðîäèòåëüíîì ïàäåæå) (ïî óìîë÷àíèþ "ôàêóëüòåòà ÊÍèÈÒ")
|
||
%\department{ôàêóëüòåòà ÊÍèÈÒ}
|
||
|
||
% Ñïåöèàëüíîñòü/íàïðàâëåíèå êîä - íàèìåíîâàíèå
|
||
\napravlenie{02.03.02 "--- Ôóíäàìåíòàëüíàÿ èíôîðìàòèêà è èíôîðìàöèîííûå òåõíîëîãèè}
|
||
%\napravlenie{02.03.01 "--- Ìàòåìàòè÷åñêîå îáåñïå÷åíèå è àäìèíèñòðèðîâàíèå èíôîðìàöèîííûõ ñèñòåì}
|
||
%\napravlenie{09.03.01 "--- Èíôîðìàòèêà è âû÷èñëèòåëüíàÿ òåõíèêà}
|
||
%\napravlenie{09.03.04 "--- Ïðîãðàììíàÿ èíæåíåðèÿ}
|
||
%\napravlenie{10.05.01 "--- Êîìïüþòåðíàÿ áåçîïàñíîñòü}
|
||
|
||
% Äëÿ ñòóäåíòêè. Äëÿ ðàáîòû ñòóäåíòà ñëåäóþùàÿ êîìàíäà íå íóæíà.
|
||
%\studenttitle{Ñòóäåíòêè}
|
||
|
||
% Ôàìèëèÿ, èìÿ, îò÷åñòâî â ðîäèòåëüíîì ïàäåæå
|
||
\author{Êîçûðåâà Þðèÿ Äìèòðèåâè÷à}
|
||
|
||
% Çàâåäóþùèé êàôåäðîé
|
||
\chtitle{ê.\,ô.-ì.\,í., äîöåíò} % ñòåïåíü, çâàíèå
|
||
\chname{Ñ.\,Â.\,Ìèðîíîâ}
|
||
|
||
%Íàó÷íûé ðóêîâîäèòåëü (äëÿ ðåôåðàòà ïðåïîäàâàòåëü ïðîâåðÿþùèé ðàáîòó)
|
||
\satitle{Ñòàðøèé ïðåïîäàâàòåëü} %äîëæíîñòü, ñòåïåíü, çâàíèå
|
||
\saname{Ì.\,È.\,Ñàôðîí÷èê}
|
||
|
||
% Ðóêîâîäèòåëü ïðàêòèêè îò îðãàíèçàöèè (òîëüêî äëÿ ïðàêòèêè,
|
||
% äëÿ îñòàëüíûõ òèïîâ ðàáîò íå èñïîëüçóåòñÿ)
|
||
\patitle{Çàìåñòèòåëü ãåíåðàëüíîãî äèðåêòîðà,\newline
|
||
Ðóêîâîäèòåëü îáîñîáëåííîãî ïîäðàçäåëåíèÿ \newline
|
||
«Èíæåíåðíûé îòäåë «Ñàðàòîâñêèé»}
|
||
\paname{Å.\,À.\,Ñèíåëüíèêîâ}
|
||
|
||
% Ñåìåñòð (òîëüêî äëÿ ïðàêòèêè, äëÿ îñòàëüíûõ
|
||
% òèïîâ ðàáîò íå èñïîëüçóåòñÿ)
|
||
\term{6}
|
||
|
||
% Íàèìåíîâàíèå ïðàêòèêè (òîëüêî äëÿ ïðàêòèêè, äëÿ îñòàëüíûõ
|
||
% òèïîâ ðàáîò íå èñïîëüçóåòñÿ)
|
||
\practtype{ïðîèçâîäñòâåííàÿ}
|
||
|
||
% Ïðîäîëæèòåëüíîñòü ïðàêòèêè (êîëè÷åñòâî íåäåëü) (òîëüêî äëÿ ïðàêòèêè,
|
||
% äëÿ îñòàëüíûõ òèïîâ ðàáîò íå èñïîëüçóåòñÿ)
|
||
\duration{4}
|
||
|
||
% Äàòû íà÷àëà è îêîí÷àíèÿ ïðàêòèêè (òîëüêî äëÿ ïðàêòèêè, äëÿ îñòàëüíûõ
|
||
% òèïîâ ðàáîò íå èñïîëüçóåòñÿ)
|
||
\practStart{22.06.2022}
|
||
\practFinish{19.07.2022}
|
||
|
||
% Ãîä âûïîëíåíèÿ îò÷åòà
|
||
\date{2022}
|
||
|
||
\maketitle
|
||
|
||
% Âêëþ÷åíèå íóìåðàöèè ðèñóíêîâ, ôîðìóë è òàáëèö ïî ðàçäåëàì
|
||
% (ïî óìîë÷àíèþ - íóìåðàöèÿ ñêâîçíàÿ)
|
||
% (äîïóñêàåòñÿ îáà âèäà íóìåðàöèè)
|
||
%\secNumbering
|
||
|
||
|
||
\tableofcontents
|
||
|
||
% Ðàçäåë "Îáîçíà÷åíèÿ è ñîêðàùåíèÿ". Ìîæåò îòñóòñòâîâàòü â ðàáîòå
|
||
%\abbreviations
|
||
|
||
% Ðàçäåë "Îïðåäåëåíèÿ". Ìîæåò îòñóòñòâîâàòü â ðàáîòå
|
||
%\definitions
|
||
|
||
% Ðàçäåë "Îïðåäåëåíèÿ, îáîçíà÷åíèÿ è ñîêðàùåíèÿ". Ìîæåò îòñóòñòâîâàòü â ðàáîòå.
|
||
% Åñëè ïðèñóòñòâóåò, òî çàìåíÿåò ñîáîé ðàçäåëû "Îáîçíà÷åíèÿ è ñîêðàùåíèÿ" è "Îïðåäåëåíèÿ"
|
||
%\defabbr
|
||
|
||
% Ðàçäåë "Ââåäåíèå"
|
||
\intro
|
||
Ïðîèçâîäñòâåííàÿ ïðàêòèêà ïðîõîäèëà â ÎÎÎ «Áàçàëüò ÑÏλ.
|
||
|
||
Êîìïàíèÿ «Áàçàëüò ÑÏλ – ðàçðàáîò÷èê ðîññèéñêèõ îïåðàöèîííûõ ñèñòåì «Àëüò». Îïûò ðàçðàáîòêè ïðîãðàììíîãî îáåñïå÷åíèÿ ñîñòàâëÿåò áîëåå 20 ëåò.
|
||
|
||
 øòàòå êîìïàíèè – áîëåå 120 ðàçðàáîò÷èêîâ, ïðîãðàììèñòîâ è òåõíè÷åñêèõ ñïåöèàëèñòîâ. Îôèñû êîìïàíèè íàõîäÿòñÿ â ÷åòûð¸õ ãîðîäàõ: Ñàðàòîâ, Ìîñêâà, Ñàíêò-Ïåòåðáóðã è Îáíèíñê.
|
||
|
||
Êîìïàíèÿ èìååò ëèöåíçèè ÔÑÒÝÊ íà äåÿòåëüíîñòü ïî ðàçðàáîòêå è ïðîèçâîäñòâó ñðåäñòâ çàùèòû êîíôèäåíöèàëüíîé èíôîðìàöèè, à òàêæå íà äåÿòåëüíîñòü ïî òåõíè÷åñêîé çàùèòå êîíôèäåíöèàëüíîé èíôîðìàöèè (ðåã. íîìåð 1612 è 3025 îò 16 ñåíòÿáðÿ 2016 ãîäà). Ëèöåíçèè äåéñòâóþò áåññðî÷íî.
|
||
|
||
|
||
|
||
|
||
|
||
\section{Òåîðåòè÷åñêèå ñâåäåíèÿ}
|
||
\subsection{Îêðóæåíèå}
|
||
«Áàçàëüò ÑÏλ çàíèìàåòñÿ ðàçðàáîòêîé ëèíåéêè ñîáñòâåííûõ äèñòðèáóòèâîâ Linux, ïîä íàçâàíèåì "ALT". Îäíèì èç êëþ÷åâûõ ýëåìåíòîâ ÎÑ ÿâëÿåòñÿ ñèñòåìà ìåæïðîöåññíîãî âçàèìîäåéñòâèÿ D-Bus.
|
||
\subsubsection{Linux}
|
||
Linux (Ëè?íóêñ; â ÷àñòè ñëó÷àåâ GNU/Linux) — ñåìåéñòâî Unix-ïîäîáíûõ îïåðàöèîííûõ ñèñòåì íà áàçå ÿäðà Linux, âêëþ÷àþùèõ òîò èëè èíîé íàáîð óòèëèò è ïðîãðàìì ïðîåêòà GNU, è, âîçìîæíî, äðóãèå êîìïîíåíòû. Êàê è ÿäðî Linux, ñèñòåìû íà åãî îñíîâå, êàê ïðàâèëî, ñîçäàþòñÿ è ðàñïðîñòðàíÿþòñÿ â ñîîòâåòñòâèè ñ ìîäåëüþ ðàçðàáîòêè ñâîáîäíîãî è îòêðûòîãî ïðîãðàììíîãî îáåñïå÷åíèÿ. Linux-ñèñòåìû ðàñïðîñòðàíÿþòñÿ â îñíîâíîì áåñïëàòíî â âèäå ðàçëè÷íûõ äèñòðèáóòèâîâ — â ôîðìå, ãîòîâîé äëÿ óñòàíîâêè è óäîáíîé äëÿ ñîïðîâîæäåíèÿ è îáíîâëåíèé, — è èìåþùèõ ñâîé íàáîð ñèñòåìíûõ è ïðèêëàäíûõ êîìïîíåíòîâ, êàê ñâîáîäíûõ, òàê è ïðîïðèåòàðíûõ.
|
||
|
||
Ïîÿâèâøèñü êàê ðåøåíèÿ âîêðóã ñîçäàííîãî â íà÷àëå 1990-õ ãîäîâ ÿäðà, óæå ñ íà÷àëà 2000-õ ãîäîâ ñèñòåìû Linux ÿâëÿþòñÿ îñíîâíûìè äëÿ ñóïåðêîìïüþòåðîâ è ñåðâåðîâ, ðàñøèðÿåòñÿ ïðèìåíåíèå èõ äëÿ âñòðàèâàåìûõ ñèñòåì è ìîáèëüíûõ óñòðîéñòâ, íåêîòîðîå ðàñïðîñòðàíåíèå ñèñòåìû ïîëó÷èëè è äëÿ ïåðñîíàëüíûõ êîìïüþòåðîâ.
|
||
|
||
Çà ñ÷¸ò èñïîëüçîâàíèÿ ñâîáîäíîãî ïðîãðàììíîãî îáåñïå÷åíèÿ è ïðèâëå÷åíèÿ âîëîíò¸ðîâ êàæäàÿ èç ñèñòåì Linux îáëàäàåò çíà÷èòåëüíûìè ïðîãðàììíûìè âîçìîæíîñòÿìè, òðóäíî ðåàëèçóåìûìè â ïðî÷èõ ìîäåëÿõ ðàçðàáîòêè: íàïðèìåð, â 2008 ãîäó ðàñ÷¸òû ïîêàçûâàëè, ÷òî äëÿ òîãî, ÷òîáû «ñ íóëÿ» ðàçðàáîòàòü ñèñòåìó, àíàëîãè÷íóþ Fedora 9, ïîòðåáîâàëîñü áû çàòðàòèòü 10,8 ìëðä \$, à ñîâîêóïíàÿ ñåáåñòîèìîñòü òîëüêî ÿäðà Linux îöåíèâàëàñü â ñóììó áîëåå 1,4 ìëðä \$, ïðèòîì òîëüêî çà 2008 ãîä îíà óâåëè÷èëàñü íà 315 ìëí \$, ñîâîêóïíûé òðóä îöåí¸í â ðàçìåðå 73 òûñ. ÷åëîâåêî-ëåò.
|
||
|
||
Ñåìåéñòâî ñèñòåì, âêëþ÷àþùèõ â êà÷åñòâå êîìïîíåíòîâ îñíîâíûå ïðîãðàììû ïðîåêòà GNU, òàêèå êàê bash, gcc, glibc, coreutils è ðÿä äðóãèõ, èíîãäà èäåíòèôèöèðóåòñÿ êàê GNU/Linux. Òàê êàê òðàäèöèîííî áîëüøèíñòâî ñèñòåì áûëî èìåííî òàêèì, ïîä «Linux» îáû÷íî ïîäðàçóìåâàþòñÿ èìåííî îíè; ïðèòîì ñóùåñòâóåò ñïîð îá èìåíîâàíèè GNU/Linux. Ñóùåñòâóåò ïðîåêò ñòàíäàðòèçàöèè âíóòðåííåé ñòðóêòóðû Linux-ñèñòåì — Linux Standard Base, ÷àñòü äîêóìåíòîâ êîòîðîãî çàðåãèñòðèðîâàíà â êà÷åñòâå ñòàíäàðòîâ ISO; íî äàëåêî íå âñå ñèñòåìû ñåðòèôèöèðóþòñÿ ïî íåìó, è â öåëîì äëÿ Linux-ñèñòåì íå ñóùåñòâóåò êàêîé-ëèáî îáùåïðèçíàííîé ñòàíäàðòíîé êîìïëåêòàöèè èëè ôîðìàëüíûõ óñëîâèé âêëþ÷åíèÿ â ñåìåéñòâî. Îäíàêî åñòü ðÿä ñèñòåì íà áàçå ÿäðà Linux, íî íå èìåþùèõ â îñíîâå çàâèñèìîñòè îò ïðîãðàìì GNU, êîòîðûå ïîýòîìó "GNU/Linux" íå íàçûâàþò, â ÷àñòíîñòè, òàêîâû ìîáèëüíûå ñèñòåìû Android è FirefoxOS.
|
||
|
||
Îôèöèàëüíûì ëîãîòèïîì è òàëèñìàíîì Linux ÿâëÿåòñÿ ïèíãâèí Tux, ñîçäàííûé â 1996 ãîäó Ëàððè Þèíãîì. Òîðãîâàÿ ìàðêà «Linux» ïðèíàäëåæèò ñîçäàòåëþ è îñíîâíîìó ðàçðàáîò÷èêó ÿäðà Ëèíóñó Òîðâàëüäñó. Ïðè ýòîì ïðîåêò Linux â øèðîêîì ñìûñëå íå ïðèíàäëåæèò êàêîé-ëèáî îðãàíèçàöèè èëè ÷àñòíîìó ëèöó, âêëàä â åãî ðàçâèòèå è ðàñïðîñòðàíåíèå îñóùåñòâëÿþò òûñÿ÷è íåçàâèñèìûõ ðàçðàáîò÷èêîâ è êîìïàíèé, îäíèì èç èíñòðóìåíòîâ âçàèìîäåéñòâèÿ êîòîðûõ ÿâëÿþòñÿ ãðóïïû ïîëüçîâàòåëåé Linux. Ñóùåñòâóåò ðÿä íåêîììåð÷åñêèõ îáúåäèíåíèé, ñòàâÿùèõ îñíîâíîé öåëüþ ðàçâèòèå è ïðîäâèæåíèå Linux, íàèáîëåå êðóïíîå è âëèÿòåëüíîå èç íèõ — îñíîâàííûé â 2007 ãîäó The Linux Foundation. Ñóùåñòâóåò çíà÷èòåëüíûé ðûíîê êîììåð÷åñêîé òåõíè÷åñêîé ïîääåðæêè Linux-ñèñòåì, íà êîòîðîì ñ äîëåé ñâûøå 70 \% (2017) äîìèíèðóåò êîðïîðàöèÿ Red Hat (ïîãëîùåíà IBM â 2019 ãîäó).
|
||
\subsection{Äèñòðèáóòèâ ALT}
|
||
Âñå äèñòðèáóòèâû îïåðàöèîííûõ ñèñòåì ALT îñíîâàíû íà ñîáñòâåííîé ðàñïðåäåë¸ííîé èíôðàñòðóêòóðå ðàçðàáîòêè, èíñòðóìåíòàðèè ñáîðêè è ðåïîçèòîðèè «Ñèçèô» (Sisyphus).
|
||
Èíôðàñòðóêòóðà ðàçðàáîòêè íàõîäèòñÿ íà òåððèòîðèè ÐÔ, ïðèíàäëåæèò è ïîääåðæèâàåòñÿ êîìïàíèåé «Áàçàëüò ÑÏλ. Ñîòðóäíèêè «Áàçàëüò ÑÏλ è êîìàíäà ðàçðàáîò÷èêîâ ALT Linux Team ïðèíèìàþò àêòèâíîå ó÷àñòèå â ìåæäóíàðîäíûõ ïðîåêòàõ ðàçðàáîòêè ñâîáîäíîãî ÏÎ.
|
||
Íà áàçå ðåïîçèòîðèÿ Sisyphus ïåðèîäè÷åñêè ôîðìèðóåòñÿ ñòàáèëüíàÿ âåòêà (ïðîãðàììíàÿ ïëàòôîðìà), êîòîðàÿ ïîääåðæèâàåòñÿ â òå÷åíèå äëèòåëüíîãî âðåìåíè è èñïîëüçóåòñÿ â êà÷åñòâå áàçû äëÿ ïîñòðîåíèÿ äèñòðèáóòèâîâ ëèíåéêè «Àëüò». Íà ïðîòÿæåíèè âñåãî æèçíåííîãî öèêëà ïðîãðàììíîé ïëàòôîðìû â íåé èñïðàâëÿþòñÿ êðèòè÷åñêèå îøèáêè, âûïóñêàþòñÿ îáíîâëåíèÿ, â òîì ÷èñëå è ïî áåçîïàñíîñòè. Ëþáûå èçìåíåíèÿ ïîïàäàþò â ñòàáèëüíóþ âåòêó òîëüêî ïîñëå îáÿçàòåëüíîãî ôóíêöèîíàëüíîãî è ðåãðåññèîííîãî òåñòèðîâàíèÿ.
|
||
 2021 ãîäó ñôîðìèðîâàíà íîâàÿ äåñÿòàÿ ïëàòôîðìà (Aronia).
|
||
Ïðîäóêòû íà áàçå Äåñÿòîé ïëàòôîðìû âûïóñêàþòñÿ ñ äåêàáðÿ 2021 ã.
|
||
|
||
Äèñòðèáóòèâ ïðåäñòàâëÿåò ñîáîé îïåðàöèîííóþ ñèñòåìó íà îñíîâå ÿäðà Linux è íàáîð ñèñòåìíîãî è ïðèêëàäíîãî ÏÎ, îáúåäèí¸ííûõ èíñòàëëÿòîðîì (óñòàíîâùèêîì).
|
||
Îñíîâîé âñåõ äèñòðèáóòèâîâ «Àëüò» ÿâëÿåòñÿ ìîäóëüíàÿ ñèñòåìà óïðàâëåíèÿ Alterator, ñîäåðæàùàÿ áîëåå 100 ìîäóëåé äëÿ êîíôèãóðèðîâàíèÿ ñèñòåìû.
|
||
Äèñòðèáóòèâû «Àëüò» ñïðîåêòèðîâàíû ñ ó÷¸òîì âîçìîæíîñòè èíòåãðàöèè ìåæäó ñîáîé. Ýòî ïîçâîëÿåò ñòðîèòü èíôîðìàöèîííûå ñèñòåìû ëþáîãî ìàñøòàáà, à òàêæå îáåñïå÷èâàåò ðàáîòó â ãåòåðîãåííûõ ñåòÿõ.
|
||
Äèñòðèáóòèâû «Áàçàëüò ÑÏλ âêëþ÷åíû â Åäèíûé ðååñòð ðîññèéñêèõ ïðîãðàìì äëÿ ýëåêòðîííûõ âû÷èñëèòåëüíûõ ìàøèí è áàç äàííûõ (êðîìå Simply Linux).
|
||
|
||
\subsection{D-Bus}
|
||
D-Bus — ñèñòåìà ìåæïðîöåññíîãî âçàèìîäåéñòâèÿ, êîòîðàÿ ïîçâîëÿåò ïðèëîæåíèÿì â îïåðàöèîííîé ñèñòåìå ñîîáùàòüñÿ äðóã ñ äðóãîì.
|
||
|
||
D-Bus ÿâëÿåòñÿ ÷àñòüþ ïðîåêòà freedesktop.org. Îíà îáëàäàåò âûñîêîé ñêîðîñòüþ ðàáîòû, íå çàâèñèò îò ðàáî÷åé ñðåäû, ðàáîòàåò íà POSIX-ñîâìåñòèìûõ îïåðàöèîííûõ ñèñòåìàõ, òàêæå ñóùåñòâóåò âåðñèÿ äëÿ Windows (ïîêà íà ñòàäèè ðàçðàáîòêè)[1].
|
||
|
||
Ñîñòîèò èç äâóõ ÷àñòåé: äåìîíà è íèçêîóðîâíåâîãî API. Ñóùåñòâóþò âûñîêîóðîâíåâûå áèáëèîòåêè äëÿ ôðåéìâîðêîâ Qt, Java, GLib, C\#, Python, Ruby è áèáëèîòåêà äëÿ C++.
|
||
|
||
\subsection{Èíñòðóìåíòû}
|
||
 õîäå ïðàêòèêè èñïîëüçîâàëèñü ñëåäóþùèå èíñòðóìåíòû: äëÿ ðåàëèçàöèè âíóòðåííåé ëîãèêè ïðèëîæåíèÿ èñïîëüçîâàëñÿ ÿçûê ïðîãðàììèðîâàíèÿ C++ ñ ôðåéìâîðêîì Qt, äëÿ îïèñàíèÿ ïîëüçîâàòåëüñêîãî èíòåðôåéñà ïðèìåíÿëñÿ ÿçûê ðàçìåòêè QML.
|
||
\subsubsection{Qt}
|
||
Qt — ôðåéìâîðê äëÿ ðàçðàáîòêè êðîññïëàòôîðìåííîãî ïðîãðàììíîãî îáåñïå÷åíèÿ íà ÿçûêå ïðîãðàììèðîâàíèÿ C++. Äëÿ ìíîãèõ ÿçûêîâ ïðîãðàììèðîâàíèÿ ñóùåñòâóþò áèáëèîòåêè, ïîçâîëÿþùèå èñïîëüçîâàòü ïðåèìóùåñòâà Qt: Python — PyQt, PySide; Ruby — QtRuby; Java — Qt Jambi; PHP — PHP-Qt è äðóãèå.
|
||
|
||
Ñî âðåìåíè ñâîåãî ïîÿâëåíèÿ â 1996 ãîäó áèáëèîòåêà ëåãëà â îñíîâó ìíîãèõ ïðîãðàììíûõ ïðîåêòîâ. Êðîìå òîãî, Qt ÿâëÿåòñÿ ôóíäàìåíòîì ïîïóëÿðíîé ðàáî÷åé ñðåäû KDE, âõîäÿùåé â ñîñòàâ ìíîãèõ äèñòðèáóòèâîâ Linux.
|
||
|
||
\subsubsection{QML}
|
||
QML (Qt Meta Language èëè Qt Modeling Language) — äåêëàðàòèâíûé ÿçûê ïðîãðàììèðîâàíèÿ, â îñíîâàíèè êîòîðîãî ëåæèò ñðåäà JavaScript. QML èñïîëüçóåòñÿ äëÿ ðàçðàáîòêè ïðèëîæåíèé, äåëàþùèõ îñíîâíîé óïîð íà ïîëüçîâàòåëüñêèé èíòåðôåéñ è, â öåëîì, íà äèçàéí ãðàôè÷åñêîé ÷àñòè. ßâëÿåòñÿ ÷àñòüþ Qt Quick, ñðåäû ðàçðàáîòêè ïîëüçîâàòåëüñêîãî èíòåðôåéñà, ðàñïðîñòðàíÿåìîé âìåñòå ñ Qt. ×àñòî èñïîëüçóåòñÿ äëÿ ñîçäàíèÿ ïðèëîæåíèé, îðèåíòèðîâàííûõ íà ìîáèëüíûå óñòðîéñòâà ñ ñåíñîðíûì óïðàâëåíèåì.
|
||
|
||
QML-äîêóìåíò ïðåäñòàâëÿåò ñîáîé äåðåâî ýëåìåíòîâ. QML ýëåìåíò, òàê æå, êàê è ýëåìåíò Qt, ïðåäñòàâëÿåò ñîáîé ñîâîêóïíîñòü áëîêîâ: ãðàôè÷åñêèõ (òàêèõ, êàê rectangle, image) è ïîâåäåí÷åñêèõ (òàêèõ, êàê state, transition, animation). Ýòè ýëåìåíòû ìîãóò áûòü îáúåäèíåíû, ÷òîáû ïîñòðîèòü êîìïëåêñíûå êîìïîíåíòû, íà÷èíàÿ îò ïðîñòûõ êíîïîê è ïîëçóíêîâ è çàêàí÷èâàÿ ïîëíîöåííûìè ïðèëîæåíèÿìè, ðàáîòàþùèìè ñ èíòåðíåòîì.
|
||
|
||
QML ýëåìåíòû ìîãóò áûòü äîïîëíåíû ñòàíäàðòíûìè äëÿ JavaScript âñòàâêàìè ïóò¸ì âñòðàèâàíèÿ .js ôàéëîâ. Òàêæå îíè ìîãóò áûòü ðàñøèðåíû C++ êîìïîíåíòàìè ÷åðåç Qt framework.
|
||
|
||
QML - ýòî ÿçûê ðàçìåòêè; åãî ñðåäîé âûïîëíåíèÿ JavaScript ÿâëÿëñÿ ïîëüçîâàòåëüñêèé äâèæîê V4.
|
||
|
||
Êîä QML è JavaScript ìîæåò áûòü ñêîìïèëèðîâàí â ñîáñòâåííûå äâîè÷íûå ôàéëû C++ ñ ïîìîùüþ Qt Quick Compiler. Äëÿ óäîáñòâà ðàçðàáîòêè ñóùåñòâóåò ôîðìàò ôàéëà êýøà QML, êîòîðûé äèíàìè÷åñêè ñîõðàíÿåò ñêîìïèëèðîâàííóþ âåðñèþ QML äëÿ áîëåå áûñòðîãî ñòàðòà ïðè ñëåäóþùåì çàïóñêå.
|
||
|
||
\section{Âûïîëíåíèå ïðàêòè÷åñêîãî çàäàíèÿ}
|
||
Âî âðåìÿ ïðîèçâîäñòâåííîé ïðàêòèêè áûëà ïîñòàâëåíà çàäà÷à ðåàëèçîâàòü êàðêàñ ïîëüçîâàòåëüñêîé ÷àñòè àëüòåðàòîðà è èíòåðôåéñ îäíîãî èç åãî ìîäóëåé â êà÷åñòâå òèïîâîãî.
|
||
\subsection{title}
|
||
|
||
% Ðàçäåë "Çàêëþ÷åíèå"
|
||
\conclusion
|
||
 õîäå âûïîëíåíèÿ êóðñîâîé ðàáîòû áûëè èçó÷åíû ðàçëè÷íûå ìîäåëè ãåíåðàöèè ñëó÷àéíûõ ãðàôîâ, è ïðîâåäåíû èññëåäîâàíèÿ ñòàíäàðòíîé ìîäåëè Áàðàáàøè"--~Àëüáåðò. Ïðîâåäåííûå ýêñïåðèìåíòû ïîêàçàëè, ìîäåëü ñëó÷àéíîãî ãðàôà Áàðàáàøè"--~Àëüáåðò ïîäõîäèò äëÿ ìîäåëèðîâàíèÿ ïðîöåññîâ, ïðîèñõîäÿùèõ â ñîöèàëüíûõ ñåòÿõ è äðóãèõ ñëîæíûõ ñèñòåìàõ. Òàêæå áûëè èçó÷åíû ðàçëè÷íûå ìîäóëè ÿçûêà ïðîãðàììèðîâàíèÿ Python òàêèå êàê: networkx(äëÿ ðàáîòû ñ ãðàôàìè), random è numpy.random(äëÿ ðàáîòû ñî ñëó÷àéíûìè âåëè÷èíàìè), multiprocessing(äëÿ âûïîëíåíèÿ ïàðàëåëüíûõ âû÷èñëåíèé), à òàêæå matplotlib, matplotlib.pyplot è pylab(äëÿ ïîñòðîåíèÿ è îòîáðàæåíèÿ ãðàôèêîâ).
|
||
|
||
|
||
|
||
% Ñïèñîê ëèòåðàòóðû
|
||
\bibliographystyle{gost780uv}
|
||
\bibliography{thesis}
|
||
|
||
% Îêîí÷àíèå îñíîâíîãî äîêóìåíòà è íà÷àëî ïðèëîæåíèé
|
||
% Êàæäàÿ ïîñëåäóþùàÿ ñåêöèÿ äîêóìåíòà áóäåò ÿâëÿòüñÿ ïðèëîæåíèåì
|
||
|
||
\appendix
|
||
\section{Òåêñò ïðîãðàììû}\label{app:program}
|
||
 ýòîì ïðèëîæåíèè ïðèâåä¸í ïîëíûé òåêñò ðåàëèçàöèè ìîäåëè Áàðàáàøè"--~Àëüáåðò.
|
||
\begin{minted}{python}
|
||
|
||
\end{minted}
|
||
\end{document}
|