Vai al contenuto
View in the app

A better way to browse. Learn more.

Autopareri

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Tentativo di discussione razionale sulle filosofie dell'informatica consumer

Featured Replies

Inviato
Cosa aspettano ad assumerti a Cupertino allora?! :D Avrai rifiutato più volte, immagino!

La corbelleria che hai detto è "la memoria comunque è allocata" cosa che invece non sussiste.

E' comunque allocata.

Se non è allocata li, è allocata sullo swap, perchè, se tu sapessi cosa stati dicendo, sapresti che lo swap viene usato come estensione della paginazione della memoria primaria.

Ergo, lo stesso array di indirizzi viene risolto allo stesso modo sulla ram e sulla swap dal sistema operativo.

Il problema è che mentre la ram è una memoria ad accesso casuale, il supporto fisico su cui è memorizzata la swap è un supporto ad accesso sequenziale, e, per di più, è mediamente molto più lento (anche se con gli SSD dei telefoni ad oggi la situazione è meno disperata).

Quindi, non è che, siccome la paginazione scarica dalla ram alla swap, allora le applicazioni "spariscono".

Le applicazioni sono li, e nel momento in cui verranno chiamate verrano risolte, deallocato qualcos'altro che sta in ram, allocata l'applicazione risolta al suo posto.

(tutto questo per semplificare MOLTISSIMO il concetto).

Ergo, ogni volta che tiri su l'applicazione costringi il sistema ad un costoso context switch e a moltissimi cicli di lettura e scrittura.

In sostanza, udisci udisci, con molte applicazioni aperte il sistema diventa lento!

Enjoy!

(E ripeto, non è nulla di strano in tutto ciò, è normalissimo e succede a qualsiasi sistema operativo del pianeta. iOS non ne è immune.)

Dirò una boiata, ma a me non risulta che su iOS vi sia uno swapping nel vero senso della parola. Quando c'è da reclamare risorse, i programmi vengono forzati a passare a "not running" da "suspended". In altre parole vengono graziosamente killati. Certo, finché questo non succede, rimangono là con le loro risorse (memoria) allocate.

Dipende all'implementazione della swap.

Ci sono quelle che allocano su filesystem, replicando la paginazione su un raw disk, quelle che scrivono e leggono su un file in un altro filesystem (di solito quello di archiviazione) e quelle che killano il processo e salvano l'heap del processo su file, tenendo paginato solo un riferimento.

Quando il riferimento viene chiamato il sistema operativo tira su il processo, gli appiccica l'heap vecchio e lo ributta in ram.

L'ultimo è particolarmente adatto alle memorie piccole o a situazioni in cui pochi processi sono spesso usati frequentemente (l'heap rimane sempre quello), ma certamente è il più lento.

Dipende da come si vuole fare... semplicemente spesso i sistemi operativi implementano tutti o alcuni di questi metodi, e ne usano di diversi in condizioni d'uso diverse.

Modificato da Regazzoni
--- uniti messaggi: DEVI USARE il tasto "multi-quote", quello col "+", per rispondere a più messaggi in una volta sola ---

"Fico, io ti rispondo che al buio tutti i gatti sembrano leopardi e che non bisogna mai comprare un gatto in un sacco. C'entrano qualcosa? Probabilmente no, esattamente come la tua metafora." [Loric]

  • Risposte 65
  • Visite 7.5k
  • Creato
  • Ultima Risposta

I più attivi nella discussione

Inviato
  • Autore
Dipende all'implementazione della swap.

Ci sono quelle che allocano su filesystem, replicando la paginazione su un raw disk, quelle che scrivono e leggono su un file in un altro filesystem (di solito quello di archiviazione) e quelle che killano il processo e salvano l'heap del processo su file, tenendo paginato solo un riferimento.

Quando il riferimento viene chiamato il sistema operativo tira su il processo, gli appiccica l'heap vecchio e lo ributta in ram.

L'ultimo è particolarmente adatto alle memorie piccole o a situazioni in cui pochi processi sono spesso usati frequentemente (l'heap rimane sempre quello), ma certamente è il più lento.

Dipende da come si vuole fare... semplicemente spesso i sistemi operativi implementano tutti o alcuni di questi metodi, e ne usano di diversi in condizioni d'uso diverse.

Mi spiego meglio: iOS non ha (recte: non dovrebbe) avere uno swap file. Il solito discorso: le flash RAM non sono proprio il massimo per queste cose.

Alfiat Bravetta senza pomello con 170 cavalli asmatici che vanno a broda; pack "Terrone Protervo" (by Cosimo) contro lo sguardo da triglia. Questa è la "culona".

Inviato
E' comunque allocata.

Se non è allocata li, è allocata sullo swap, perchè, se tu sapessi cosa stati dicendo, sapresti che lo swap viene usato come estensione della paginazione della memoria primaria.

Ergo, lo stesso array di indirizzi viene risolto allo stesso modo sulla ram e sulla swap dal sistema operativo.

Il problema è che mentre la ram è una memoria ad accesso casuale, il supporto fisico su cui è memorizzata la swap è un supporto ad accesso sequenziale, e, per di più, è mediamente molto più lento (anche se con gli SSD dei telefoni ad oggi la situazione è meno disperata).

Quindi, non è che, siccome la paginazione scarica dalla ram alla swap, allora le applicazioni "spariscono".

Le applicazioni sono li, e nel momento in cui verranno chiamate verrano risolte, deallocato qualcos'altro che sta in ram, allocata l'applicazione risolta al suo posto.

(tutto questo per semplificare MOLTISSIMO il concetto).

Ergo, ogni volta che tiri su l'applicazione costringi il sistema ad un costoso context switch e a moltissimi cicli di lettura e scrittura.

In sostanza, udisci udisci, con molte applicazioni aperte il sistema diventa lento!

Enjoy!

(E ripeto, non è nulla di strano in tutto ciò, è normalissimo e succede a qualsiasi sistema operativo del pianeta. iOS non ne è immune.)

Mi chiedo se tu abbia aperto il link o l'abbia preventivamente cassato in quanto "cazzata" a tuo dire.

Comunque...

You may think that, if an app is resident in memory, you have to somehow remove it to conserve memory. You don't because iOS does it for you. If there are Suspended apps lying around and you launch a memory-intensive app such as a big game, iOS will start to purge Suspended apps and move them to the Not Running state. That is, they will be completely removed from memory and will launch afresh the next time you tap their icon.

e

When an app is sent to the Background, it usually moves to the Suspended state in a few seconds. An app can request an extension to this by declaring that it's starting a "background task".A good example is an app that downloads largish files from the web such as Instacast, my favourite podcast app. When Instacast is Active, it can start to download new podcasts. If I then hit the home button on my iPhone, Instacast gets five seconds to run in the Background state and then it's Suspended. That interrupts the download of my podcasts, which might take 5 minutes or more.

iOS allows Instacast to declare that a download is a "background task". This allows Instacast an extra period of background running after I hit the home button to complete the podcast download. While apps can request additional Background time, that time is not infinitely long. The app gets about 10 minutes of Background running time and then it is forcibly suspended by iOS. Again, you don't have to worry about this yourself.

All apps get 5 seconds of Background running. Some apps can request a 10-minute extension. There are a small number of apps that genuinely need to run indefinitely in the background and iOS allows this.

There are exactly five kinds of apps allowed to run indefinitely in the Background state in iOS 5:

  • Apps that play audio while in the Background state. A good example is Instacast while it's playing a podcast.
  • Apps that track your location in the Background. For example, you still want voice prompts from your TomTom navigation app, even if another app is Active.
  • Apps that listen for incoming VOIP calls. If you use Skype on iOS, you can receive incoming Skype calls while the app is in the Background.
  • Newsstand apps that are downloading new content.
  • Apps that receive continuous updates from an external accessory in the Background.

All well-written apps in the above categories should become Suspended when they are no longer performing the task in hand. When Instacast finishes playing a podcast, it should be Suspended. There are some built-in apps that also run continuously in the background on iOS - the most-used one is probably Mail.

BMW M135i xDrive 306 cv

Inviato
Mi spiego meglio: iOS non ha (recte: non dovrebbe) avere uno swap file. Il solito discorso: le flash RAM non sono proprio il massimo per queste cose.

No infatti, sicuramente non ha uno swapfile.

Del resto nemmeno android, e a voler essere proprio pignoli nè i Linux nè gli Unix che siano (Mach compreso) hanno mai usato uno swapfile.

Dovrei andare a ripassare, ma con ogni probabilità un po' usa un'aera di memoria dedicata direttamente allocata (come Android e come tutti i *nix), e poi, se butta veramente ma veramente male, usa la tecnica dell'heap store, che ho descritto sopra.

Android quest'ultima non la usa. Quando finisce tutto, ma proprio tutto, semplicemente comincia a crashare qualcosa e la memoria si libera :D

"Fico, io ti rispondo che al buio tutti i gatti sembrano leopardi e che non bisogna mai comprare un gatto in un sacco. C'entrano qualcosa? Probabilmente no, esattamente come la tua metafora." [Loric]

Inviato
  • Autore

Android quest'ultima non la usa. Quando finisce tutto, ma proprio tutto, semplicemente comincia a crashare qualcosa e la memoria si libera :D

Alfiat Bravetta senza pomello con 170 cavalli asmatici che vanno a broda; pack "Terrone Protervo" (by Cosimo) contro lo sguardo da triglia. Questa è la "culona".

Inviato
Mi chiedo se tu abbia aperto il link o l'abbia preventivamente cassato in quanto "cazzata" a tuo dire.

Comunque...

Modificato da Regazzoni
--- uniti messaggi: DEVI USARE il tasto "multi-quote", quello col "+", per rispondere a più messaggi in una volta sola ---

"Fico, io ti rispondo che al buio tutti i gatti sembrano leopardi e che non bisogna mai comprare un gatto in un sacco. C'entrano qualcosa? Probabilmente no, esattamente come la tua metafora." [Loric]

Inviato
  • Autore
In sostanza stiamo parlando di un comportamento assolutamente normalissimo già in sistemi *nix di 15 anni fa :D

Nessuna nuova rocket science by Apple, pare.

Alfiat Bravetta senza pomello con 170 cavalli asmatici che vanno a broda; pack "Terrone Protervo" (by Cosimo) contro lo sguardo da triglia. Questa è la "culona".

Inviato
No, non ho conoscenze fuori dal normale, sono solo un programmatore, e nemmeno troppo brillante.

Semplicemente, la gestione della memoria di Mach è qualcosa che si studia in sistemi operativi all'università.

Il mio libro ti stampa tutto il codice bello bello in una pagina di esercizi.

Semplicemente, se ho detto una frase sulla gestione della memoria di iOS, che non era poi sta gran frase, ho solo detto che le applicazioni sono comunque allocate anche se sono in saved state.

Il che è normale.

Ma mi si risponde che non è necessario chiuderle perchè iOS le dealloca sullo swap quando la memoria diventa piena.. suvvia, è un pattern di gestione della memoria degli anni 80.

Non è che se sposti le applicazioni nella swap queste "spariscono". Si spostano nella swap e la swap ha altri svantaggi.

Ma ripeto, la mia non è un'obiezione ad iOS, perchè iOS ha un comportamento NORMALISSIMO, come tutti i sistemi operativi dell'universo conosciuto.

Semplicemente, su iOS serve chiudere le applicazioni esattamente come serve per qualunque altro sistema operativo dell'universo conosciuto.

Quindi mi chiedi perchè ce l'ho con la Apple?

Facile: perchè ha creato un'utenza che, di fronte ad un'osservazione del genere, mi risponde:

"su iPhone non serve chiudere le applicazioni."

Come se fosse una feature, e soprattutto come se fosse vero.

E' sufficiente?

Chiudo l'OT.

"post fata resurgam." (cit.)

Inviato
  • Autore
diciamo anche 40 anni fa....:) quando la memoria era a banchi e la RAM in ferrite.

Modificato da loric

Alfiat Bravetta senza pomello con 170 cavalli asmatici che vanno a broda; pack "Terrone Protervo" (by Cosimo) contro lo sguardo da triglia. Questa è la "culona".

Crea un account o accedi per lasciare un commento

Background Picker
Customize Layout

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.