• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Operacja atomowa

    Przeczytaj także...
    Fetch-and-add (pobierz-i-dodaj) – w informatyce specjalna instrukcja procesora, która pozwala na modyfikację pamięci w niepodzielny sposób. Ma ona zastosowanie przy implementacji wzajemnego wykluczania i algorytmów współbieżnych w systemach wieloprocesorowych.Sekcja krytyczna - w programowaniu współbieżnym fragment kodu programu, w którym korzysta się z zasobu dzielonego, a co za tym idzie w danej chwili może być wykorzystywany przez co najwyżej jeden wątek. System operacyjny dba o synchronizację, jeśli więcej wątków żąda wykonania kodu sekcji krytycznej, dopuszczany jest tylko jeden wątek, pozostałe zaś są wstrzymywane. Dąży się do tego, aby kod sekcji krytycznej był krótki - by wykonywał się szybko. Poprzez ostrożne kontrolowanie, które zmienne są modyfikowane wewnątrz i poza sekcją krytyczną (zwykle poprzez uzyskiwanie dostępu do istotnego stanu tylko z zewnątrz), zapobiega się współbieżnemu dostępowi do tego stanu. Sekcja krytyczna jest zwykle używana kiedy program wielowątkowy musi uaktualnić wiele powiązanych zmiennych, tak żeby inny wątek nie dokonał szkodliwych zmian tych danych. W odnośnej sytuacji, sekcja krytyczna może być użyta ażeby zagwarantować, że wspólny zasób, na przykład drukarka, jest używana tylko przez jeden proces w określonym czasie.
    Mikroprocesor – układ cyfrowy wykonany jako pojedynczy układ scalony o wielkim stopniu integracji (LSI) zdolny do wykonywania operacji cyfrowych według dostarczonego ciągu instrukcji.

    Operacja atomowa - operacja, która na określonym poziomie abstrakcji jest niepodzielna.

    Instrukcje mikroprocesora z punktu widzenia systemu operacyjnego są operacjami atomowymi - gdy procesor rozpocznie wykonywanie instrukcji nie można jej przerwać ani w żaden sposób wpłynąć na jej realizację, choć w istocie na poziomie sprzętowym instrukcje są wykonywane w przynajmniej kilku krokach.

    Transakcja - zbiór operacji na bazie danych, które stanowią w istocie pewną całość i jako takie powinny być wykonane wszystkie lub żadna z nich. Warunki jakie powinny spełniać transakcje bardziej szczegółowo opisują zasady ACID (Atomicity, Consistency, Isolation, Durability - Atomowość, Spójność, Izolacja, Trwałość).Obliczenia równoległe – forma wykonywania obliczeń, w której wiele instrukcji jest wykonywanych jednocześnie. Taka forma przetwarzania danych była wykorzystywana przez wiele lat, głównie przy wykorzystaniu superkomputerów, a szczególne zainteresowanie zyskała w ostatnich latach, z uwagi na fizyczne ograniczenia uniemożliwiające dalsze zwiększanie częstotliwości taktowania procesorów. Obliczenia równoległe stały się dominującym wzorcem w architekturze komputerowej, głównie za sprawą upowszechnienia procesorów wielordzeniowych.

    W wielu zastosowaniach istotne jest zagwarantowanie niepodzielności operacji:

  • w przetwarzaniu równoległym zmiana obiektów współdzielonych przez różne procesy musi być atomowa, z punktu widzenia procesu niepodzielna (patrz: sekcja krytyczna, fetch-and-add, compare-and-swap);
  • w systemach baz danych wszystkie zmiany w obrębie transakcji muszą zostać w całości albo zatwierdzone albo odrzucone, inni użytkownicy bazy danych nie mogą otrzymać danych niekompletnych;
  • podobnie w niektórych systemach plików zmiany muszą zostać w całości zatwierdzone albo odrzucone, aby w przypadku awarii (np. zaniku zasilania) system plików pozostał spójny.
  • System plików – metoda przechowywania plików, zarządzania plikami, informacjami o tych plikach, tak by dostęp do plików i danych w nich zgromadzonych był łatwy dla użytkownika systemu; także: wolumin.Baza danych – zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego programu komputerowego specjalizowanego do gromadzenia i przetwarzania tych danych. Program taki (często pakiet programów) nazywany jest „systemem zarządzania bazą danych” (ang. database management system, DBMS).




    Warto wiedzieć że... beta

    Compare-and-swap, CAS (porównaj-i-zamień) – w informatyce, operacja atomowa stosowana w wielowątkowych procesach w celu synchronizacji. Jej działanie polega na porównaniu zawartości pewnej lokacji w pamięci z zadaną wartością a następnie, jeśli obie wartości są równe, jej zmodyfikowaniu do nowej wartości. Niepodzielność operacji zapewnia, że nowa wartość jest wyznaczona na podstawie aktualnych danych. Jeśli wartość zostałaby w międzyczasie zmodyfikowana przez inny wątek to zapis by się nie powiódł. Wynik operacji musi wskazywać, czy działanie zapisu zostało wykonane czy nie. Może to być prosty typ logiczny lub zwracanie wartości odczytanej z podanej lokacji (lecz nie zapisanej).

    Reklama

    Czas generowania strony: 0.011 sek.