Jednolity System Elektronicznych Maszyn Cyfrowych (JS EMC, Riad) – systemy komputerowe, opracowywane i produkowane przez kraje RWPG w latach 1970–1991.
lecz posiadały jednakową architekturę logiczną, czyli działały według jednakowych zasad. Dzięki temu charakteryzowały się:
wymienialnością oprogramowania pomiędzy różnymi jednostkami centralnymi,
wykorzystaniem wspólnego zestawu urządzeń wejścia-wyjścia.
Wyjątkiem były minikomputery zgodne jedynie na poziomie danych.
Wszystkie urządzenia JS EMC działały w oparciu o kod EBCDIC, umożliwiający reprezentację 256 znaków (litera, cyfra, znak graficzny, znak specjalny, znak sterujący). Jeden znak zajmował 8 bitów.
służyły do sterowania i kontrolowania procesu przesyłania danych z pamięci operacyjnej do urządzeń we-wy i w kierunku odwrotnym
za pomocą systemu przerwań umożliwiały równoległą pracę różnych urządzeń zewnętrznych
umożliwiały jednoznaczne adresowanie urządzeń
występowały najczęściej w dwóch typach:
multiplexorowym – umożliwiającym podłączenie urządzeń zewnętrznych o niskiej prędkości przesyłanych danych (urządzenia kart i taśmy perforowanej, konsole operatorskie, drukarki)
selektorowym – sterującym pracą urządzeń zewnętrznych wymagających dużej prędkości przesyłania danych (magnetyczne pamięci zewnętrzne na dyskach i taśmach). Najczęściej kilka takich urządzeń było podłączonych do kanału selektorowego za pomocą grupowego kontrolera.
Komputery składały się z modułów podzielonych na 3 poziomy zależnie od złożoności i funkcji:
1 poziom
Płytka drukowana o szerokości 140 i długości 150 mm z dwoma, żeńskimi złączami pośrednimi na płytce. Przy druku dwustronnym na płytce mieściło się do 40, a przy wielowarstwowym do 72 układów scalonych[2]. W komputerze R-32 zastosowano moduły podwójnej szerokości.
Stanowi nieodłączną część systemów komputerowych. Spełnia rolę pośrednika między użytkownikiem a sprzętem i bibliotekami programów (tzw. zasobami systemu).
Zasadnicze zadania systemu operacyjnego to:
automatyzacja tworzenia, kodowania, sprawdzania i wykonywania programów realizujących żądane algorytmy
kontrola i optymalizacja wykorzystania zasobów systemu
automatyzacja przepływu zadań użytkownika w systemie
automatyzacja czynności operatorskich
identyfikacja i ochrona zbiorów danych
System operacyjny tworzą programy, które można sklasyfikować w dwie grupy:
Programy sterujące, w skład których wchodzi:
główny program koordynujący (Master Scheduler) – sterujący wszystkimi operacjami w kombinacji system komputerowy-system operacyjny;
koordynator przebiegu zadań (Job Scheduler) – wprowadzający do systemu opisy zadań przeznaczonych do wykonania, planujący i inicjujący ich wykonanie pod kontrolą supervisora;
programy metod dostępu do zbiorów danych, sterujące wymianą informacji między pamięcią operacyjna a urządzeniami wejścia-wyjścia;
supervisor wejścia-wyjścia planujący i inicjujący operacje wejścia-wyjścia oraz obsługujący przerwania wejścia-wyjścia;
główny program nadzorczy – supervisor, nadzorujący podział zasobów systemu w trybie pracy wieloprogramowej.
asembler (język maszynowy, o przeznaczeniu uniwersalnym);
PL/I (język do przetwarzania danych, o przeznaczeniu uniwersalnym);
FORTRAN, Algol (języki do zastosowań naukowo-technicznych);
COBOL, RPG (języki do zastosowań ekonomiczno-handlowych).
Programy serwisowe:
program łączący (LINK) i program ładujący (LOADER);
program sortowania zbiorów danych;
programy pomocnicze (głównie do przenoszenia zbiorów danych z jednego nośnika na drugi).
System OS/JS zawiera środki generowania pozwalające użytkownikowi na przystosowanie systemu otrzymanego od producenta do efektywnej pracy na konkretnym zestawie urządzeń.
Wersje systemu operacyjnego
MFT (Multiprogramming with a fixed number of tasks) – konfiguracja wieloprogramowa ze stałą liczbą akcji. Wymagał co najmniej 128 KB pamięci operacyjnej, pozwalając na równoległe przetwarzanie 15 zadań i w ramach nich 15 kroków.
MVT (Multiprogramming with a variable number of tasks) – konfiguracja wieloprogramowa ze zmienną liczbą akcji. Wymagał co najmniej 256 KB pamięci operacyjnej, pozwalając na równoległe przetwarzanie 15 zadań i w ramach nich dowolnej liczby kroków.