Лого на страниците (малко). Система Orphus
Ако забележите грешка, маркирайте израза с мишката и натиснете Control+Enter. Благодаря!
Александър Иванов
Когато нещата не вървят
Виртуален?
 
Ако тази дума те обърква — знаеш ли? — има защо.
Виртуален свят най-малко си чувал. Ако не си го виждал, не го надценявай.
Виртуално банкиране, виртуален ПОС терминал може и да използваш. Кой днес не ги използва?
За виртуален секс дори не си струва да говорим. Това е предисторическо откритие. Ако си гледал вкъщи котка или куче, знаеш, че и те го владеят. Без компютри и без интернет.
Докато търсех материал за тази бележка, аз онемях обаче от израза виртуален газопровод. Значи, докато си шаря из интернета, имам парно и топла вода и винаги мога да си опържа яйца. (Ти плати ли интернета?)
Да, ама не! — както обичаше да казва Петко Бочаров. Все още не е измислен начин битовият газ да минава през интернет. Та изразът се оказва малко лъжовен… Престарали са се малко PR-ите.
Колегата филолог вече е извадил латинския речник и проверява: virtūs значи ’мъжествен’, а оттук — и ’достоен’, и ’талантлив’. В римския пантеон има дори богиня на воинската доблест Virtūs.
Е, добре — мъжествен, доблестен, талантлив, — ама проявени ли са вече тези качества, или не са?
Точно отговорът на този въпрос прави думата в съвременните езици доста различна по значение.
В европейските езици (френски, немски) тя означава просто ’вероятен’, ’който има възможност, способност да направи нещо’. Учена дума, рядко употребявана.
С такова значение се разпространява тя и в другите европейски езици, появява се и в български текстове някъде на границата между XIX и XX век. И пак повтарям — рядко употребявана дума.
Другояче са отговорили на въпроса в английския език и друго значение е развило там прилагателното virtual. Там са приели, че прекрасните качества са толкова вероятни, че непременно трябва да се реализират. Та речниците описват значението като ’действителен’, някъде дори поясняват ’не номинален’, тоест не на думи, а наречието virtually е ’всъщност’, ’наистина’, ’в действителност’.
Странни и прелюбопитни са пътищата, по които в съвременните езици е преминавала лексика (и не само лексика!) от античните езици. Днес, с изграждането на текстови корпуси както на античните езици, така и исторически корпуси на съвременните езици, стават възможни много по-детайлни изследвания в тази област. Изследвания, които ще ни разкажат много по-подробно историята на съвременните езици.
Прекрасна изследователска програма в това отношение е очертал проф. Димитър Бояджиев в статията си Проверка на хипотезата (сп. Език и литература, LII (1997), кн. 3–4, с. 76–88. [pdf]).
Сега използваме прилагателното виртуален много, много по-често, отколкото са го използвали нашите интелектуалци преди сто години. Използваме го заради новите информационни технологии.
А в тази област терминологията е предимно от английския език, и то от американския му вариант. Та виртуален придобива съвсем конкретно значение: който е реализиран програмно, софтуерно, а не физически (чрез чипове, платки и тенеке).
Както обикновено, примерите разясняват повече.
 
Виртуална памет
Днес дори ни е трудно да си представим колко ограничена е била операционната памет (RAM) на „големите“ компютри отпреди 60–70 години. Тя е била много скъпа, гълтала е невероятно количество електроенергия и, разбира се, е отделяла също толкова невероятно количество топлина. Ето защо още тогава възниква идеята операционната памет да бъде „продължена“ с външно запомнящо устройство — първоначално магнитен барабан, по-късно — магнитни дискове. Ето такъв софтуерен (програмен) механизъм да се използва външно запомнящо устройства като продължение на операционната памет се нарича виртуална памет и май е първата форма на „виртуализация“ в информатиката.
От техническа гледна точка има много начини да се организира виртуална памет. Може би най-старата е „модулната“ обработка на данните. Една програма (модул) започва обработката на данните; след това тя извиква друга програма (модул), разбира се, от външно запомнящо устройство, която се настанява на същото място в операционната памет, „наследява“ достъп до данните и продължава обработката им. И така нататък.
В DOS този механизъм се поддържаше дори от интерпретаторния бейсик (basica). Животът на програмиращия се усложняваше, ама неголямата операционна памет се използваше доста по-добре.
В многозадачните операционни системи (а днес всички популярни операционни системи са многозадачни) на диска се запазват цели страници (блокове) от операционната памет. Така при недостиг на операционна памет системата може да „стовари“ на диска цяла програма заедно с данните й, да зареди на нейно място друга и да я пусне да работи, а след това да ги размени. Този механизъм наричат swap — размяна (на блокове памет между RAM и диска).
В Windows® в коренната директория на диск C: има файл pagefile.sys — това е мястото, което операционната система използва, за да менка страници/блокове памет. Този файл има две особености. Първо, „скрит“ е — няма да го видиш, ако не си поиграеш с настройките. Второ, той е на фиксирано място на диска; ако си пренареждаш диска, той няма да бъде преместен. Повече подробности какви файлове използва Windows®, за да запазва състоянието на операционната памет в различни случаи, можеш да прочетеш, например, на How-To Geek.
В линукс още при инсталиране на системата е разумно (при много сглобки — и задължително) да отделиш дял от диска и да го определиш за Swap. При съвременен компютър обикновено няма нужда да отделяш повече място за този дял, отколкото ти е операционната памет. А и винаги може, без да рестартираш, да създадеш и да активираш допълнителен файл за swap.
Ама по-добре си купи още памет. Щото работата с външни запомнящи устройства е с десетки, дори със стотици пъти по-бавна, а паметите вече не са чак толкова скъпи.
 
Виртуално устройство
Много хардуерни устройства могат при нужда да бъдат създадени и виртуално, по програмен път. Ако се замислиш, нима драйверът за звуковата ти карта, например, не е виртуално устройство?
В практиката изразът виртуално устройство най-често се използва за виртуален диск. Другото му наименование (RAMDisk) е още по-ясно — заделя се част от операционната памет и с нея се работи като с диск. В DOS си имаше и програмка RAMDISK. В линукс това не е много по-сложно, отколкото да отвориш/монтираш диск със системната програма mount. В Windows® изглежда е по-сложно. Посочвам статия, в която има едно възможно решение. Там са направени и хубави сравнения за бързодействие между виртуален диск и по-използваните днес външни запомнящи устройства.
Очевидно бързината на един виртуален диск е несравнимо по-голяма от бързината на физическите устройства. Освен това щадиш техниката — не стържеш по дискетата или твърдия диск. Само не трябва да забравяш да си запишеш данните от този виртуален диск на енергонезависим носител, преди да си изключиш компютъра. Щото все пак е виртуален — има го, докато ти работи компютърът.
Операционните системи твърде интензивно използват този механизъм. Използват го и в процеса на зареждането си (booting), като създават временен виртуален диск, четат данни от него и после го премахват, използват го и в работната си фаза.
Ако си в линукс, използвай командата (програмата) df, за да се убедиш, че важни части от операционната система работят като виртуален диск (типът на такава файлова система е tmpfs или devtmpfs).
 
Виртуална машина
Абе същото като виртуално устройство, ама с повече настройки.
Виртуалните машини са софтуер, който дава възможност (повече или по-малко) да имитираш програмно реален компютър.
Тук нормалният човек (моите читатели филолози в преобладаващата си част са нормални хора) си задава въпроса:
— Ама това на кога е необходимо? Аз нали току-що си купих съвсем нов лаптоп?
Да ти е честит лаптопа.
Ама не мислиш за търговците на интеренет.
Те освен че ти подават интернет, предлагат и други услуги.
Например, домакинство (hosting) на страницата ти. Ето, ти гледаш miryan.org, защото съм се споразумял с един български търговец на интернет да я показва. Срещу достъпна годишна такса. Добре.
Но си представи малко по-сложен случай. Имаш неголяма, но стара фирма. Искаш да излезеш в интернет, да направиш електронен магазин. Ама цялото ти счетоводство от трийсет години е в стари файлове на dBASE, и счетоводителят ти е свикнал със старичката си досова програма. Как да осъществиш връзка между данните от електронния магазин и счетоводната си система?
Това не е измислен случай, по-скоро е типичен. И не само у нас.
Едно от възможните решение е да наемеш виртуална машина от търговеца на интернет. Тази услуга наричат VPS (Virtual Personal Server).
На тази виртуална машина можеш да инсталираш операционна система, каквато ти е удобно, можеш да разположиш фирмената си страница и данните от електронния магазин, можеш да пуснеш специфичен софтуер, който да прехвърля тези данни към старичката ти счетоводна система. И изобщо можеш да стартираш всякакви програми, необходими за работата на фирмата ти, а всичките ти сътрудници могат да имат достъп до тях, дори ако са на другия край на планетата.
За всичките ти клиенти и сътрудници нещата изглеждат така, сякаш поддържаш собствен интернетски сървър (хардуерен, „желязо“).
Само че това все пак е софтуер. На сървърите на търговеца на интернет виртуалната ти машина представлява един файл (или една директория с няколко файла). Лесно е да правиш резерни копия, а при нужда е лесно да я прехвърлиш на друг сървър.
Впрочем, търговците на интернет предлагат под наем и „желязо“ — хардуерни сървъри. Само че цените са от друг порядък и трябва да имаш много сериозни съображения, за да преминеш към този вариант.
Ако на новичкия си лаптоп имаш 4 GB памет (по-добре 8), можеш да си направиш в него собствена виртуална машина — не е сложно.
Едната причина да направиш това, е любопитството — можеш да инсталираш друга операционна система, да я разгледаш и разучиш, да поработиш с нея.
Пък ако тази операционна система предоставя софтуер, какъвто основната ти операционна система не поддържа, можеш и да работиш с нея. Двете операционни системи — основната (наричат я host ’домакин’) и виртуалната (наричат я guest ’гостенин’) — могат да си разменят данни по много различни и удобни начини.
Другата причина да си направиш виртуална машина аз ценя даже много по-високо — можеш да си направиш виртуална машина с DOS или с Windows’98, или с линукс RedHat 6.2, да инсталираш софтуера си от онова време и да получиш достъп до данни от онова време. Щото ако не си вземал редовно мерки през годините да трансформираш данните си към съвременни файлови формати и към съвременни носители, ти достъп до тези данни днес практически нямаш.
Ето картинка, снимка от моя работен екран (компютърът е със съвременна операционна система за домашни компютри, никакви чудеса):
 
DOS6.22 във виртуална машина.
 
Чрез виртуалната машина на Oracle® VirtualBox аз съм стартирал DOS 6.22. В голяма степен съм възстановил действителността от втората половина на 1994 година. В DOS аз току-що съм стартирал фантастичния QBasic — незаменим работен инструмент за филолога изследовател от онова време, който си беше част от DOS.
Ако основната ти система е линукс, dosemu или dosbox може да се окажат по-лесен начин да пресъздадеш старата досова операционна система. Обикновено ги има и в пакетите на сглобката.
Впрочем, поколения са програмистите и информатиците, чиито първи достъп до програмен език са интерпретаторите за бейсик на Microsoft®. И за мене е до известна степен загадка, защо във форуми, блогове, лични страници практически липсва благодарността към тази фирма, които тя заслужава.
Възможността за „възстановяване на историята“, която в голяма степен дават виртуалните машини, аз ценя много. Но информатиците обикновено гледат напред и рядко изтъкват тази възможност на виртуализацията.
С приятни изключения. Например, в Dartmouth college е създаден симулатор на системата DTSS от 1964 г., част от която е и новосъздаденият тогава програмен език basic.
Има и възстановка на бейсиковия интерпретатор от досово време bwbasic (Bywater BASIC) — името е очевидна закачка с gwbasic на Microsoft® от 80-те години.
Има и съвременен компилатор за програми, писани по онова време на QuickBasic — QB64.
 
Виртуална реалност
Е, виртуален свят, виртуална реалност все пак са метафори. Нали си наясно?
Става дума за въздействия върху сетивата ни, управлявани по програмен, софтуерен път.
И не е достатъчно въздействието да е върху само едно сетиво. Колкото и „обемен“ да е звукът, който чуваш със слушалките си, все пак няма да наречеш това виртуална реалност.
Необходимо е да включим програмно управлявано въздействие върху поне още едно сетиво, за да започнем да говорим за виртуална реалност. Днес обикновено се включва още образ, тоест включва се зрението като сетиво.
А щом говорим за въздействия върху човешките сетива, значи говорим за семиотика. И можем да си поставяме по-общи въпроси. Например, върху кои човешки сетива можем да упражняваме въздействие по програмен път?
И се оказва, че не са много. Овладели сме горе-долу управлението на зрителната и на слуховата информация.
При тренажорите за летци и космонавти въздействията върху други сетива, например върху тактилните усещания за положени на тялото ни в пространството, просто трябва да се пресъздадат. Цялата кабина на тренажора се накланя наляво, надясно, напред или назад, пресъздават се дори вибрациите на корпуса в зависимост от режима на полет, а усещането за ускорение се пресъздава, като целият тренажор (симулатор) се засилва (или спира) по релси. И нещата стават доста убедителни.
Донякъде можем да пресъздадем и усещането за топло и студено, дори за гладко и за грапаво. Ама ако затова е необходимо да облечеш човека в цял костюм като космонавт, това вече само по себе си не е много реалистично.
И от всички сетива изглежда най-трудно за управление обонянието. Не че цялата парфюмерийна индустрия не се стреми да създаде „виртуален“ обонятелен свят, не че не са правени доста опити чрез програмни средства да се управляват аромати (виж например oPhone). Ама носителят на информация за обонянието има една особеност — инертен е, стои дълго и бавно се разсейва.
Затова обученото куче може да намери следа дори след дни.
Но ти си представи компютърна игра: бягаш през градината на султана и наоколо ухае. Прескачаш оградата и падаш в контейнер за боклук. А наоколо продължава да ухае на розички… Малко неубедително.
Щом говорим за програмно (софтуерно) въздействие върху сетивата ни, значи говорим и за възможни (и практически неизбежни) грешки в програмата.
Заклетите любители на компютърни игри най-вероятно са попадали на случаи, в който героят им небрежно претичва през пропастта или влиза през стената в съседното помещение. Това е смешно, но не е опасно.
Но я си представи грешка в програмното осигуряване на тренажора за управляващия екип на атомна електроцентрала, при която целият екип е обучен на неправилни действия при дадена аварийна ситуация. Това вече никак не е смешно.
Нашият, човешкият „софтуер“ също греши.
Мозъкът ни, като възприема информацията от сетивата, обикновено изгражда адекватна картина на света около нас и вътре в нас и управлява нашето прекрасно тяло така, че да си вършим работата, без да се нараняваме.
Но мозъкът лесно се обърква — при умора и безсъние, при топлинен удар и при висока температура, при кислородна недостатъчност, при измръзване, при силно ускорение, в необичайна среда, при стрес, травма, при редица заболявания и медикаменти. И изпада в състояние на дезориентация. Случва се и на здрави, тренирани хора.
Това състояние обикновено е времено и отминава. Мозъкът ни възстановява прекрасната и адекватна картина на света около нас и вътре в нас.
Но си даваш сметка колко опасно е това състояние в някои ситуации: ако шофираш, ако управляваш самолет или влак, ако си алпинист, водолаз, космонавт, монтажник, кранист, строителен работник…
Затова тези хора специално се обучават за подобни ситуации: първо, да разпознаят, че са в състояние на дезориентация, второ, какво трябва да правят (или да не правят) в това състояние.
Квалифицираните летци, например, задължително са изкарали курс за управление на самолета по прибори. При липса на видимост или в състояние на дезориентация те са обучени да се доверяват на приборите — изкуствен хоризонт, висотомер, — дори ако сетивата им дават информация за неминуема гибел. Нали в този момент точно на сетивата си те не бива да се доверяват!