WY SZA SZKO A BIZNESU W D BROWIE GÓRNICZEJ
Laboratorium : SYSTEMY OPERACYJNE
1
Potoki i strumienie
STRUM I E
( z a n gie lsk ie go st r e a m )
St r u m ie
j e st t o pe w n e go r odz a j u " po
cz e n ie " m i dz y " n a da w c
a
odbior c " lu b " odb ior c
i n a da w c " o w y gl dz ie n ie pr z e r w a n e go ci gu
danych, celowo nie dzielonego na komunikaty.
D o ot oczenia ka dego pr ocesu nale
t r zy st r um ienie, ut o sam iane z pew nym i
plikam i lub ur z dzeniam i: w ej ciow y, w ynikow y i diagnost yczny.
St r um ie
w ej ciow y s u y m in. do czyt ania polece , par am et r ów it p. Do
st r um ienia w ynik ow ego zapisyw ane s
w ynik i dzia a
r ó nych pr ogr am ów .
Natom iast do st r um ienia diagnost y cznego kier ow ane s infor m acj e o b
dach. Na
ogó w szy st k ie t e t r zy st r um ienie odpow iadaj
k onsoli ( t w or z
j
m onit or i
klaw iat ur a ) . Mo na t o j ednak zm ieni pr zy pom ocy t r zech znaków : > , > > , < .
I ch zadaniem j est kier ow anie danych w inne m iej sca ni st andar dow e ( m onit or ,
klaw iat ur a) . Pr zy k adow o dane w ej ciow e m o na skier ow a do zbior u na dysku,
drukarki.
" > " pozw ala skier ow a dane z k onsoli do pliku " a.cpp> b.t xt " ,
przekierow uj e w yj cie pliku * .cpp do pliku * .t xt
">>" powoduj e dopisanie zaw art o ci do ist niej cego j u pliku
" b.cpp> > bb.t xt " , j e li plik bb.t xt ist niej e w yj cie pliku b.cpp
zostanie dopisane do niego
" < " znak m niej szo ci podaj e dane na w ej cie polecenia- instrukcji
"[instrukcja]< - inst rukcj i polecenia pom oc za bb.txt plik otwiera>
Oczyw i cie m o em y m odyfik ow a
opcj e strumieni popr zez zagnie d enie
pewnych atrybutów.
Cz st o zdar za si
, e zaw ar t o
plików dla uzysk ania bar dziej w idocznych
r ezult at ów
t r zeba posor t ow a . Do t ego celu s u y np:
opcj a "SORT"
"sort<"bb.txt">nowy.txt"
efek t em dzia ania w pisanej inst r ukcj i " nieupor z dkow any" plik bb.t xt zam ieni sie
na posortowany plik o nazwie nowy.txt.
Sor t ow anie r ów nie m o em y okr e li np: Od naj m niej szej do naj w i k szej
liczby
lub w edlug alfabet u, j est w iele opcj i , ale o t ym szer zej w pr zy k adach dla
przetwarzania potokowego.
WY SZA SZKO A BIZNESU W D BROWIE GÓRNICZEJ
Laboratorium : SYSTEMY OPERACYJNE
2
Char akt er st andar dow ego w ej cia i w yj cia w yr a a si nast puj co:
m o liw a j est zm iana bie
cego przyporz dkow ania st andardow ego w
st rum ienia w e/ w y, konkret nem u urz dzeniow i lub plikow i;
m o liw e j est pot ok ow e przet w arzanie inform acj i ( piping) , co w i
e
si z u yciem specj alnego t ypu program ów przet w arzaj cych -
filtrów.
Kor zy
z t ego pr zypor z dk ow ania ( pr zypisania ur z dzenia lub pliku do
st r um ienia) polega na t ym , e pr ogr am kor zyst aj cy ze st andar dow ego w e/ w y
st aj e si
pr ogr am em uniw er salnym . Bez konieczno ci dokonyw ania zm ian
pr ogr am u m o na w chw ili w yw o ania pr zekaza m u dane z dow olnego pliku lub
ur z dzenia albo skier ow a w yniki do dow olnego m iej sca.
Ró nica pom i dzy znakiem > a > > j est t aka,
e w pier w szy m pr zypadk u
ist niej ce dane w pliku zost an skasow ane, a w dr ugim pr zypadku dane zost an
dopisane
na
koniec
j u
ist niej cych.
Gdy chcem y np. w y s a dane do dr ukar k i t o w poleceniu nie m o em y u y s ow a
" dr ukar ka" , gdy kom put er nie b dzie
nas r ozum ia . Nale y pos u y si w t akim
w ypadku specj alnym i sy m bolam i, kt ór e okr e laj
nam r odzaj ur z dzenia. I t ak
np.:
* z cza szeregowe to COM1 do COM4;
* synonim nazwy COM1 to AUX;
* z cza równoleg e to LPT1 do LPT3;
* drukarka to PRN;
* urz dzenie puste to NULL (Jest to urz dzenie logiczne, któremu nie odpowiada
adne urz dzenie fizyczne. W systemie operacyjnym pe ni on rol " mietnika
systemowego", do którego mo na kierowa niepotrzebne dane wyj ciowe.)
M o liw o ci st er ow ania st r um ieniam i
dany ch m o na zast osow a do:
* wysy ania krótkich napisów i komunikatów na drukark ;
* zapisywania krótkich tekstów (wprowadzonych z klawiatury) bezpo rednio w
zbiorze dyskowym;
* blokowania napisów generowanych przez polecenie systemowe;
* wysy ania danych generowanych przez niektóre polecenia do drukarki lub zb.
dyskowego.
WY SZA SZKO A BIZNESU W D BROWIE GÓRNICZEJ
Laboratorium : SYSTEMY OPERACYJNE
3
POTOK (z angielskiego pipe lub pipeline)
Pot ok
j e st
t o
pe w ie n
sposób
n a
k om u n ik a cj e ,
u m o liw ia j cy
j e dn ok ie r u n k ow y
pr z e p y w
da n y ch ,
in for m a cj i
m ie dz y
a dr e sow a n y m i( sk oj a r z on y m i) pr oce sa m i. Zj a w isk o pot ok u odb y w a si
n a
z a sa dz ie
st r u m ie n ia ,
j e st
n ie z a w odn e
i
k on t r olow a n e .
Sy m bole m pot ok u z w y cz a j ow o pr z y j t o p oj e dy n cz
pion ow
k r e sk
("|").
Typow e polecenie A | B t w or zy pot ok ," ni t r ansfuzyj n " m iedzy pr ogr am em A a
pr ogr am em B,
cz c st andar dow e w yj cie pr ogr am u A ze st andar dow ym
w ej ciem pr ogr am u B.
Przetwarzanie potokowe (z angielskiego pipelining)
I st niej
dw ie r ów nie dobr e definicj e ok r e laj ce w y ej w y m ienione " zj aw isko" .
Pier w sza z nich m ów i, e pr zet w ar zanie pot ok ow e j est r ów noleg ym dzia aniem w
poszczególnych fazach danego cyk lu r ozk azow ego. Kt ór y z uk adów pr ocesor a
pot ok ow ego w ykonuj e j aki r ozkaz, gdy k olej ny niezale ny uk ad t ego pr ocesor a
w r ów noleg ym czasie pobier a nast pny r ozk az um ieszczony w pam i ci
operacyjnej , co znacznie podw y sza w y daj no
pr ocesor a. " St opie r ów noleg o ci
konst r uk cj i pr ocesor ów w ynosi od t r zech do siedm iu niezale ny ch blok ów
funkcj onalnych
w ykonuj cy ch
j ednocze nie
pobr anie
r ozkazu,
j ego
zdek odow anie, obliczenie adr esu ar gum ent u, pobr anie ar gum ent u, w ykonanie
operacji i przechowanie wyniku".
Kolej n
w cze niej w spom nian
definicj
pr zet w ar zania j est ci g lub szer eg
pr ocesów w sy st em ie UNI X lub unik spochodnym , kt ór ych w ej cia i w yj cia s
po
czone w t en sposób, ze w yniki j ednego pr ocesu s aut om at ycznie kier ow ane
( akum ulow ane) na w ej cie nast pnego w kolej ce pr ocesu.
Ow e pr zet w ar zanie polega m iedzy inny m i na sk ier ow aniu st r um ienia dany ch
" w yj ciow y ch" j ednego polecenia do innego w post aci st r um ienia danych
w ej ciow y ch .
Pr zes anie st andar dow ego w yj cia inst r ukcj i 1 j ak o st andar dow ego w ej cia dla
inst r ukcj i
1,
pr zyk adem
t ego
m o e
by
t akie
pr ost e
sfor m u ow anie:
"instrukcja 1 | instrukcja 2"
WY SZA SZKO A BIZNESU W D BROWIE GÓRNICZEJ
Laboratorium : SYSTEMY OPERACYJNE
4
Mo na
w yr ó ni
t r zy
podst aw ow e
polecenia- inst r uk cj e
w
pr zet w ar zaniu
potokowym:
"more" - jest odpow iedzialne za w y w iet lanie kolej no st ron
zaw art o ci pliku lub danych w yj ciow y ch polecenia
"find" - opcj a t a w yszukuj e w plikach i danych w yj ciow y ch polece
znaki sprecyzow ane przez u yt kow nika
"sort"- sort uj e w ed ug okre lenia zaw art o
plik ów lub danych
w yj ciow y ch polece , poza t ym odczyt uj e dane w ej ciow e i
w y w iet la w yniki ( po dokonanym sort ow aniu) na ekranie lub
zapisuj e j e do pliku albo do innego urz dzenia.
np:
sort [/r] [/+n]<"ag.txt">nowy.txt
gdzie:
/ r pow oduj e odw rócenie kolej no ci sor t ow ania t zn. " od .. a, a
nast pnie od 9..0"
/ + n okre la num er pozycj i znaku n, od kt órego polecenie sort
wykona swoje zadania
Na przyk ad, / + 5 b dzie pow odow a o , e ka de porów nanie b dzie
si rozpoczyna od pi t ego znaku w ka dym w ierszu. Wiersze
maj ce m nij sz liczb znaków ni n s sort ow ane przed innym i
w ierszam i. Dom y lnie porów nania rozpoczynaj si od pierw szego
znaku.
/ m ( kilobyt es) opcj a t a podaj e w kilobaj t ach rozm iar j aki by ,b dzie
u yt y w operacj i sort ow ania, zazw yczaj 160 k B pam i ci
podstawowej.
/ l zm ienia porz dek sort ow ania narzucony przez ust aw ienia
regionalne
/ t [ dysk: ] [ scie ka] - okr e la cie k k at alogu , w kt orym m a zost a
zapisany plik roboczy polecenia sort ,oczyw i cie w t edy gdy dane nie
zm ieszcz si w pam i ci operacyj nej k om put era. Dom y lnie
u yw any j est syst em ow y kat alog t ym czasow y.
/ o [ dysk: ] [ scie ka] nazw a_pliku
opcj a t a pozw ala na okr e lenie pliku , w kt órym zost an zapisane
sort ow ane dane w ej ciow e. Je eli plik nie zost anie okre lony , dane
s zapisy w ane do w yj cia st andardow ego. Okre lanie pliku
w yj ciow ego zapew nia szybkie i efekt ow ne sort ow anie.
WY SZA SZKO A BIZNESU W D BROWIE GÓRNICZEJ
Laboratorium : SYSTEMY OPERACYJNE
5
Sk a dow e pole ce n ia fin d:
find w yszukuj e znak lub ci g znaków w pliku oraz plikach. Po dokonanych
pom y lnie operacj ach , find w y w iet la w szyst kie w iersze zaw ieraj ce
szukany ci g znaków lub znak.
find [ / v ] [ / c ] [ / n ] [ / i ] "ciag=znak" [ [dysk:] [scie ka] nazwa_pliku[...] ]
PARAMETRY:
/ v pozw ala w y w iet li w szyst kie w iersze nie zaw ieraj ce szukanego
ci gu znaków .
/ c w y w iet la t ylko liczb w ierszy , kt ór e zaw ieraj okre lony ci g
znaków.
/ n poprzedza ka dy w iersz j ego num erem w pliku.
/ i przy w y szukiw aniu nie b dzie brana pod uw ag w ielko
znaków
" ci g" - t o szukany ci g znaków
[ dysk: ] [ cie ka] nazw a_pliku - lokalizacja szukanego pliku na dysku
Przyk ad:
type PROG.PAS | find /n "Pisz" - poprzedzone numerami wiersze zawieraj ce ci g
znaków Pisz ( w zbiorze PROG.PAS )
N aj pr ost szym
pr zy k adem
pr zet w ar zania
pot okow ego
j est
zast osow anie
polecenia sor t do ust aw ienia w kolej no ci alfabet ycznej list y zaw ar t o ci
skor ow idza dyskow ego . W t y m pr zypadku polecenie sor t pobier a dane w ej ciow e
ze st r um ienia dany ch w y j ciow ych polecenia dir i pr zek azuj e sw oj e dane
w yj ciow e do st andar dow ego ur z dzenia w yj ciow ego , t j . na ekr an m onit or a .
Zapis t ej oper acj i j est nast puj cy :
dir /b | sort <"Enter">
WY SZA SZKO A BIZNESU W D BROWIE GÓRNICZEJ
Laboratorium : SYSTEMY OPERACYJNE
6
Filtr more w przetwarzaniu potokowym
Polecenie m or e s u y do dzielenia na st r ony ( ekr any) d u szych zbior ów
t ekst ow y ch lub du ej liczby w ier szy danych w yj ciow ych innego polecenia
kier ow any ch na ekr an. Polecenie m or e u yw ane j est j ednak naj cz
ciej j ako filt r
pobier aj cy dane w ej ciow e ze st r um ienia w yj ciow ego innego polecenia .
Pr zyk ad:
Je li zbiór TEKST znaj duj cy si w kat alogu g ów ny m dy skiet ki um ieszczonej w
nap dzie A , j est obszer ny ( liczba w ier szy t ek st u pr zek r acza liczb
w ier szy
ekranu) to po wykonaniu polecenia
type A:\ TEKST
na ek r anie pozost a aby j edynie ko cow a cz
. Zast osow anie filt r u m or e t j .
wprowadzenie polecenia
type A:\ TEKST | more
spow oduj e , e po zape nieniu j ednego ek r anu w y w iet lanie zostanie wstrzymane
do chw ili naci ni cia pr zez u yt kow nika dow olnego klaw isza ( w ykonyw anie
polecenia m o e by pr zer w ane w dow olnej chw ili pr zez w ci ni cie klaw iszy Ct r l-
C).
Pr zyk ad:
Wprowadzenie polecenia
dir | more
spow oduj e podobnie j ak polecenie dir z par am et r em / p , w y w iet lenie list y
zaw ar t o ci bie
cego kat alogu ze st r onicow aniem . Ró nica polega na t ym , e
polecenie dir z par am et r em / p dzia a nat ychm iast , nat om iast polecenie dir z
filt r em m or e pow oduj e naj pier w w czyt anie polecenia m or e do pam i ci ( j est t o
polecenie
zew n t r zne
) ,
nast pnie
pr zet w or zenie
ut w or zonego
zbior u
t ym czasow ego ( w sposób niew idoczny dla u yt kow nika ) , a dopier o pot em
w y w iet lenie st r um ienia w yj ciow ego na ekr anie .
WY SZA SZKO A BIZNESU W D BROWIE GÓRNICZEJ
Laboratorium : SYSTEMY OPERACYJNE
7
Filtr sort w przetwarzaniu potokowym.
Polecenie sor t um o liw ia sor t ow anie danych nie t ylk o w zgl dem pier w szego
znaku ka dego w ier sza , ale t ak e w zgl dem n- t ego znaku . Do okr e lenia t ego
znaku , t j . pozycj i pocz w szy od kt ór ej nale y uw zgl dni
znaki podczas
sor t ow ania , s u y par am et r / + n . Polecenie sor t
bez t ego par am et r u j est
r ów now a ne poleceniu sor t / + 1 . Za pom oc t ego polecenia m o em y posor t ow a
skor ow idz w ed ug r ó nych kr yt er iów . Pr zyk ad: Wpr ow adzenie polecenia
dir | sort <"Enter"> spowoduje wy wietlenie listy zawarto ci katalogu
bie
cego posortowanej wed ug dat utworzenia zbiorów , a polecenia
dir | sort/+12 <"Enter"> posortowania wed ug godziny powstania zbiorów
(pocz wszy od godziny 00:00)