środa, 23 sierpnia 2017

Roboty i wnioski dla nas 38

Roboty i wnioski dla nas 38
 W Polsce nie opłaca się stosować w przemyśle robotów ponieważ niskie są płace alternatywnych pracowników.
Właściwy poziom płac w gospodarce jest niezwykle ważny ! Decyduje on o inwestycjach i procesach modernizacyjnych decydujących z kolei o produktywności pracy. Gdy pracodawcy mają za silną pozycje wzgledem pracowników to płace stagnują i nie opłaca się modernizacja technologiczna - tak jak w Polsce. Gdy pracownicy mają za silną pozycje potrafią bez umiaru doić firmy, które tracą konkurencyjność a w końcu bankrutują. Zauważmy że w obu przypadkach za małe są inwestycje. W pierwszym przypadku choć firma ma pieniądze, nie ma po co inwestować a w drugim przypadku nie ma z czego inwestować w wydojonej firmie. Istnieje więc poziom płac przy którym inwestycje osiągają maksimum.  Toteż w krajach cywilizowanych wypracowano systemowe rozwiązania zapobiegające takim niebezpiecznym, skrajnym, patologicznym sytuacjom. System gospodarczy musi mieć wbudowane mechanizmy wiążące wzrost wynagrodzeń i wzrost produktywności.    
Ważną rolę do odegrania mają uczciwe i przytomne związki zawodowe. Destruktywne, mafijne związki zawodowe ( jak w polskim górnictwie ) muszą być zwalczane ogniem i mieczem.
Obecnie rzekomo w Polsce brak pracowników hamuje rozwój firm a problemy kadrowe ma już ponad połowa firm ale płace nadal rosną wolno lub stagnują. Bez owijania w bawęłne - Pracowników nie brakuje, brakuje chętnych niewolników !

Jak rządy mogą pomóc gospodarce ? Czy przykładowo polityka wspierania małych i średnich firm jest sensowna i może coś dobrego dać ? Jak to już wielokrotnie podnoszono w krajach cywilizowanych wielkie koncerny modernizują i organizują całą gospodarkę wokół siebie. Jeśli zgłaszają one popyt na określone usługi to rząd żadnym małym i średnim firmom nie musi pomagać, one powstaną same z siebie bo jest popyt i duży pieniądz do zarobienia. Wystarczy że rząd tym małym i średnim firmom nie będzie przeszkadzał choćby nękając je wiecznymi kontrolami i biurokracją. Co da pomoc małym i średnim firmom gdy brak jest koncernów w systemie ? Da niepotrzebnie wysokie zatrudnienie w tych firmach i spadek (!) a nie wzrost produktywności ! Pomoc rządu była szkodliwa !  
Nasz mały demograficznie pólnocny sąsiad ma koncerny światowe a Polska nie ma ani jednego ! Tu jest cały problem. Polska gospodarka jest tylko niesamodzielnym podwykonawcą dla zachodu !

Do servomechanizmów jeszcze wrócimy.

Problem z obsługą przerwań w komputerach pojawił się już na początku lat sześćdziesiątych.
W uproszczeniu - we współczesnych systemach operacyjnych - ‌Linux, Unix, macOS, Microsoft Windows... obsługa przerwań jest podzielona na dwie fazy:
-First Level Interrupt Handler (FLIH) czyli szybki i prosty handler "sprzętowy" reagujący na przychodzące fizyczne przerwanie od peryferiów. Ma on tylko momentalnie zareagować na przychodzące przerwanie i zapisać minimum niezbędnych, krytycznych informacji aby później dokończyć zadanie obsługi przerwania.
-Second Level Interrupt Handlers (SLIH) czyli wolny handler wykonujący pod kontrolą systemu operacyjnego dalszą część zadania obsługi przerwania. W Windows system nazwany jest Deferred Procedure Calls czyli DPC.

FLIH w momencie przyjścia przerwania przerywa aktualnie wykonywane zadanie ( przełącza kontekst ) powodując w uruchomionym procesie zakłócenie zwane jitter. Z tego względu czas obsługi winien być naprawdę krótki aby zakłócenie było zawsze zupełnie nieszkodliwe. Zresztą nie ma tam specjalnie co robić. Liczne przykłady handlerów są w sieci i każdy może je przeanalizować. W systemie Windows czas obsługi FLIH  nie powinien przekraczać 20us. Wymaganie jest liberalne. Biorąc po uwagę szybkość pracy współczesnych procesorów czas ten może być wielokrotnie mniejszy. 
Jądro systemu operacyjnego w odpowiedzi na okresowy sygnał systemowego Timera ( na przykład co 1 ms ) uruchamia według swojego priorytetu-widzimisie (!) handlery SLIH , które mają dokończyć zadania obsługi przerwań. Czas obsługi nie powinien przekroczyć 100 us. Zwróćmy uwagę że przy teoretycznym zbiegu wielu przerwań przykładowy czas 1 ms może być za krótki. Zachodzi pytanie czy w takim razie w ogóle nieobsłużone przerwanie system ma obsłużyć jako pierwsze w następnym (albo kolejnym) timer ticku czy je teraz zlekceważyć. Co zrobić z handlerem niskiego priorytetu który jeszcze działał gdy nadszedł kolejny timer tick i trzeba uruchomić handler o wysokim priorytecie ? Złe obsługiwanie przerwań daje przykładowo zakłócenia w streamingu audio czy drop-outy w video, czyli dźwięk albo obraz się zacina. 

Bezpłatny program "DPC Latency Checker", www.thesycon.de/eng/free_download.shtml, pokazuje nam na bieżaco konsumpcje czasu procesora przez przerwania i zdolność czasu rzeczywistego systemu. "The DPC Latency Checker tool determines the maximum DPC latency that occurs on your Windows system and thus enables you to check the real-time capabilities of your computer ".
Na komputerze na którym powstaje ten tekst, testowy "Test Interval" wynosi 976 us zaś w kolejnych okresach pomiaru Latency czyli opóźnienie wynosi 20-150 us. Gdy są jakieś problemy możemy powyłączać obsługę róznych driverów ( szczegółowe instrukcje są dostępne w sieci ) i usług działających w tle i ustalić jakie urządzenie źle działa. Jak mieliśmy urządzenie z programem zrobionym przez indyjskich nawijaczy makaronu na uszy to trzeba je niestety wyrzucić. Warto stosować oryginalne i aktualne sterowniki, upewnić się że funkcja HPTE oszczędzania energii nie czyni zakłóceń. Funkcje C1E / C2 / C4 procesora mogą nie działać prawidlowo na konkretnej konfiguracji sprzętowej. ITD.
Po obserwacji wykresu można dojść do wniosku że Windows jest systemem czasu rzeczywistego. Uzbrojmy się w ciepliwość... Działa jak należy... Ale to nie jest ostatnie słowo systemu Windows. Po dniu obserwacji mamy incydent ca 40000 us. Wokół incydentu coś się działo.
Program Latency Mon ( http://www.resplendence.com/downloads ) podaje czas wykonania dla każdego procesu i drivera systemowego. Pozwala znaleźść przyczynę ale niestety nie zawsze.
Wyłączamy co tylko się da. Obciążenie systemu spadło ale te makabryczne zakłócenia nadal rzadko występują. Możemy "goły" system zainstalować na dwóch zupełnie różnych różnych komputerach i te zakłócenia ca "40000 us" nadal występują co rodzi podejrzenie że tajną akcje podejmuje sam z siebie system Windows. Po każdej takiej akcji "40000 us" albo pojawia się nowy ukryty "plik" albo powiększany jest istniejący. Szum jest zawartością tego pliku to znaczy że jest on zaszyfrowany. Rodzi się podejrzenie ze system Windows szpieguje użytkowników i plik przy okazji innego transferu zostanie siecią gdzieś wysłany.
Microsoft w odpowiedzi na zapytanie czy reklamacje, tradycyjnie odpowiada po prostu że system Windows NIE jest systemem czasu rzeczywistego co jest wyraźnie podane i reklamacja nie może zostać uwzględniona. Na pytanie co zawiera zaszyfrowany plik nie dostajemy odpowiedzi.
W Chinach w 2014 roku stwierdzono że Windows 8 jest niebezpieczny, w związku z czym kategorycznie zabroniono jego używania w administracji. Tam gdzie już był zainstalowany polecono trwałe wymazanie dysku. Kreml zamierza zabronić rosyjskiej administracji korzystania z niebezpiecznych Windowsów.

Żadnych tajnych akcji nie podejmuje system Linux ale nie wszystkim profesjonalnym nabywcom się on podoba i nie wszyscy go znają.
W wielu zastosowaniach czasu rzeczywistego drogą komplikacji programu możemy przełknąć tajną akcje systemu Windows zajmującą komputer na 40ms (!) ale niestety nie w przypadku maszyn CNC i robotów.

2 komentarze:

  1. Proszę to zebrać jako książkę w PDF. Swietny poziom

    OdpowiedzUsuń
    Odpowiedzi
    1. Witam Cenna sugestia. Niedługo będzie zrobione.

      Usuń