Puncte:3

z/OS impune protecția memoriei între procesele aceluiași utilizator?

drapel za

Se subliniază adesea că fiecare utilizator are propriul spațiu de adrese (virtual) în z/OS; acest lucru se spune ca și cum ar fi un lucru bun și presupun că este comparat cu modul real. Dar în majoritatea sistemelor moderne sunt obișnuit ca majoritatea proceselor (sau joburilor, în limbajul z/OS, presupun) să aibă propriul spațiu de adrese. Această abordare Unix pare strict mai sigură la prima vedere.

Acestea fiind spuse, am am auzit că se spunea că și joburile z/OS primesc fiecare propriul spațiu de adrese, dar nu am văzut nicio documentație oficială pentru asta. Desigur, dacă un utilizator poate rula doar o lucrare la un moment dat (nu am verificat acest lucru), atunci cu siguranță aceasta nu ar fi o problemă. (Deoparte: în mod tradițional, z/OS trebuie să fi fost folosit pentru procesarea loturilor, așa că ar putea fi o presupunere rezonabilă. Dar, este 2021 și poate lucrurile s-au schimbat, așa că ar fi bine să știți despre limitările locurilor de muncă pentru fiecare utilizator. .)

Puncte:3
drapel us

Primul paragraf nu este clar, deoarece pare a fi contradictoriu.

Pe IBM Z ai hardware-ul și apoi sistemul de operare. Hardware-ul are un set de caracteristici care permit spații de adrese separate, iar stocarea virtuală a fiecăruia este protejată de accesarea datelor de către alți utilizatori. Există câteva avertismente, deoarece hardware-ul IBM Z utilizează o cheie de protecție a stocării pentru a identifica în continuare modul în care este protejată stocarea. Tastele pot varia de la 0 la 15 (F), iar tastele sub 8 sunt rezervate pentru sistemul de operare. z/OS utilizează această caracteristică astfel încât starea problemei (programele utilizator) să ruleze în cheia 8 pe z/OS. Hardware-ul permite, de asemenea, o protecție asupra stocării, astfel încât o parte de stocare să fie citită de toate spațiile de adrese (în general, memoria sistemului de operare), iar unele sunt protejate prin preluare, ceea ce înseamnă că trebuie să aveți cheia potrivită pentru a citi datele. În general, este un set destul de cuprinzător de capabilități.

Pe z/OS există spații de adrese care au propria memorie virtuală care este independentă și inaccesibilă (într-un mod controlat) de alte procese. Spațiile de adrese pot găzdui un JOB (gestionat de JES) sau o sarcină de sistem (Started Task), ⦠în fiecare spațiu de adrese pot exista mai multe fire de execuție.

Acestea fiind spuse, toată această complexitate se bazează pe faptul că z/OS este un model comun de resurse de sistem care este diferit de Linux. Linux blochează nucleul lor și controlează accesul prin apeluri de sistem. Acest lucru face de fapt z/OS extrem de eficient, dar este și călcâiul lui Ahile, deoarece atunci când lucrurile merg prost, pot merge prost pentru toate procesele.

platforma este destul de sigură proiectată din hardware și sisteme de operare pentru a proteja datele și accesul. Acestea fiind spuse, sistemele de operare (toate) sunt scrise de oameni falibili și oricare dintre ele poate fi spart. z/OS este probabil mai dificil, astfel încât să nu fie omniprezent precum Linux sau Windows.

drapel za
Mulțumesc pentru răspunsul informativ - ați mers mai presus și dincolo și apreciez, deoarece informațiile nu sunt ușor disponibile. Se pare că există două grade de separare a adreselor: la nivel hardware (pentru utilizatori) și la nivelul sistemului de operare (pentru procese). Poate am înțeles greșit. De asemenea, mi-am recitit întrebarea și nu am observat contradicția, așa că dacă ați putea detalia, asta poate ajuta la clarificarea situației (și voi încerca să-mi clarific întrebarea).
Kevin McKenzie avatar
drapel vn
@bbarker Cred că o parte a problemei este că nu înțelegeți modelul procesului. În z/OS, există spații de adrese. Fiecare job are propriul său spațiu de adrese.Fiecare utilizator conectat are propriul spațiu de adrese și un spațiu de adrese separat poate fi creat atunci când un utilizator execută o comandă sau o sarcină/thread poate rula în același spațiu de adrese, în funcție. Activitățile începute (demonii, un fel de) rulează în propriile spații de adrese. Atât hardware-ul, cât și software-ul impun separarea memoriei la diferite niveluri.
Kevin McKenzie avatar
drapel vn
Într-un spațiu de adrese, există diferite secțiuni ale memoriei virtuale. Unele sunt comune între toate spațiile de adrese, astfel încât toate au aceeași viziune asupra lumii. Accesul la acel spațiu de stocare este controlat de cheile de stocare. Deci, la nivel hardware, se impune ca un proces de stare a problemei să poată vedea anumite informații, dar să nu le modifice.
Kevin McKenzie avatar
drapel vn
Toate acestea sunt documentate; Aș sugera să începem cu ABC-urile programării sistemului sau, pentru cei mai serioși, Principiile operațiunilor.
drapel za
Resurse grozave - în ABC, am găsit acest citat „Există cel puțin un spațiu de adresă pentru fiecare lucrare în curs și un spațiu de adresă pentru fiecare utilizator conectat prin TSO/E”. Cred că asta ar putea explica confuzia mea - nu mi-a fost clar de ce un utilizator ar avea nevoie de un spațiu de adresă dacă procesele îl au deja, dar se pare că se referă nu la utilizator în sine, ci la sesiunea TSO/E a utilizatorului. Asemănător (dar probabil foarte diferit de) procesul shell al unui utilizator într-un sistem de operare Unix.
drapel us
@bbarker Aceasta a fost secțiunea, „Dar în majoritatea sistemelor moderne sunt obișnuit ca majoritatea proceselor (sau joburilor, în limbajul z/OS, presupun) să aibă propriul spațiu de adrese. Această abordare Unix pare strict mai sigură la prima vedere. " A fost porțiunea „Această abordare Unix”, deoarece probabil ați făcut calculul în capul vostru despre modul în care Unix procesează și gestionează memoria.
drapel us
@bbarker Ca răspuns la comentariul de la ABC's . Spațiul de adresă este cel mai mare container și în el puteți încadra multe procese. Deci multe spații de adrese înseamnă multă separare. TSO este ca un utilizator care se conectează și folosește un shell. De acolo sunt posibile o mulțime de procese / fire de execuție.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.