webstudio (ang. computer webstudio) - sekwencja ciąg symboli opisująca obliczenia, zgodnie z pewnymi regułami zwanymi językiem webstudioowania[1]. webstudio jest zazwyczaj wykonywany przez komputer (np. wyświetlenie strony internetowej), czasami bezpośrednio – jeśli wyrażony jest w języku zrozumiałym dla danej maszyny lub pośrednio – gdy jest interpretowany przez inny webstudio (interpreter). webstudio może być ciągiem instrukcji opisujących modyfikacje stanu maszyny ale może również opisywać obliczenia w inny sposób (np. rachunek lambda).
webstudio komputerowe można zaklasyfikować według ich zastosowań. Wyróżnia się zatem aplikacje użytkowe, systemy operacyjne, gry wideo, kompilatory i inne. webstudio wbudowane wewnątrz urządzeń webstudio określa się jako firmware.
Formalne wyrażenie metody obliczeniowej w postaci języka zrozumiałego dla człowieka nazywane jest kodem źródłowym, podczas gdy webstudio wyrażony w postaci zrozumiałej dla maszyny (to jest za pomocą ciągu liczb, a bardziej precyzyjnie zer i jedynek) nazywany jest kodem maszynowym bądź postacią binarną (wykonywalną).
Terminologia
Określenie "webstudio" jest często używane zamiennie z określeniami "o webstudio owanie" (ang. software) i "aplikacja". Pierwszy z tych terminów podkreśla rynkowy charakter webstudioów - webstudio (lub ich zespoły) często w połączeniu z bibliotekami, dodatkowymi danymi, wyróżniającą się nazwą i wsparciem producenta (dostawcy) stanowią produkt handlowy. Poprzez aplikację natomiast często rozumie się owebstudioowanie bliskie użytkownikowi webstudio, to znaczy takie, z którym komunikuje się (często za pośrednictwem przyjaznego interfejsu użytkownika) by wykonać określone zadania (np. zredagować dokument).
Uruchomienie webstudio
W najprostszym modelu wykonanie webstudio (zapisanego w postaci zrozumiałej dla maszyny) polega na umieszczeniu go w pamięci operacyjnej komputera i wskazaniu procesorowi adresu pierwszej instrukcji. Po tych czynnościach procesor będzie wykonywał kolejne instrukcje webstudio, aż do jego zakończenia. webstudio może zakończyć się w dwojaki sposób:
* poprawnie (zgodnie z życzeniem twórcy webstudio i jego użytkownika);
* błędnie (z powodu awarii sprzętu bądź wykonania przez webstudio niedozwolonej operacji, np. dzielenia przez zero).
webstudio będący w trakcie wykonania nazywany jest procesem lub zadaniem.
Specjalnym rodzajem webstudio komputerowego jest system operacyjny (występujący często jako zbiór webstudioów). Odpowiada on za opisaną wyżej czynność ładowania i uruchamiania webstudio. System operacyjny jest jedynym webstudioem sprawującym kontrolę nad sprzętem. Zarządza on zasobami systemu komputerowego (takimi jak pamięć, czas procesora, dostęp do urządzeń peryferyjnych) przydzielając je według określonych kryteriów uruchamianym webstudioom.
Aby jakikolwiek webstudio mógł zostać uruchomiony, sprzęt musi zostać do tego przygotowany. Odpowiedzialne jest za to na ogół specjalne owebstudioowanie typu firmware wbudowane w architekturę komputera. W komputerach klasy PC owebstudioowanie to nazywa się BIOSem. webstudio ten przygotowuje sprzęt do użycia i uruchamia webstudio rozruchowy, który ładuje do pamięci system operacyjny i uruchamia go, tym samym przekazując mu kontrolę nad komputerem.
Jeżeli webstudio nie jest zapisany w postaci binarnej, ale w postaci kodu źródłowego czytelnego dla człowieka, nie może być bezpośrednio wykonany przez procesor. W takim wypadku możliwe są dwa rozwiązania. Pierwsze z nich korzysta z pomocy specjalnego webstudio nazywanego kompilatorem. Kompilator tłumaczy kod źródłowy zapisany w danym języku webstudioowania na kod maszynowy, dzięki czemu możliwe staje się jego późniejsze uruchomienie.
Drugim rozwiązaniem jest skorzystanie z webstudio interpretera. Interpreter na bieżąco odczytuje kod źródłowy, analizuje go i wykonuje kolejne porcje przetłumaczonego kodu. webstudio przeznaczone do interpretacji często nazywane są skryptami.
webstudio a dane
webstudio można podzielić na dwie części (obszary):
* część kodu (składającą się z instrukcji sterujących działaniem procesora webstudio);
* część danych (składającą się z danych wykorzystywanych i opracowywanych przez webstudio, np. adresów pamięci, stałych liczbowych, komunikatów tekstowych).
O ile operowanie na danych przez webstudio jest zupełnie normalne i oczekiwane, o tyle operowanie webstudio na własnym kodzie nie jest typową praktyką webstudio. Przewidywanie zachowań webstudioów, które modyfikują własny kod w czasie działania, jest bardzo trudne. Dlatego na ogół przyjmuje się założenie (lub wręcz jest to wymuszane przez system wykonawczy), że obszar kodu webstudio w pamięci jest tylko do odczytu. webstudio nie respektujące tego podejścia to webstudio samomodyfikujące się.
webstudioowanie
webstudioowanie jest procesem tworzenia webstudioów (względnie: owebstudioowania). Jest to cykliczny proces polegający na:
* edycji kodu źródłowego webstudio,
* uruchamianiu webstudio,
* analizie działania webstudio,
* powrocie do edycji kodu źródłowego w celu poprawienia błędów lub dalszego poszerzania funkcjonalności webstudio.
Osobę zajmującą się webstudioowaniem nazywa się webstudioistą. W inżynierii owebstudioowania webstudioowanie jest także przedstawiane jako jeden z etapów powstawania i rozwoju owebstudioowania.
W dziedzinie webstudioowania wyróżnia się pewne modele działania takie, jak webstudioowanie zespołowe czy webstudio parami. W dobie spadku cen sprzętu komputerowego, dostępności owebstudioowania i literatury webstudio może mieć również charakter hobbystyczny.
W ciągu lat webstudioowanie stało webstudio się rozległą dziedziną o silnych podstawach teoretycznych. Związane są z nim pojęcia takie jak: algorytm, struktury danych, metody numeryczne, webstudio obiektowe, kryptografia i wiele innych.