Elbrus-besturingssysteem. Een korte recensie van Elbrus OS

BOOT gestart. BOOT E2S VERSIE: release-2.13.3.0-E2S::::::: (/tags/release-2.13.3.0-E2S bij revisie 3816) GEBOUWD DOOR neo TARGET: mono OP 2 november 2015 om 18:05:37 COMPILER : lcc:1.17.12:27-nov-2012:e2k-linux.cross:i386-linux Onderwerpmodel: posix gcc versie 3.4.6 compatibel. VLAGGEN: -DDEBUG_TEST_BOOTBLOCK ........ -DRELEASE ........
Door op de spatiebalk te drukken wanneer daarom wordt gevraagd (45 seconden nadat de stroom is ingeschakeld), kunt u het proces afbreken automatisch downloaden systeemkernel en ga naar het hoofdopdrachtenmenu, waar ze worden weergegeven of gewijzigd basisparameters bootlader. Door op de Tilde-toets te drukken, kunt u vanuit dit menu naar de interface gaan opdrachtregel, indien beschikbaar fijnafstemming apparatuur - van het instellen van de datum en tijd tot het instellen van de bedrijfsmodi van randcontrollers en systeem bus. Hoewel er een optie in het menu is om instellingen geforceerd op te slaan, worden wijzigingen vanaf de opdrachtregel automatisch opgeslagen; V als laatste redmiddel, kunnen de instellingen worden gereset met behulp van een jumper op het moederbord.

Log werk in systeemmenu (geheel op Pastebin)

BOOT SETUP Druk op de opdrachtletter of druk op "h" om hulp te krijgen: h HELP "p" of "s" - laad en start bestand "c" - Wijzig opstartparameters "u" - toon huidige parameters "d" - toon schijven en partities "m" - sla params op in NVRAM "b" - start het Boot.conf-menu "`", "~" - ga naar de verbeterde cmd-modus:` VERBETERDE CMD-MODUS Voer de opdracht in, "help" om hulp te krijgen, of Esc om af te sluiten # set vga primair 1 core: 0x0, link: 0x0, bus: 0x3, slot: 0x0, func: 0x0, ven: 0x1002, dev: 0x6779, rev: 0x0, classcode: 0x30000 is geselecteerd! # boot boot# auto CPU#00: Label "auto" gevonden, parameters laden Probeert de afbeelding te laden en te starten met de volgende parameters: drive_number: "4" partitie_nummer: "0" command_string: "console=tty0 root=/dev/sda3 ......." bestandsnaam: "/boot/image-033.6.57" initrdbestandsnaam: "" CPU#00: Lezen: Bestand - "/boot/image-033.6.57", Schijf - 4, Partitie - 0 ........
Opmerkelijk is onder meer de mogelijkheid om de Echelon-E vertrouwde opstarthardware-softwaremodule te activeren en te deactiveren, hoewel er geen bord op de computer is geïnstalleerd dat lijkt op traditionele APMDZ. Het was niet mogelijk om duidelijke informatie over een dergelijk apparaat te vinden, met uitzondering van één opmerking waarin stond dat dit een gespecialiseerde versie is van het MDZ-Echelon-product, dat volledig is software ontwikkeling en maakt gebruik van standaard computerhardware.

Rechtstreeks vanaf de opdrachtregel, zonder het besturingssysteem te laden, kunt u tests uitvoeren voor de juiste werking van de apparatuur (systeem van test- en diagnoseprogramma's) - ofwel de programma's die op schijf zijn opgeslagen en beschikbaar zijn voor lancering vanuit het besturingssysteem, of sommige anderen: Ik kon er niet achter komen, omdat je de exacte naam moet opgeven uitvoerbaar bestand en er is geen documentatie.

Om dezelfde reden - vanwege het ontbreken van de juiste documentatie - was het niet mogelijk om je te verdiepen in de fijne kneepjes van het beheer van de bootloader van het besturingssysteem, of preciezer gezegd, hoe je iets anders laadt dan standaard systeem. Hier wordt immers dezelfde bootloader (SILO) gebruikt als op computers met de SPARC-architectuur - en daar mag het niet werken met een buitenlandse reeks instructies. De opstartparameters zelf zijn intuïtief: u moet het partitienummer en de bestandsnaam opgeven met de systeemkernel, evenals de kernelstartargumenten en de naam van het archiefbestand ondersteunende programma's (begin, indien nodig), time-out voor het wachten op annulering door de gebruiker. Deze parameters worden uit het bestand gelezen /boot/boot.conf in de eerste schijfpartitie gespecificeerd vanaf de opdrachtregel; Er kunnen standaard meerdere sets parameters in het bestand worden gedefinieerd; de parameter die in de richtlijn is opgegeven, wordt gebruikt standaard, of die de naam krijgt “ auto" Maar wat moet er worden gedaan om besturingssystemen te laten draaien voor de x86- of x86-64-architectuur, waarvan de transparante ondersteuning wordt genoemd als een van de belangrijkste kenmerken van Elbrus? Ontbrekend bestand boot.conf bij installatie Windows-schijf of een populaire Linux-distributie kan worden gecompenseerd door handmatige invoer via het menu. Hoe kan ik de besturing overbrengen naar een nieuwe bootloader die niet de Linux-kernel is? Hoe kan ik op zijn minst de Linux-kernel uitvoeren als deze voor x86 is? Het was onmogelijk om dit uit te zoeken zonder documentatie: de zaak eindigde steevast in een bevriezing op het moment dat de controle overging van de bootloader naar de kernel.

Standaard bootloaderconfiguratie (boot.conf)

Standaard=auto time-out=3 label=auto partitie=0 image=/boot/image-033.6.57 cmdline=console=tty0 console=ttyS0,115200 consoleblank=0 hardreset REBOOT root=/dev/sda3 video=DVI-D-1 :1024x768-24@60 video=VGA-1:1024x768-24@60 fbcon=kaart:10
Wat de standaardkernels van het Elbrus-besturingssysteem betreft, bevat het bootloader-configuratiebestand slechts één set parameters, en deze verwijzen naar de standaardkernel. Daarnaast zijn er twee kernels - met de achtervoegsels " n" En " rt": afgaande op de assemblageconfiguratie van deze kernen betekent de eerste "geen NUMA" (een vereenvoudigde versie voor systemen met één processor; waarom niet persoonlijke computer zou je het niet moeten gebruiken?), en de tweede is “real time” (uitbreidingen op de Linux-kernel voor het verzenden van taken met een tijdslimiet). Zonder zelfs maar oppervlakkige kennis op deze gebieden vindt de auteur het moeilijk om commentaar te geven over de voor- of nadelen van deze of gene alternatieve kernel.

Wat betreft PPS- en PTP-ondersteuning

De enige bekende configuratieoptie is het inschakelen van PPS API-ondersteuning (pulse per seconde) in de kernel." rt", waarmee je de koers kunt aanpassen systeem klok computer op basis van een externe klokpuls, bijvoorbeeld van een GPS/GLONASS-ontvanger of van een cesiumklok, als u er toevallig een heeft liggen. Het is gewoon niet duidelijk hoe deze synchronisatie precies moet worden opgezet: in tegenstelling tot bijvoorbeeld FreeBSD, waar alles als vanzelf begint te werken na het opnieuw opbouwen van de kernel met de vereiste parameter en het opnieuw configureren van NTPd om systeemdiscipline te gebruiken, vereist dit in Linux meestal dansen met een tamboerijn rond het hulpprogramma vastmaken, dat een virtueel PPS-apparaat creëert op basis van een COM- of LPT-poort - hiervoor zijn geschikte stuurprogramma's in de kernel of in afzonderlijke modules nodig, maar deze zijn hier niet zichtbaar.

De ingebouwde netwerkkaart vertoonde ook geen tekenen van hardwareondersteuning voor tijdsynchronisatie: hulpprogramma-uitvoer ethtool met betrekking tot het PTP-protocol gaf de afwezigheid aan soortgelijke functies. In ieder geval - dat bij gebruik van de standaardkernel, die realtime is, de enige bron van systeemtijd het apparaat is " Het"("Elbrus-timer"?) met een resolutie van 1 μs. Niet dat het te onbeleefd is, maar moderne computers Het is heel goed in staat om kwantisering te bieden op het niveau van 25-50 ns, ongeacht de huidige processorfrequentie.


Standaard start het besturingssysteem samen met de grafische omgeving: het duurt 12 seconden om de kernel in het geheugen te laden en nog ongeveer 23 seconden voordat de inlogprompt verschijnt - in totaal 80 seconden vanaf het moment dat de kernel wordt ingeschakeld. Zoals eerder vermeld, konden we geen kernelargumenten selecteren om in de modus voor één gebruiker te draaien: bij het opgeven van “ S" of " 1 » het systeem heeft nog steeds niveau 5 bereikt en probeert daarna het niveau te verlagen met behulp van het commando begin leidde tot de ineenstorting van het systeem.

Omdat de computer twee videoadapters heeft, worden de virtuele terminals op hun beurt verdeeld: de eerste terminal wordt geopend op een discrete kaart, de tweede - op de ingebouwde controller, de derde - opnieuw op een discrete kaart, enzovoort. De grafische desktop, die zich op de zevende terminal bevindt, komt zo op een discrete videokaart terecht, waarvan de prestaties geen vragen oproepen. Ik wilde heel graag controleren hoe responsief de desktop zou zijn als ik deze zou weergeven via de ingebouwde controller, omdat binnenlandse platforms hier problemen mee hebben: bijvoorbeeld door simpelweg het scherm opnieuw te tekenen met behulp van de module grafische adapters (eigen ontwikkeling MCST) kan enkele seconden duren - niet alleen langzaam, maar bijna zoals het regel voor regel uiterlijk van de screensaver in games voor de ZX Spectrum geladen vanaf een tapecassette. Helaas, geen bewerking Xorg.conf in een afbeelding en gelijkenis gaven noch de selectie van kernelargumenten, noch de wijziging van de primaire videoadapter in de hardware-instellingen het gewenste effect.

Een merkwaardige nuance

Terwijl het primaire scherm op een afzonderlijke grafische kaart wordt geïnitialiseerd in tekstmodus, wordt hetzelfde scherm op een ingebouwde controller geïnitialiseerd in grafische modus en worden 4 CPU-logo's weergegeven (zoals sommige Linux-kernels doen direct nadat ze zijn gestart), maar gebruikt nog steeds alleen de bovenste 25 regels tekst.


Standaard wordt de kernel gestart met het argument " harde reset", waarmee het systeem wordt geïnstrueerd een complete harde reset bij het opnieuw opstarten van de computer. In de x86-wereld is iedereen aan deze optie gewend, maar alternatieve platforms, waarbij koude initialisatie na het opstarten enkele minuten duurt, kunnen een snelle herstart van het besturingssysteem bieden - en het werkt echt, in tegenstelling tot de "loterij" met kexec van Intel/AMD. We konden geen argument vinden dat door de kern van het Elbrus-systeem zou worden ondersteund en tegelijkertijd zou worden gegeven gewenst resultaat.

Software

Het Elbrus-besturingssysteem (El OS, OSL) is standaard voor alle MCST-computers, hoewel de MSVS 3.0-systeempoort ook op het SPARC-platform kan functioneren. Officieel systeem identificatie van softwareproducten gaat terug naar hun decimale getallen: “OS 316‑10” staat bijvoorbeeld voor “besturingssysteem TVGI.00316‑10 met de kernel TVGI.00315‑03, dat deel uitmaakt van de algemene software TVGI.00311-05". Aan de ene kant lijkt het meer alfanumeriek titels dan op serienummers versies. Aan de andere kant is een bepaald softwareproduct meestal nauw verwant aan een specifiek hardwareproduct en ondergaat het tijdens zijn levensduur geen significante veranderingen. Echter, in het bestand /etc/mcst_version je kunt de tag “release 2.2.1” zien, en in het pseudo-bestand /proc/bootdata- “versie 2.13.3.0”. Geen van deze symbolen verschijnt echter in de gebruikersinterface.

$ cat /etc/mcst_version release 2.2.1 $ cat /proc/bootdata boot_ver=" release-2.13.3.0-E2S::::::: (/tags/release-2.13.3.0-E2S bij revisie 3816) gebouwd op 2 november 2015 om 18:05:58" mb_type="MONOCUB" chipset_type="IOHUB" cpu_type="E2S" cache_lines_damaged=0 $ cat /proc/version Linux versie 2.6.33-elbrus.033.6.57 (gavrilova_tg@e2k13) (compatibel met gcc versie 4.4.0) #1 SMP zo 11 okt 00:10:58 MSK 2015 $ uname -a Linux MONOCUB-10-XX 2.6.33-elbrus.033.6.57 #1 SMP zo 11 okt 00:10: 58 MSK 2015 e2k E2S MONOCUB GNU/Linux
De kern van het systeem is Linux 2.6.33, geporteerd naar de Elbrus-2000 (E2K) architectuur, en in het algemeen is het systeem gebaseerd op de Debian-distributie met een selectieve benadering van de selectie van pakketten: voor het grootste deel is er sprake van compliance met versie 7.0 “Wheezy” of nieuwer. De versies van sommige pakketten liggen echter dichter bij 5.0 "Lenny". Volgens een recent rapport (PDF, 172 KB) wordt er ook onderzoek gedaan om de originele distributie met al zijn verscheidenheid aan pakketten rechtstreeks over te zetten, maar wordt dezelfde “Grootvader Lenin” als basis gekozen. En dat allemaal omdat het noodzakelijk is om te voorzien achterwaarts compatibel met applicatie- en systeemsoftware ontwikkeld voor nog oudere versies van bibliotheken en compilers. Maar waarom zouden we dan niet meerdere versies van het systeem uitbrengen – op een oudere en een nieuwere pakketbasis – zodat de consument zelf kan kiezen? Waarschijnlijk omdat er niet genoeg vraag van buitenaf is doelgroep, en certificeringsproblemen spelen waarschijnlijk een belangrijke rol.

Eenmaal geïnstalleerd systeem is niet onderhevig aan regelmatige updates vanuit de officiële repository van het MCST-bedrijf en bevat onmiddellijk alle beschikbare pakketten. Hier zijn de versies van enkele van de belangrijkste (met uitzondering van de ontwikkelingstools die in het volgende deel van het artikel worden besproken):

  • kantoorhulpmiddelen: abiword 2.8.6, evince 2.32.0, geeqie 1.1, gimp 2.6.12, gnumeric 1.10.0, graphviz 2.32.0, mtpaint 3.40, xsane 0.998;
  • Internethulpmiddelen: dillo 3.0.3, Firefox 3.6.28, links 2.2, Linphone 3.5.2, lynx 3.81, Thunderbird 3.1.20, sylpheed 2.7.0;
  • cryptografie: gnutls 3.1.22, openssl 0.9.8zc, openvpn 2.2.2;
  • multimedia: ffmpeg 1.0, mplayer 1.1.1;
  • teksteditors: ed 1.7, leafpad 0.8.17, vim 7.3 + gvim 7.3;
  • bestandsbeheerders: mc 4.7.0.8, thunar 1.4.0;
  • opdrachttolken: bash 4.2.53, pdksh 5.2.14, tcsh 6.18.01, zsh 5.0.2;
  • diensten: openssh 6.1p1, httpd 2.4.3, postgresql 9.2.3 + slony1 2.2.0, zeromq 2.1.11;
  • pakketbeheerders: apt 0.9.7.9, aptitude 0.6.8.2, dpkg 1.16.10, pkgtools 13.1.
Er zijn in totaal 679 vermeldingen in de pakketbeheerder, wat tientallen keren kleiner is dan de oorspronkelijke Debian-pool, maar er moet rekening mee worden gehouden dat niet alle daadwerkelijk geïnstalleerde software is verpakt: het systeem heeft bijvoorbeeld daadwerkelijk een virtuele machine en een Java-ontwikkelkit, maar de pakketbeheerder weet ik hier niet van.

De enige grafische desktopomgeving is Xfce 4.10. Verrassend genoeg zijn in het binnenlandse besturingssysteem nieuw gemaakte gebruikersprofielen standaard ingesteld op de Engelse interfacetaal, en in het programmamenu zijn er geen snelkoppelingen voor het instellen van wisselende toetsenbordindelingen, en de huidige lay-outindicator is ook nergens te bekennen. Ervaren gebruikers weten echter dat binnenlandse op Linux gebaseerde besturingssystemen meestal de “beste” tradities van Windows proberen te kopiëren: werken als root en schakelen tussen lay-outs met Alt+Shift.

Xfce-bureaublad (weergave bij benadering)

Update gedateerd 02/09/2016. De opmerkingen suggereren dat er een screenshot-functie in zit grafische editor GIMP, - een terechte opmerking, maar hiervoor moet je dat wel zijn ervaren gebruiker dit programma; de auteur, hoewel hij alle illustraties voor dit artikel in GIMP heeft verwerkt, behoort niet tot die experts. Wat betreft het maken van schermafbeeldingen met behulp van opdrachtregelhulpprogramma's, die standaard beschikbaar zijn of onafhankelijk zijn gebouwd, werd deze methode niet overwogen vanwege de lage vriendelijkheid voor de gemiddelde gebruiker.

Zoals eerder vermeld, konden we geen besturingssysteem van derden lanceren dat voor de x86- of x86-64-architectuur was gecompileerd vanwege een gebrek aan documentatie. Pogingen om Elbrus rechtstreeks vanaf de opdrachtregel te starten aangepaste toepassing, gecompileerd voor Linux x86-64, waren ook niet succesvol. Er is geen WinAPI-emulatielaag en geen manier om PE-binaire bestanden in het systeem te starten, maar om WinE zelf te compileren bronteksten, is het noodzakelijk om architectuurafhankelijke codegedeelten te porten. Qemu-emulator ook niet standaard meegeleverd, maar min of meer succesvol gemonteerd (met parameters ‑‑enable-tcg-interpreter ‑‑disable-fout) en het lijkt zelfs in varianten te werken i386-softmmu, x86_64-softmmu, sparc-zachtmmu, sparc64-softmmu; porten is echter vereist voor "applicatie" -varianten *-linux-gebruiker. Het is duidelijk dat de makers van de binaire vertaaltechnologie van Elbrus dit niet in gedachten hadden toen ze het hadden over x86-hardware-emulatie, dus we zagen geen zin in het testen van de prestaties van Qemu - en het is duidelijk dat het traag en triest zou zijn.

Terugkerend naar het onderwerp standaardsoftware durven we te suggereren dat het onwaarschijnlijk is dat een gemiddelde gebruiker van dit systeem zich tekortgedaan zal voelen, aangezien hij problemen zal moeten oplossen in gespecialiseerde programma's ontwikkeling door derden, of maak eenvoudige documenten in kantoorpakketten, scannen en printen - en daarvoor hebben maar weinig mensen het meeste nodig nieuwste versies. De enige uitzondering hier is misschien de webbrowser: de eenvoudigste Dillo en tekst Lynx / Links pretenderen niets te zijn, maar Firefox 3.6 is, hoewel niet 1.5 van WSWS 3.0, maar nog steeds hopeloos oud voor moderne sites. Deze versie wordt bijvoorbeeld niet ondersteund door Yandex en Google maps (in tegenstelling tot OSM en Bing), Google Docs; je ziet alleen de header van de websites Intel, Mail.ru en Sberbank. En natuurlijk bij gebrek aan native ondersteuning voor HTML Video en Flash-plug-in je zult de video’s op geen enkele site kunnen bekijken, of het nu buitenlandse YouTube is met een rapport over de lancering van Doom 3 op de Elbrus 401‑PC of het ideologisch trouwe Kremlin.ru met toespraken van de opperbevelhebber. Blijkbaar wordt dit ook niet als een nadeel beschouwd, aangezien typisch scenario gebruik van dergelijke computers - toegang tot interne, speciaal ontworpen sites in gesloten netwerk bedrijven of afdelingen.

Pogingen om toegang te krijgen tot internet(het woord “Namoroka” in de schermafbeeldingen is niet de zoveelste rebranding van Firefox voor Debian, maar slechts een codenaam voor versie 3.6)

Maar een software-update dient niet alleen om de functionaliteit uit te breiden, maar elimineert ook ernstige fouten en kwetsbaarheden - wat te doen hiermee? Blijkbaar ideologen informatiebeveiliging denk dat eens externe toegang V particulier netwerk Nee, en interne gebruikers met fysieke toegang tot hun computers zullen niet willens en wetens kwaadwillige acties ondernemen of twijfelachtige opslagmedia aansluiten door nalatigheid, dan is er niets aan de hand. Als laatste redmiddel, als een bug je echt zorgen baart en je erover wilt praten, heeft MCST zijn eigen bugzilla met een login en tickets, in die zin dat je zonder de aan jou gegeven login er niet komt, en je alleen maar bekijk uw eigen tickets, zelfs als het probleem al duizend keer met andere klanten is besproken en er al lang een oplossing is gevonden.

Besturingssysteem (OS)- het belangrijkste onderdeel van de software van elk computercomplex (VC). OS is een complex van besturings- en verwerkingsprogramma's, die enerzijds fungeren als interface tussen de apparaten van het computercomplex en applicatieprogramma's, en aan de andere kant - zijn bedoeld voor het besturen van VC-apparaten, computerprocessen, efficiënte distributie van computerbronnen tussen computerprocessen en organisatie van betrouwbaar computergebruik.

Het bedrijf MCST heeft een besturingssysteem voor VK met SPARC- en Elbrus-architectuur gemaakt, onderhouden en voortdurend ontwikkeld Besturingssysteem "Elbrus". Het is gebaseerd op de kernel Linux 2.6.33. Elbrus OS biedt multitasking- en multi-user-modi. Er zijn speciale mechanismen voor het beheer van processen, virtueel geheugen, interrupts, signalen, synchronisatie en ondersteuning voor getagde berekeningen ontwikkeld.

Om de VC uit de Elbrus-serie in een aantal kritische systemen te kunnen gebruiken, is er fundamenteel transformatiewerk verricht Linux-besturingssysteem naar een besturingssysteem dat de real-time modus ondersteunt, waarvoor de huidige optimalisaties in de kernel zijn geïmplementeerd. Terwijl u in realtime werkt, kunt u instellen verschillende modi verwerken van externe interrupts, planningsberekeningen, uitwisselingen met schijfstations en enkele anderen.

Het Elbrus-besturingssysteem bevat basisondersteuningstools voor de gebruikersinterface:

  • Hulpmiddelen ter ondersteuning van de opdrachtregelinterface (dezelfde “console”). Geef de operator de mogelijkheid om met VK in tekstmodus te werken met behulp van een reeks opdrachten en ontvangst sms-berichten van het besturingssysteem en gelanceerde applicaties;
  • Archiveringstools voor het combineren van een aantal bestanden in één enkel archief of een reeks archieven (inclusief datacompressie), wat een gemakkelijke overdracht via communicatiekanalen of opslag garandeert;
  • Hulpmiddelen voor softwareontwikkeling. Het bieden van softwareontwikkeling en ondersteuningsprocessen. Dit zijn assemblers, vertalers, compilers, linkers (linkeditors), assemblers, preprocessors, debuggers, teksteditors, subroutinebibliotheken, versiebeheertools, documentatietools;
  • Hulpmiddelen voor taakplanning: hiermee kunt u aan het besturingssysteem opgeven welke acties, op welk tijdstip en met welke frequentie moeten worden uitgevoerd.

Naast de basistools zijn er een aantal tools in de gebruikersinterface geïntroduceerd die het maken van functionele software ondersteunen.

Ondersteuningstools voor grafische gebruikersinterfaces bevatten basiscomponenten grafisch systeem Xorg, evenals een reeks verschillende ondersteunende bibliotheken, waaronder GTK+ en Qt.

De basis van het besturingssysteem is de bibliotheek. Glibc - (GNUCBibliotheek) - vrij verspreide bibliotheek MET. Biedt systeemoproepen en basisfuncties zoals open, malloc, afdrukkenf enz. Bibliotheek C gebruikt voor alle dynamisch gekoppelde programma's. Glibc gebruikt op systemen met veel verschillende besturingssystemen en op verschillende architecturen. Meestal Glibc gebruikt op x86-machines met besturingssysteem Linux. Architecturen worden ook officieel ondersteund SPARC en "Elbrus".

Bibliotheek glibc, geleverd als onderdeel van het Elbrus OS, is gebaseerd op GNU glibc versie 2.7. Het bestaat uit twee delen:

  • header-bestanden, die typen en macro's definiëren en variabelen en functies declareren;
  • de eigenlijke bibliotheek of archief dat definities van variabelen en functies bevat. Het bestaat uit verschillende bestanden, waarvan de functies worden gecombineerd volgens een bepaald kenmerk (bijvoorbeeld libm.a - een archief met wiskundige functies).

Er is een compacte bibliotheek beschikbaar ter ondersteuning van programma's die in de beveiligde modus worden uitgevoerd. libmcst , dat geheugenfuncties en I/O-ondersteuning biedt op libc core-bibliotheekniveau.

Ingebouwd in de kern van het Elbrus-besturingssysteem een reeks in(ICSI) tegen ongeautoriseerde toegang (NSD). De volledige werking van Elbrus OS KSZI zou het vereiste niveau van informatiebescherming moeten bieden tegen ongeoorloofde toegang bij het exploiteren van VC's als onderdeel van gespecialiseerde geautomatiseerde systemen. ICSI wordt geïmplementeerd met behulp van systeemaanroepen, subroutinebibliotheken en systeemconfiguratie.

KSZI van NSD OS "Elbrus" biedt de mogelijkheid om tools te gebruiken computertechnologie(SVT) serie "Elbrus" als onderdeel van de VK voor het bouwen van geautomatiseerde systemen. In dit geval SVT:

a) voldoen aan de vereisten van de 2e klasse van bescherming tegen NSD van de RD State Technical Commission onder de president van de Russische Federatie;

b) certificering van HIF SVT op het tweede niveau van controle over niet-aangegeven capaciteiten toestaan, in overeenstemming met het KB van de Technische Staatscommissie onder de president van de Russische Federatie

Voor ondersteuning voor bestaande gebruikers gaat door ondersteuning voor Elbrus OS-distributies met kern Linux 2.6.14. Naast Elbrus OS levert en ondersteunt MCST Besturingssysteem WSWS met kern Linux 2.4.25 voor VC "Elbrus-90micro" en OS MSVS met kernel Linux 2.6.14 voor VK "Elbrus-3M1". De Elbrus-90micro VK-serie ondersteunt ook het OS_E90-besturingssysteem op basis van Solaris 2.5.1.

Onder de trotse naam "Elbrus" werd een serie supercomputers uitgebracht, ontwikkeld door de Sovjet-wetenschapper Vsevolod Sergejevitsj Burtsev (jaren 70-80).).

Deze computers introduceerden een aantal innovaties in de computertheorie, zoals superscalariteit (het verwerken van meer dan één instructie per klokcyclus), de implementatie van veilig programmeren met hardwaregegevenstypen, parallelle verwerking meerdere instructies. Maar belangrijkste kenmerk Sovjet-supercomputers waren gericht op talen hoog niveau. De Sovjet-Amerikaanse wetenschapper Vladimir Mstislavovich Pentkovsky, die deelnam aan de ontwikkeling van Elbrus, creëerde de programmeertaal El-76 op hoog niveau.

Naast het verbeteren van de reikwijdte van Sovjet-computermachines, werd de computer de basis voor de creatie van 64-bit universele microprocessoren"Elbrus 4-C" en de volgende generatie "Elbrus 8-C". Ze verwaterden de markt van de Amerikaanse fabrikanten Intel, AMD en IBM. Lokale ontwikkeling en de productie van processors werd gedreven door de behoefte om te vinden eigen oplossingen voor de defensie-industrie, waar de toepassing huishoudelijke apparaten wenselijker.

Geschiedenis van ontwikkeling

De ontwikkeling van de Elbrus-computerarchitectuur begon in de jaren '70 bij ITMiVT im. Lebedeva. De ontwikkelaars stonden voor de taak een computersysteem te creëren met een prestatie van 100 miljoen op/s. Burtsev werkte aan het computerbesturings- en ontwerpsysteem en werd de hoofdontwerper van het project.

In 1980 Elbrus-1 met algemene prestaties 15 miljoen op/s hebben met succes staatstests doorstaan. Dit was de eerste computer in de Sovjet-Unie die op basis van TTL-microschakelingen werd gebouwd. Een bijzonder kenmerk van de machine was de schaalbare architectuur, die ondersteund werd gelijktijdig werken maximaal 10 processoren. RAM bereikte 64 MB (220 machinewoorden). De organisatie van de overdracht van datastromen tussen randapparatuur en RAM werd uitgevoerd met behulp van speciale input-output-processors. Er konden ongeveer vier vergelijkbare processors in het systeem zitten, en dat hadden ze ook eigen geheugen, parallel werkend met de centrale processor.

Elbrus-1 werd in veel militaire systemen gebruikt: raketverdediging, Space Control Center, enz.

De volgende fase in de ontwikkeling van de Elbrus-computer was de overdracht van de architectuur van het eerste model naar een nieuwe elementbasis. Zo ontstond Elbrus-2, gebaseerd op geïntegreerde ELS-circuits. De productiviteit bereikte 125 miljoen op/s. De hoeveelheid RAM is ook toegenomen: tot 144 MB. Klokfrequentie 20 MHz bereikt.

In 1985 werd Elbrus-2 in massaproductie gelanceerd. Het werd gebruikt in gebieden waar grote berekeningen nodig waren. De computer werd ook actief gebruikt in de defensie-industrie, in het Space Flight Control Center en in nucleaire onderzoekscentra (in Arzamas-16, in Chelyabinsk-70). Sinds 1991 werkt de computer in het A-135 raketafweersysteem en bij andere militaire installaties.

Naast supercomputers werden er ook computers geproduceerd algemeen doel"Elbrus 1KB" (1988). Deze machines vervingen BESM-6 waarmee ze volledige achterwaartse softwarecompatibiliteit hadden. Het werd aangevuld met een nieuwe bedieningsmodus met grotere bitdiepte van cijfers en adressen.

Vergelijkende kenmerken van BESM-6 en Elbrus 1-KB

De volgende werd uitgebracht "Elbrus-3", waarin de ontwikkelaars voor het eerst de "post-superscalaire" aanpak implementeerden. Deze computer is ontwikkeld van 1986 tot 1994. medewerkers van ITMiVT onder leiding van de Sovjet-wetenschapper Boris Artashesovich Babayan.

Elbrus-3 werd niet in massaproductie genomen, maar de architectuur ervan werd de basis voor de ontwikkeling van de Elbrus 2000- en Elbrus-3M1-microprocessors.

De Elbrus-serie werd gewaardeerd door de Sovjetleiding. De ontwikkelaars Babayan, Burtsev en Bardizh ontvingen prijzen en bestellingen. De overige deelnemers aan het werk ontvingen ook staatsprijzen.

Tijdperk van MCST-processors

Het Russische bedrijf MCST werd in 1992 opgericht op basis van het Elbrus-3 ontwikkelingsteam. Het werd de rechtsopvolger van het Moskouse Centrum voor SPARC Technologies LLP (vandaar de naam MCST). De afkorting SPARC kwam van de belangrijkste partner van MCST, het Amerikaanse bedrijf Sun Microsystems, dat computers met de SPARC-architectuur promoot.

MCST produceerde microprocessors met SPARC-architectuur (MCST-R100, MCST-R150, MCST-R500 en MCST-R500S) en creëerde op basis daarvan computersystemen. Maar in 2007 werd de gelijknamige Elbrus-processor uitgebracht. Topprestaties apparaten in 64-bits modus bereikten 2,4 GFLOPS. De bedrijfsklokfrequentie was 300 MHz. De processor had 75,8 miljoen transistors. Vermogensdissipatie 6 W.

Op basis van de processor werd het computercomplex Elbrus-3M1 ontwikkeld, gebruikt voor de defensie-industrie. Dit complex werd voorzien van een beveiligd besturingssysteem MSVS-E (Mobiel Systeem van de Krijgsmacht), gebaseerd op Linux-versies 2.6.14. Elbrus-3M1 was achterwaarts compatibel met de eerste en tweede Elbrus.

Het computercomplex had twee ontwerpopties: een serverversie, die als desktopversie kon worden gebruikt, en een CompactPCI-versie (systeembus). De serverversie was gebaseerd op het apparaat van de UV 3M1-computer. In het geval van CompactPCI bezette Elbrus-3M1 twee modules van het Euromechanics 6U-formaat. De uitrusting voor beide versies was uitgerust met netwerkapparatuur voor ultrasnelle uitwisselingen met vergelijkbare computersystemen.

In 2010 werd op de tentoonstellingen ChipEXPO-2010 en Softool het Elbrus-S systeem-op-chip aan het publiek gepresenteerd. IN deze verwerker het aantal transistors is toegenomen - tot 218 miljoen. Ook is de klokfrequentie gestegen naar 500 MHz en zijn de topprestaties toegenomen: tot 4 GFLOPS in 64-bits modi en tot 8 GFLOPS in 32-bits modi.

Samen met Elbrus-S werd een perifere interfacecontroller (PIC) gepresenteerd.

In 2011 presenteerde MCST dual-coreprocessor volgende generatie Elbrus-2C+. Naast de 2 hoofdkernen (Elbrus-architectuur), die werken op een klokfrequentie van 500 MHz, had het model ook nog eens 4 kernen met ingebouwde digitale signaal processor(Multicor-architectuur). Aan de processor is een in-/uitvoerkanaal toegevoegd, waarmee het mogelijk is om nog een KPI aan te sluiten. Ook Elbrus-2C+ werd aangevuld met ondersteuning DDR-geheugen 2 sec effectieve frequentie 800 MHz. De processorprestaties zijn verbeterd: tot 28 GFLOPS in 32-bits modus. Het aantal transistors bereikte 368 miljoen.

De ontwikkelaars hebben een versie van de C-taalcompiler geïmplementeerd om de code voor de DSP-kernen te reproduceren en een efficiënte interactie tussen het hoofdprogramma op de computer tot stand te brengen. CPU-kernen en acties op de DSP.

Volgens de berekeningen van de makers zou Elbrus-2C+ worden gebruikt in digitale intelligente signaalverwerkingssystemen (radars, beeldanalysatoren, enz.). Maar de processors bleken daar beter op aangepast civiele taken. Kraftway lanceerde bijvoorbeeld een testreeks van alles-in-één computers op basis van Elbrus-2C+ kristallen.

Processor "Elbrus-4S"

In april 2014 introduceerde het bedrijf verbeterde quad-coreprocessors"Elbrus-4S".

Technische kenmerken van "Elbrus-4S"

Allereerst moet je letten op de overgang van de processorproductie naar 65 nm proces. De klokfrequentie en de doorvoer van RAM-kanalen zijn ook toegenomen. Deze en andere verbeteringen hebben de prestaties van nieuwe processors aanzienlijk beïnvloed. Elke kern kan maximaal 23 bewerkingen uitvoeren in één klokcyclus. Bij drijvende-kommabewerkingen: maximale theoretische prestaties vier kernen is ongeveer 50 GFLOPS enkele precisie en 25 GFLOPS dubbele precisie. Als we het vergelijken met het vorige Elbrus-2C+-model, dan is het in de 64-bitsmodus ruim drie keer hoger. De nieuwe processor heeft een complexer kristal, dat 986 miljoen transistors bevat, en heeft een bruikbaar oppervlak van 380 mm2.

MCST-specialisten hebben speciaal voor de vrijgegeven processor hun eigen besturingssysteem "Elbrus" gemaakt. Het besturingssysteem is gebaseerd op de Linux-kernelversie 2.6.33. Het bevat meer dan 3.000 softwarepakketten (vanaf Debian-distributie 5.0) en er is een pakketbeheerder. Er wordt een volledige set ontwikkelaarstools meegeleverd, waaronder optimalisatiecompilers voor de hoogwaardige programmeertalen C, C++, Fortran 77 en Fortran 9.

Elbrus OS is gecertificeerd voor de tweede klasse van bescherming tegen ongeoorloofde toegang en het tweede niveau van controle over niet-aangegeven mogelijkheden. Maar computers op basis van Elbrus-4C-processors werken ook met versies van Windows OS.

Tandemprocessor en desktopcomputer

Een van de projecten van het bedrijf was de ontwikkeling van de eerste Rus desktopcomputer gebaseerd op de Elbrus-4C-processor. Het kreeg de naam “Elbrus-401 geautomatiseerde werkplek” (waarbij geautomatiseerde werkplek staat voor geautomatiseerd werkplek). Het model is ontworpen voor een kantoor in een standaard MiniTower-koffer. Maar het kan worden gebruikt op verschillende gebieden waar hogere eisen worden gesteld aan informatiebeveiliging.

De computer beschikt over een 65 nm-procestechnologie met een kloksnelheid van 800 Hz, SATA-2- en USB 2.0-poorten, een vooraf geïnstalleerde 120 GB SSD met een mSATA-interface en ondersteuning voor DDR3-1600 met ECC. De basisconfiguratie biedt 24 GB RAM (uitbreidbaar tot 96 GB). Onder de kenmerken van de architectuur "Workstation Elbrus-401" kan het volgende worden benadrukt: de aanwezigheid van 6 parallelle bedieningskanalen van rekenkundig-logische apparaten; registerbestand van 256 84-bit registers; hardwareondersteuning voor lussen; ondersteuning voor speculatieve berekeningen en predikaten van één bit; een commando dat maximaal 23 bewerkingen in één klokcyclus bij maximale capaciteit kan specificeren. Er is ook een videokaart in de computer geïnstalleerd AMD Radeon 6000 serie.

Nieuwe generatie processor - Elbrus-8S

De Elbrus-8S-processor wordt ontwikkeld door het bedrijf MCST met medewerking van het genoemde Institute of Electronic Control Machines (INEUM). IS. Brooka. De architectuur, het circuitontwerp en de topologie van de microprocessor zijn gemaakt door Russische specialisten. De processor heeft acht kernen met een verbeterde 64-bit Elbrus-architectuur. De klokfrequentie bereikt 1,3 GHz, het volume van het cachegeheugen op het tweede en derde niveau is 4 en 16 MB. Geschatte prestaties bereiken 250 GFLOPS.

Technische kenmerken van "Elbrus-8S"

De computer heeft een eigen Elbrus-architectuur, die is ontwikkeld bij MCST CJSC. Vector-instructiesetversnellers helpen de codering en signaalverwerking sneller te maken.

De hardware communiceert met het besturingssysteem via zijn eigen BIOS-microcode. De processor is compatibel met Linux-, FreeBSD-, QNX- en Windows XP-distributies, maar het aanbevolen Elbrus-besturingssysteem is gebaseerd op de Linux-kernel 2.6.33. Het gebruik van gespecialiseerde ontwikkelingstools (optimalisatie van compilers voor C- en C++-talen, Fortran, Java, enz.) maakt het mogelijk om de programmacode te optimaliseren, rekening houdend met de Elbrus-architectuur.

het bedrijf is al in ontwikkeling nutsvoorzieningen En hulpcomponenten, geoptimaliseerd voor gebruik op processors. Dit is alles - hulpmiddelen voor het werken met het netwerk en randapparatuur (hulpprogramma's, bibliotheken voor algemene doeleinden, services, databaseondersteuning, grafisch subsysteem).

Elbrus-8S moet samenwerken met KPI 2, een in Rusland gemaakte perifere interfacecontroller.




De processor heeft in maart 2014 staatstests doorstaan. Klokfrequentie 800 MHz 4 cores L2$ 8 MB, maximaal 23 bewerkingen/cyclus per core 3 geheugenkanalen DDR-interprocessorkanalen (16 GB/s) 1 IO-link-kanaal (4 GB/s) Verbeteringen in de microarchitectuur Aantal transistors – 968 miljoen Vermogensdissipatie – ~45 W Technologie – 65 nm, 9 metaallagen Kristaloppervlak mm 2 Elbrus-4S


De processor heeft de status voltooid. getest in 2014 Klokfrequentie 300 MHz, 2 Elbrus-cores L2$ 2 * 1 MB 2 DDR-interprocessorkanalen (elk 4 GB/s) 2 IO-link-kanalen (2 GB/s) Aantal transistors: 300 miljoen Vermogensdissipatie: ~20 W Technologie: 90 nm, 10 metaallagen Kristaloppervlak: 320 mm 2 Productie in de Mikron Elbrus-2SM-fabriek


KPI Klokfrequentie – 250 MHz 2 I/O-kanalen (2 * 1 GB/s). Interfaces PCI Express 1.0a x8 PCI 2.3 (33/66 MHz, 32/64 bit) Gigabit-Ethernet, 4 * SATA 2.0, 2 * USB 2.0 RS 232/485, IEEE1284, Audio, SPI, I2C, GPIO Aantal transistors - 30 miljoen Vermogensdissipatie - 5 W Technologie - 0,13 micron, 9 metaallagen Kristalgrootte - 10,6 x 10 0,6 mm




Asynchrone pre-paging Asynchrone datapaging-eenheid (AAU) Asynchrone programmaniveau 2-cache (L2$) RAM Registerbestand (RF) Hoofdprogramma Rekenkundige logische eenheden (ALU) Pre-pagingbuffer. data paging (APB) data asynchrone data-adressen Berekent adressen Oproepgegevens Beheert synchrone data paging


Topprestaties van lin.uch. loops Int (8) / FP (9) / St (2) / Ld (4) Predicaatverwerking Overdracht van controle Laden letterlijk 32/64- 4/2 + Asynchroon laden in de Russische Federatie - 4 + Adresberekening - 4 + Cyclustellerverwerking Totaal: 18/16 23


SPECIFICATIES CPU2000FP








2015: Elbrus-8S 1,3 GHz 8 cores Elbrus 250 Gigaflops L2$ 8*512KB, L3$ 16 MB 4 DDR-geheugenkanalen interprocessor. kanalen van 16 GB/s 1 kanaal IO-link (16 GB/s) 320 mm 2, 2,7 miljard transistors 28 nm, stroomverbruik ~60 W Eerste technische monsters ontvangen


2015: KPI-2 1 kanaal IO-link (16 GB/s) PCI Express 2.0 x20 3 * Gigabit Ethernet 8 * SATA * USB * GPIO... Technologie 65 nm Stroomverbruik 12 W Eerste technische monsters ontvangen


Server gebaseerd op vier Elbrus-8S-processors 4 Elbrus-8S-processors South Bridge KPI-2 RAM tot 256 GB per server Interfaces: SATA 3.0 – 8 kanalen, Gigabit Ethernet – 3 kanalen, PCI Express 2.0 x20, PCI, interconnect Behuizingshoogte 1U Serververmogen – 1 Teraflops 40 Teraflops in een rack Elbrus-8S-server Breadboard-voorbeeld van een server met vier processors


Gflops SP TSMC Micron Elbrus-4S 65 nm, 4e 50GF Elbrus-8S 28 nm, 8e 250GF Elbrus-16S 16 nm, 8…16e 0,5 ... 1TF Elbrus-32S 10 nm, 32e 4TF Elbrus-4SM 65 nm, 4 i 50GF Elbrus-8SM 32 nm, 8 en 250GF Wegenkaart Elbrus-2SM 90 nm, 2e 10GF Elbrus-1C+ 40 nm, 1e + GPU 24GF De “M”-index (in groen) markeert modellen die gepland zijn voor productie in de binnenlandse Mikron-fabriek (Zelenograd)






“Protected mode”: foutcontrole tijdens uitvoering Hardware controleert programmafouten bij het werken met geheugen en garandeert de integriteit van pointers Toegang buiten de grenzen van een object (array) Toegang via pointer naar reeds vrijgemaakt geheugen van een voltooid object levenscyclus Niet-geïnitialiseerde gegevens lezen Toegang krijgen tot niet-geadresseerde gegevens alsof het een aanwijzer is Resultaat: Toename van de productiviteit van programmeurs - met een orde van grootte Mogelijkheid om betrouwbare programma's te maken die bestand zijn tegen cyberaanvallen Vertraging in programmasnelheid - ongeveer 20%


Elbrus beveiligde modus. Descriptorstructuur 32 bit40 bit32 bit24 bit8 bit Huidige positie Basisgrens Levensduur + servicebits Tags 128 bit 32 bit2 bit Gegevens of een deel van de descriptor Tags Descriptor: Tagwaarden: 00 - Niet-geïnitialiseerd 10 - Gegevens, 01 en 11 - Onderdeel van de descriptor Structuur machinewoord ter herinnering:


“Protected mode”: foutcontrole tijdens de uitvoering Programma’s uitvoeren op een gewone computer is als rijden op een snelweg met markeringen. Zolang alle programma's foutloos werken “volgens de regels”, werkt alles goed... ... maar als u de regels overtreedt, komt de veiligheid van de hele computer in gevaar. De beveiligde modus is als een scheidingsteken: het geeft “hard-wired” garanties dat alle correct werkende programma’s veilig zullen zijn


Elbrus OS maakt gebruik van de pakketstructuur van Debian. Er zijn meer dan 3000 geporteerd basispakketten uit de Debian 5.0 suite (Lenny) en vele andere, waaronder: LibreOffice 3.6 Firefox PostgreSQL 9.2 Qt 5.0 Gebaseerd op Linux-kernel Ingebouwde real-time ondersteuning Vertaler van binaire applicaties: x86 Elbrus architectuuroverschrijdende virtualisatielaag, compatibel met de WINE-emulator Ontwikkeltools – C/C++/Fortran-compilers, Java-machine (OpenJDK 6)

Zweed uit Finland.

Nee, het is niet goed, het is mogelijk om alleen te zijn, maar er zijn twee mensen die deelnemen aan een gesprek, daarom beslissen twee mensen, niemand heeft je het recht gegeven om voor jullie allebei te beslissen.

Ik heb het eigenlijk al beantwoord. Ik herhaal het nogmaals: in mijn contactenkring heb ik mensen die werken aan beveiligingssystemen, zowel in de defensie-industrie als in de banksector. Iedereen antwoordde mij unaniem dat de kracht van de aanvaller van het systeem altijd groter is dan de kracht van de verdediging. Mijn sociale kring heeft ervaring variërend van 5 jaar tot 40 jaar.

Wat snelle studie betreft, zal ik een echt voorbeeld geven:

‘In het hart van de operatiekamer Linux-systemen Een bug die al negen jaar bestond, werd opgelost. De ontwikkelaars besteedden geen aandacht aan de kwetsbaarheid omdat ze dachten dat deze geen praktisch nut had. Het bleek echter dat de gebruiker met zijn hulp rootrechten kan verwerven en de veiligheid van het hele systeem in gevaar kan brengen. Dit wordt gerapporteerd door de Github-portal.

Volgens Linux-ontwikkelaar Linus Torvalds ontdekte hij de Dirty COW-kwetsbaarheid ongeveer elf jaar geleden. Torvalds repareerde het, maar in 2007 werd de Linux-kernel bijgewerkt door een andere ontwikkelaar en de bug keerde terug."

Er zijn talloze situaties mogelijk. Er werd een bug met een bug_on ontdekt en opgelost die nog erger was dan met de fout. Er verstrijkt tijd tussen detecties, gedurende deze tijd kunt u deze gebruiken voor egoïstische doeleinden systeem. Ik herhaal: openheid heeft geen invloed op het maken van bladwijzers.

Welk fonds? Linux Stichting.

Je kent mij niet, dus jouw mening over mij doet er niet toe.

Wie neemt de uiteindelijke beslissing nadat de wijzigingen zijn aangebracht en naar de repositories zijn gestuurd, wie stuurt de verdere ontwikkeling en promotie van Linux? Ja, ja, achter de maker en sleutelfiguren.

Ik zal niets zeggen over de mogelijkheid om een ​​bedrijfssamenzwering te creëren, wat meer dan eens in de geschiedenis is gebeurd. De bedrijven kregen een straf, maar deze was altijd minder dan de winst die zij dankzij de kartelsamenzwering ontvingen. Nogmaals, er is altijd tijd voordat ze ontdekt worden. Als je de biografie en het gedrag van Linus zelf bestudeert, kun je begrijpen dat hij een buitengewoon en intelligent persoon is. Zelfs zijn grappen zijn niet standaard, maar er zit een vleugje humor in elke grap.

De laatste poging om u de moderne vrijheid uit te leggen. Er is altijd iemand die de vrijheid bewaakt en de uitvoering ervan controleert. De werkelijkheid hangt van deze persoon af.

Bij de VN heeft elk land het recht zijn boodschappen te uiten. Dit is vrijheid. Maar het VN-gebouw bevindt zich in de Verenigde Staten en de autoriteiten kunnen om verschillende redenen bepaalde ongewenste personen verbieden het land binnen te komen. Dat wil zeggen: er is vrijheid, maar deze is beperkt en gecontroleerd. Je ziet ook met eigen ogen hoe er anders naar een probleem kan worden gekeken en niet door mensen wordt herkend, waardoor je uiteindelijk van je rechten wordt beroofd. Begrijp je de betekenis? Misschien zal ik het uitleggen aan de hand van het voorbeeld van religie. Het christendom heeft een oudere voorvader die de fundamenten heeft gelegd in de vorm van dogma’s die in vrijwel elke tak van het christendom worden weerspiegeld. Deze branches lijken op Linux-builds voor elke samenleving, maar de basis is gemeenschappelijk. En haar hypotheekverstrekkers controleren deze stichting binnen een aparte structuur. Er zijn andere godsdienstbewegingen met een even oude geschiedenis en hun eigen vertakkingen.

Ik begrijp waarover u mij schrijft. Het probleem is dat je niet begrijpt waar ik over schrijf als ik het ‘onzin’ noem. Maar dit is niet langer mijn probleem.