Systemy operacyjne 6


Systemy operacyjne 6

Z Wikipedii, wolnej encyklopedii.

Spis treści

0x01 graphic
Obiekty standardowe w WSH

W skład środowiska WSH wchodzi szereg obiektów dostarczających metody, które pozwalają na zarządzanie szeroką gamą elementów systemu operacyjnego. Podstawowym obiektem, który dostarcza najważniejsze metody jest WScript. Metody w nim zawarte pozwalają między innymi na utworzenie instancji pozostałych klas standardowych.

Obiekt WScript

Obiekt WScript jest podstawowym obiektem środowiska WSH. Własności WScript przechowują dane o wykonaniu i parametrach uruchomienia skryptu. Metody WScript pozwalają na sterowanie wykonaniem skryptu oraz na zarządzanie obiektami.

Metody WScript:

CreateObject 

tworzy obiekt określony nazwą. Składnia:

WScript.CreateObject(strProgID[,strPrefix])

Echo 

pozwala na wyświetlenie komunikatu na ekranie (lub konsoli).

Quit 

służy do kończenia pracy skryptu.

Sleep 

wstrzymuje skrypt na zadaną liczbę milisekund.

Własności WScript:

Application 

przechowuje obiekt aplikacji skryptu.

Arguments 

przechowuje obiekt argumentów (opis poniżej).

FullName 

przechowuje nazwę (wraz ze ścieżką) interpretera WSH

Name 

przechowuje nazwę opisową interpretera WSH

Path 

przechowuje scieżkę dostępu do interpretera WSH

ScriptFullName 

przechowuje przechowuje płną nazwę (wraz ze ścieżką) wykonywanego skryptu

ScriptName 

przechowuje przechowuje przechowuje nazwę wykonywanego pliku

StdErr 

przechowuje obiekt strumienia błędów (tylko CScript)

StdIn 

przechowuje obiekt strumienia wejściowego (tylko CScript)

StdOut 

przechowuje obiekt strumienia wyjściowego (tylko CScript)

Obiekt WshArguments

Własności WshArguments:

Item 

zawiera listę parametrów linii poleceń.

Length 

zawiera liczbę znaków danego parametru.

Count 

przechowuje liczbę parametrów.

Przykład (należy uruchomić na konsoli przy pomocy CScipt i podac jakieś prametry):

Set objArgs = WScript.Arguments

For I = 0 to objArgs.Count - 1

WScript.Echo objArgs(I)

Next

Obiekt WshEnvironment

Metody WshEnvironment:

Remove 

Metoda usuwa zmienną środowiskową. Składnia:

object.Remove(strName)

Własności WshEnvironment:

Item 

zawiera listę dostępnych zmiennych.

Length 

przechowuje długość danej zmiennej.

Count 

przechowuje liczbę dostępnych zmiennych.

Przykład:

Set WshShell = WScript.CreateObject("WScript.Shell")

Set WshSysEnv = WshShell.Environment("SYSTEM")

WScript.Echo WshSysEnv("NUMBER_OF_PROCESSORS")

Obiekt WshNetwork

Metody WshNetwork:

EnumPrinterConnection 

zwraca listę dostępnych drukarek. Składnia:

objPrinters = object.EnumPrinterConnections

Przykład:

Set WshNetwork = WScript.CreateObject("WScript.Network")

Set oPrinters = WshNetwork.EnumPrinterConnections

For i = 0 to oPrinters.Count -1

WScript.Echo oPrinters.Item(i)

Next

AddPrinterConnection 

Mapuje drukarkę sieciową dostępną dla programów DOSowych. Składnia:

object.AddPrinterConnection strLocalName, strRemoteName[,bUpdateProfile][,strUser][,strPassword]

Przykład:

Set WshNetwork = CreateObject("WScript.Network")

WshNetwork.AddPrinterConnection "LPT1", \\Server\Print1

AddWindowsPrinterConnection 

Mapuje drukarkę sieciową w systemie Windows. Składnia:

object.AddWindowsPrinterConnection(strPrinterPath)

Przykład:

Set WshNetwork = CreateObject("WScript.Network")

PrinterPath = "\\printserv\DefaultPrinter"

PrinterDriver = "Lexmark Optra S 1650"

WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver

RemovePrinterConnection 

usuwa mapowanie drukarki.

SetDefaultPrinter 

ustawia wybraną drukarkę jako domyślną. Składnia:

object.SetDefaultPrinter strPrinterName

Przykład:

Set WshNetwork = WScript.CreateObject("WScript.Network")

WshNetwork.AddPrinterConnection "LPT1:", "\\Server\Print1"

WshNetwork.SetDefaultPrinter "\\Server\Print1"

EnumNetworkDrives - zwraca listę dysków sieciowych. Składnia

objDrives = object.EnumNetworkDrive

Przykład:

Set WshNetwork = WScript.CreateObject("WScript.Network")

Set oDrives = WshNetwork.EnumNetworkDrives

For i = 0 to oDrives.Count -1

WScript.Echo oDrives.Item(i)

Next

MapNetworkDrive 

mapuje dysk sieciowy. Składnia:

object.MapNetworkDrive strLocalName, strRemoteName, [bUpdateProfile], [strUser], [strPassword]

Przykład:

Set WshNetwork = WScript.CreateObject("WScript.Network")

WshNetwork.MapNetworkDrive "Z:", "\\Server\Share"

RemoveNetworkDrive 

usuwa dysk sieciowy. Składnia:

object.RemoveNetworkDrive strName, [bForce], [bUpdateProfile]

Przykład:

Set WshNetwork = WScript.CreateObject("WScript.Network")

WshNetwork.MapNetworkDrive "Z:", "\\Server\Share"

WshNetwork.RemoveNetworkDrive "Z:"

ComputerName 

przechowuje nazwę komputera

UserDomain 

przechowuje bieżącą domenę

UserName 

przechowuje nazwę użytkownika

Przykład:

Set objNet = WScript.CreateObject("WScript.Network")

WScript.Echo objNet.ComputerName & " - " & objNet.UserName

Obiekt WshShell

Metody WshShell:

AppActivate 

aktywuje wybrane okno.

CreateShortcut 

tworzy skrót. Przykłady:

'Utworzenie skrótu do wykonywanego skryptu

Set WshShell = WScript.CreateObject("WScript.Shell")

Set oShellLink = WshShell.CreateShortcut("Current Script.lnk")

oShellLink.TargetPath = WScript.ScriptFullName

oShellLink.Save

'Utworzenie skrótu do strony WWW

Set oUrlLink = WshShell.CreateShortcut("Microsoft Web Site.URL")

oUrlLink.TargetPath = "http://www.microsoft.com"

oUrlLink.Save

LogEvent 

zapisuje zdarzenie do pliku WSH.log

Popup 

pokazuje okienko z zadaną treścią. Składnia:

IntButton = object.Popup(strText, [natSecondsToWait], strTitle], [natType])

Przykład:

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Popup "Where do you want to go today?"

RegDelete 

Usunięcie wpisu z rejestru

RegRead 

Odczytanie wartości z rejestru

RegWrite 

Wpisanie wartości do rejestru

Przykład:

'Utworzenie klucza "Key" i wartości "Value"

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.RegWrite "HKCU\ScriptEngine\Value", "Some string value"

WshShell.RegWrite "HKCU\ScriptEngine\Key\", 1 ,"REG_DWORD"

'Odczytanie wartości "Value" i wartości domyślnej klucza "Key"

WScript.Echo WshShell.RegRead("HKCU\ScriptEngine\Value")

WScript.Echo WshShell.RegRead("HKCU\ScriptEngine\Key\")

'Usunięcie klucza i wartości

WshShell.RegDelete "HKCU\ScriptEngine\Value"

WshShell.RegDelete "HKCU\ScriptEngine\Key\"

Run 

pozwala na uruchomienie dowolnej aplikacji. Składnia:

object.Run (strCommand, [intWindowStyle], [bWaitOnReturn])

Przykład:

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run ("%windir%\notepad" & WScript.ScriptFullName)

SendKeys Metod 

pozwala na symulację naciśnięć klawiszy. Przykład:

set WshShell = CreateObject("WScript.Shell")

WshShell.Run "calc"

WScript.Sleep 100

WshShell.AppActivate "Calculator"

WScript.Sleep 100

WshShell.SendKeys "1{+}"

WScript.Sleep 500

WshShell.SendKeys "2"

WScript.Sleep 500

WshShell.SendKeys "~"

WScript.Sleep 500

WshShell.SendKeys "*3"

WScript.Sleep 500

WshShell.SendKeys "~"

WScript.Sleep 2500

Zadania

Wybrane rozszerzenia WSH

Obsługa strumieni

Obiekt WSript posiada własności StdIn, StdOut i StdErr, które reprezentująca standardowe strumienie programu konsolowego. Ze ezględu na charakter tych własności, strumienie przez nie przechowywana, można używać tylko po uruchomieniu skryptu poleceniem 'CScript'.

Strumień StdOut

Strumień StdOut pozwala na wysłanie danych na standardowy strumień wyjściowy (domyślnie konsolę). Posiada następujące metody:

Write 

wysyła tekst bez znaku końca linii

WriteLine 

wysyła tekst ze znakiem końca linii

WriteBlankLines 

wysyła puste linie (znaki końca linii)

Przykład:

Set objNetwork = Wscript.CreateObject("Wscript.Network")

Set objStdOut = WScript.StdOut

objStdOut.Write "User: "

objStdOut.Write objNetwork.UserDomain

objStdOut.Write "\"

objStdOut.Write objNetwork.UserName

objStdOut.WriteBlankLines(1)

objStdOut.WriteLine objNetwork.ComputerName

objStdOut.Write "Informacje pobrane."

objStdOut.Close

Strumień StdIn

Strumień StdIn pozawala na odczytywanie danych ze standardowego strumienia wejściowego (domyślnie konsoli). Posiada następujące metody:

Read 

odczytuje określoną liczbę znaków

ReadLine 

odczytuje jedną linię (do wciśnięcia Enter na konsoli - znaku końca linii)

ReadAll 

odczytuje cały dostarczony strumień (ma zastosowanie w przypadku danych pochodzących z innego programu)

Skip 

pomija określoną liczbę znaków

SkipLine 

pomija określoną liczbę linii

AtEndOfLine 

sprawdza czy wystąpił koniec linii

AtEndOfStream 

sprawdza czy wystąpił koniec danych/pliku

Przykład:

Wscript.StdOut.Write "Podaj liczbę dziesiętną: "

strDecimal = Wscript.StdIn.ReadLine

Wscript.StdOut.WriteLine strDecimal & " jest równe " & Hex(strDecimal) & " heksadecymalnie."


Istnieje możliwość przekierowania strumieni do programu wywołanego przez skrypt WSH. Użyć należy wówczas obiektów StdIn i StdOut przechowywanych w obiekcie zwracanym przez metodę Exec. Poniżej przykład przekierowania strumienia z programu test.bat:

Dim WshShell, oExec, input

Set WshShell = CreateObject("WScript.Shell")

Set oExec = WshShell.Exec("test.bat")

input = ""

Do While True

If Not oExec.StdOut.AtEndOfStream Then

input = input & oExec.StdOut.Read(1)

If InStr(input, "dowolny klawisz . . .") <> 0 Then Exit Do

End If

WScript.Sleep 100

Loop

oExec.StdIn.Write " "

Do While oExec.Status <> 1

WScript.Sleep 100

Loop

Plik test.bat dla powyższego przykładu może mieć postać:

@echo "Start pliku wsadowego"

@pause

Obsługa plików i folderów

WSH dysponuje rozszerzeniem pozwalającym na niemalże nieograniczony dostęp do dysków logicznych, folderów oraz plików. Obiekt, który pozwala na zarządzanie systemem plików to Scripting.FileSystemObject.

Najważniejsze obiekty wchodzące w skład FileSystemObject to:

Drive 

Obiekt reprezentujący dysk logiczny. Przykład zastosowania obiektu tego typu:

Dim oFSO

Set oFSO = WScript.CreateObject("Scripting.FileSystemObject")

WScript.Echo oFSO.GetDrive("C:").RootFolder.Path

Folder 

Obiekt reprezentujący folder. Przykład zastosowania obiektu tego typu:

Dim oFSO

Set oFSO = WScript.CreateObject("Scripting.FileSystemObject")

Set oFolder = oFSO.GetFolder("C:\DeleteMe")

oFolder.Delete

lub alternatywnie:

Dim oFSO

Set oFSO = WScript.CreateObject("Scripting.FileSystemObject")

oFSO.DeleteFolder "C:\DeleteMe"

File 

Obiekt reprezentujący plik. Przykład zastosowania obiektu tego typu:

Dim oFSO

Set oFSO = WScript.CreateObject("Scripting.FileSystemObject")

Set oFile = oFSO.GetFile("C:\MyFile.txt")

oFile.Copy "D:\MyFile.txt"

Podobnie jak w przypadku folderu można użyć składni alternatywnej:

Dim oFSO

Set oFSO = WScript.CreateObject("Scripting.FileSystemObject")

If oFSO.FileExists("C:\MyFile.txt") Then

OFSO.CopyFile "C:\MyFile.txt", "D:\MyFile.txt"

End If

TextStream 

Obiekt pozwalajacy na zapis do plikow tekstowych. Przykład zastosowania:

Dim oFSO, oTS

Set oFSO = WScript.CreateObject("Scripting.FileSystemObject")

Set oTS = oFSO.CreateTextFile("C:\MyOutput.txt")

oTS.WriteLine "Hello, world!"

oTS.Close

WScript.Echo "All done!"

Dokładny opis metod dostarczanych przez FileSystemObject można znaleźć na stronie:

FileSystemObject Methods

Inne zastosowania WSH

Możliwości interpretera WSH oraz zastosowania skryptów w Windows są praktycznie nieograniczone. Najlepsze pojęcie o ty co można uzyskać dzięki skryptom daje przeglądanie gotowych skryptów napisanych przez administratorów systemów Windows. Bogata biblioteka skryptów znajduje sie na poniższej stronie:

http://www.scriptinganswers.com/vault/

Zadania

Aplikacje zewnętrzne w WSH

Wysyłanie klawiszy

Najprostsza metoda współpracy skryptów WSH z aplikacjami zewnętrznymi polega na wysyłaniu komunikatów, odpowiadających wciskaniu klawiszy. Poprzez kombinacje sterujące można doprowadzić do wykonania prawie dowolnych działań na zewnętrznych aplikacjach.

Znak +, ^, %, ~, (, oraz ) mają specjalne znaczenie dla metody SendKey. Aby przekazać je jako parametr do tej metody należy umieścić je w nawiasach klamrowych {}. Przykładowo, jeśli chcemy wysłać znak + do tej metody wprowadzimy następującą linijkę:

WshShell.SendKeys("{+}");

Podobnie wygląda sprawa z nawiasami (), [] oraz {}, które jeśli chcemy przekazać do metody SendKey musimy umieścić w nawiasach klamrowych. Pokazuje to poniższy przykład:

var WshShell = WScript.CreateObject("WScript.Shell");

WshShell.Run("notepad.exe");

WScript.Sleep(200);

WshShell.SendKeys("{{}");

// Nowa linia

WshShell.SendKeys("~");

WshShell.SendKeys("{(}");

WshShell.SendKeys("~");

WshShell.SendKeys("{[}");

WshShell.SendKeys("~");

WshShell.SendKeys("{~}");

WshShell.SendKeys("~");

Warto zwrócić uwagę, iż niektóre z klawiszy nie generują widocznych na ekranie znaków. W poniższej tabeli zawarto kody dla klawiszy specjalnych, które mogą być przekazane do metody SendKey

Klawisz

Kod

Backspace

{BACKSPACE}, {BS}, {BKSP}

Break

{BREAK}

Caps Lock

{CAPSLOCK}

Delete

{DELETE} lub {DEL}

Kursor w dół

{DOWN}

End

{END}

Enter

{ENTER} lub ~

Esc

{ESC}

Help

{HELP}

Home

{HOME}

Insert

{INSERT} lub {INS}

Kursor w lewo

{LEFT}

Num Lock

{NUMLOCK}

Page Down

{PGDN}

Page Up

{PGUP}

Print

{PRTSC}

Kursor w prawo

{RIGHT}

Scroll lock

{SCROLLLOCK}

Tab

{TAB}

Kursor w górę

{UP}

F1

{F1}

F2

{F2}

F3

{F3}

F4

{F4}

F5

{F5}

F6

{F6}

F7

{F7}

F8

{F8}

F9

{F9}

F10

{F10}

F11

{F11}

F12

{F12}

F13

{F13}

F14

{F14}

F15

{F15}

F16

{F16}

Aby wysłać jako parametr metody kombinację klawiszy, np. Ctrl+V należy posłużyć się specjalnym kodem odpowiadającym klawiszom Shift, Ctrl oraz Alt. Kody tych klawiszy zestawione są w poniższej tabelce.

Klawisz Specjalny

Kod klawisza

Shift

+

Ctrl

^

Alt

%

W celu przekazania kombinacji klawiszy należy kod danego klawisza umieścić bezpośrednio przed drugim znakiem żądanej kombinacji. Przykładowo, aby jeśli chcemy przekazać do metody SendKey kombinację Ctrl+C napiszemy:

WshShell.SendKeys("^{c}");

Jeśli chcemy wysłać kombinację składającą się z większej liczby klawiszy należy posłużyć się nawiasami (). Załóżmy, że kombinacją, którą chcemy wysłać jest Shift+C+E. Aby wysłać taką kombinację należy wprowadzić ciąg +(EC), gdzie + oznacza Shift, (EC) oznacza naciśnięte równocześnie klawisze E oraz C. Jeśli przekazany do metody ciąg znaków miałby postać +EC, oznaczałoby to naciśnięcie kombinacji Shitf+E, a następnie klawisza C (+ w tym wypadku dotyczy tylko pierwszego znaku czyli E).

Dodatkowo do metody SendKey możemy przesłać liczbę odpowiadającą krotności naciśnięcia klawisza. Przykładowo ciąg {H 10} oznaczał będzie 10-krotne naciśnięcie klawisza H. Pokazuje to poniższy przykład:

var WshShell = WScript.CreateObject("WScript.Shell");

WshShell.Run("notepad.exe");

WScript.Sleep(200);

WshShell.SendKeys("{H 10}");

Automatyzacja

Środowisko podstawowe skryptów WSH jest stosunkowo ograniczone. Mimo to dzięki współpracy z technologią ActiveX skrypty posiadają praktycznie nieograniczone możliwości. Pełną "siłę" WSH można zobaczyć dopiero sterując przy pomocy skryptów zewnętrznymi aplikacjami.

Przykład - MS Word

Poniższy skrypt stanowi przykład wykorzystania programu MS Word. Wypełnia on dokument Worda opisami czcionek dostępnych w systemie.

' Uruchomienie Worda

dim w

set w = createobject("word.application")

w.visible = true

' Utworzenie nowego dokumentu

dim d

set d = w.documents.add

' Pobranie liczby dostępnych czcionek

dim iFonts

iFonts = w.fontnames.count

' Utworzenie akapitu dla każdej czcionki

dim i

for i = 1 To iFonts

d.content.insertafter w.fontnames(i) & vbcrlf

d.content.insertafter "Przykładowy tekst" & vbcrlf

d.content.insertafter "PRZYKŁADOWY TEKST" & vbcrlf

d.content.insertafter "0123456789" & vbcrlf

next

' Ustawienie czcionek dla akapitów

dim rngParagraphs

for i = 1 To iFonts * 4

if (i + 3) mod 4 = 0 then

set rngParagraphs = d.range(d.paragraphs(i+1).range.start, d.paragraphs(i + 3).range.end)

rngParagraphs.select

w.selection.font.name = w.fontnames((i - 1) \ 4 + 1)

end if

next

msgbox "Koniec"

Przykład - MS Excel

Współpraca z programem MS Excel przebiega podobnie jak w poprzednim przykładzie w MS Word:

// utworzenie obiektu reprezentującego program Excel

objXL = WScript.CreateObject("Excel.Application");

// dodanie zeszytu do arkusza

objXL.Workbooks.Add;

// ustalenie wartości komórki w pierwszej kolumnie

objXL.Cells(1,1).Value = 5;

// zaznaczenie komórek

objXL.Range(“A1:C1”).Select;

// stworzenie obiektu reprezentującego wykres

var objXLchart = objXL.Charts.Add();

Informacje o obiektach automatyzacji

Możliwości automatyzacji są specyficzne dla poszczególnych aplikacji. Głównym źródłem informacji o odstępnych metodach powinna być dokumentacja używanych programów. Źródła informacji o metodach w programach z pakietu MS Office przedstawia poniższy dokument:

http://support.microsoft.com/?scid=kb;en-us;222101

Ważnym narzędziem przydatnym w odszukiwaniu odpowiednich obiektów i metod jest program firmy Microsoft o nazwie OleView (OLE/COM Object Viewer). Jest to przeglądarka obiektów COM/OLE dostępnych w systemie. OLE/COM Object Viewer dostarczany jest między innymi w pakiecie Visual Studio lub Windows 2000 Resource Kit. Można go także pobrać ze strony firmy Microsoft.

0x01 graphic

Wygląd okna OleView

Po lewej stronie znajduje się drzewo obiektów COM/OLE, po prawej zaś dokładne informacje o aktualnie wybranym obiekcie. Praktycznie do każdego zamieszczonego tam obiektu mamy dostęp przez Window Script Host. Aby taki obiekt umieścić, należy znaleźć dla niego sekwencję VersionIndependentProgID (rysunek). Sekwencja ta to nazwa, pod którą obiekt jest widoczny w Window Script Host. Znajduje się ona na zakładce Registry z prawej strony okna.

Rozważmy przykład

var WS = WScript.CreateObject(“WScript.Shell”);

WS.Popup(“Hello world”);

Spróbujmy znaleźć obiekt typu Shell, który został użyty w powyższym przykładzie. W tym celu należy rozwinąć gałąź Automation Objects i znaleźć obiekt Windows Scripting Host Shell Object. Następnie w prawej części okna programu OleView należy poszukać sekwencji VersionIndependentProgID. Interesujący nas obiekt nazywa się WScript.Shell (Rysunek).

Następnie na obiekcie Windows Scripting Host Shell Object należy wywołać menu kontekstowe i wybrać pozycję View Type Information. W ten sposób zostanie wyświetlone okno iTypeLib Viewer. Struktura tego okna (Rys. 2) jest bardzo podobna do głównego okna przeglądarki obiektów i zawiera właściwości i metody wybranego przez nas obiektu.

0x01 graphic

Aplikacja iTypeLib Viewer

W celu uzyskania bardziej przejrzystej struktury właściwości, z menu View należy wybrać polecenie Group by type kind. W celu znalezienia odpowiedniej metody (Popup) należy rozwinąć gałąź Interfaces, a następnie interface IWshShell i methods. Później zaznaczyć metodę Popup. Z prawej strony zostanie wyświetlony opis metody.

Zawarto tam następujące informacje:

W ten sposób istnieje możliwość sprawdzenia właściwości każdego obiektu zarejestrowanego w systemie Windows. Korzystając z OleView każdy użytkownik może zbadać właściwości i metody interesującego go obiektu, aby następnie wykorzystać je w swoim skrypcie. W przypadku programów z rodziny Microsoft Office pomoc zawiera także informacje na temat udostępnianych obiektów OLE.

Zadania



Wyszukiwarka

Podobne podstrony:
Systemy operacyjne
5 Systemy Operacyjne 23 11 2010 Zarządzanie procesami
zasady grupy, java, javascript, oprogramowanie biurowe, programowanie, programowanie 2, UTK, systemy
Systemy Operacyjne lab4, Politechnika Wrocławska, Systemy Operacyjne
format[1], Szkoła, Systemy Operacyjnie i sieci komputerowe, systemy, semestr I
System plików, zOthers, Systemy operacyjne i sieci komputerowe
quota, !!!Uczelnia, wsti, materialy, II SEM, systemy operacyjne linux
Rafał Polak 12k2 lab8, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Spr
System operacyjny
01 Systemy Operacyjne ppt
12 wspomaganie systemu operacyjnego pamiec wirtualna
Pytania do egzaminu z Systemow Operacyjnych cz, EdukacjaTEB
W2K3-15-raport, WAT, SEMESTR VII, Systemy operacyjne windows, Systemy operacyjne windows, sow, W2K3-
Pamięci dynamiczne RAM, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr I
Model ISO-OSI, szkola, systemy operacyjne, klasa 4
dobrucki,systemy operacyjne, Rodzaje pamięci
Organizacja pamięci komputerów, szkola, systemy operacyjne, klasa 1
zadania-egzaminacyjne, Studia WIT - Informatyka, Systemy operacyjne

więcej podobnych podstron