Co to jest POSIX?
Przenośny interfejs systemu operacyjnego dla środowisk obliczeniowych (PUX®) to zestaw standardów i specyfikacji, które definiują sposoby interakcji programów komputerowych z systemem operacyjnym. Aplikacje zgodne z tymi standardami można łatwiej przenieść na inne platformy, które również obsługują specyfikacje. Specyfikacje te zostały oficjalnie przyjęte na arenie międzynarodowej i stały się wymagane przez niektórych specjalnych klientów w dziedzinie rządu, obrony i lotniczej. Istnieją różne poziomy zgodności z rodziną standardów, na które duży wpływ miała projekt platformy UNIX®.
Podjęto wiele prób zmniejszenia trudności w opracowaniu oprogramowania dla więcej niż jednej platformy komputerowej. Różnice w projektowaniu systemów operacyjnych, dostępnych językach programu i sprzęcie tworzą problemy z kompatybilnością, które nie są łatwo przezwyciężone. Istnieje wiele różnych opinii na temat tego, jak najlepiej sprostać wyzwaniom obliczeń międzyplatformowych.PUX® przyjmuje podejście oparte na regułach, które reguluje sposób interakcji aplikacji z ich podstawową platformą, a także nakazuje włączenie kilku narzędzi. Reguły te dotyczą zarówno aplikacji, jak i systemów operacyjnych i zapewniają standardowy sposób komunikacji między nimi.
Celem POSIX® jest zapewnienie czegoś znanego jako przenośność kodu źródłowego. Kod źródłowy, czytelna ludzka wersja programu komputerowego używanego do tworzenia aplikacji, jest „skompilowana” do kodu maszynowego, który może być zrozumiany przez mikroprocesory we wszystkich komputerach. Różne procesory zawierają różne typy kodu maszynowego; Oznacza to, że program musi być napisany nie tylko z myślą o systemie operacyjnym, ale z konkretnym sprzętem, na którym będzie uruchomiony program. Przenośność kodu źródłowego oznacza, że kod źródłowy programu można skompilować dla różnych platform z niewielką lub żadną efektemt, zwiększając wydajność ponownego użycia istniejącego kodu niż odtwarzanie programu od zera.
Wiele dużych organizacji, które kupują szeroką gamę sprzętu i oprogramowania, przyczyniło się do postrzegania rodziny standardów Posix® jako ważnej lub nawet niezbędnej funkcji kupowanych przez nich produktów. Institute of Electrical and Electronics Engineers (IEEE), Międzynarodowa Organizacja Standaryzacji (ISO) i Międzynarodowa Komisja Elektrotechniczna (IEC) poparli standardy PUX® jako IEEE 1003 i ISO/IEC 9945. Ta międzynarodowa adopcja spowodowała popularność standardów wśród klientów rządowych. Niektórzy klienci wojskowej i lotniczej wymagają standardów, aby ułatwić dostosowanie aplikacji do wyspecjalizowanych platform komputerowych używanych w tych dziedzinach. Na przykład marynarka wojenna Stanów Zjednoczonych włączyła standardy do swojego otwartego środowiska obliczeniowego architektury, inicjatywy, której celem jest utrzymanie interoperacyjności w oprogramowaniu, które napędza okręty wojenne, bezzałogowepojazdy powietrzne i podwodne.
Posix® to rodzina powiązanych standardów, a nie jedna specyfikacja. Niektóre są dobrze wspierane, a inne nie. Istnieją również różne poziomy wsparcia, a „dostosowują” oprogramowanie, które ściśle przestrzegają standardów, a „zgodne” produkty wspierają tylko niektóre z nich. Wiele specyfikacji PUX® oparto na systemach operacyjnych UNIX®, więc wiele platform podobnych do UNIX® i UNIX® obsługuje standardy poza pudełkiem. Niektóre inne platformy obsługują IEEE 1003 za pomocą dodatkowego oprogramowania.