Zurück   Android-Hilfe.de > HTC Forum > T-Mobile G1 Forum


Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!

Tasks, Services, Threads (multi?), RAM

Das Thema "Tasks, Services, Threads (multi?), RAM" befindet sich unter T-Mobile G1 Forum auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 16.03.2009, 19:01   #1 (permalink)
Neuer Benutzer
 
Benutzerbild von cobii

Registriert seit: 05.03.2009
Beiträge: 26
Abgegebene Danke: 0
Erhielt 2 Danke für 1 Beitrag
Standard Tasks, Services, Threads (multi?), RAM

Hallo Ihr Androiden,

seit 10 Tagen spiele ich nun mit einem G1 rumm und weiß immer noch nicht ob ich es behalten will. Egal!

Zum Thema:

Ich habe mit dem Service Viewer mir versucht einen Überblick über die laufenden Anwendungen zu verschaffen. Kann mir vielleicht noch einmal jemand genau aufdröseln was

Prozesse,Tasks und Services sind. Welche Aufgaben sie im OS übernehmen, wem sie "gehören", wie man sie stoppen kann wenn es die "eigenen" sind.

Ob der Android nun wirklich voll Multitasking fähig ist und wenn ja:

Wie kommt es, dass ich zum Beipiel K-9 Anweise 25 Kopfzeilen zu laden, dann mittels langem Druck auf den Hausknopf zu einem andern Programm wechsele, um nach einem erneuten zurückwechseln festzustellen, dass K-9 pausiert zu haben scheint?

Was heißt es genau wenn in der Produktbeschreibung steht "192MB RAM intern / 256 Flash Speicher".
Ist der "RAM" ein echter flüchtiger RAM? Wo ist das OS gespeichert? Ist das OS nicht auf einem ROM gespeichert? Werden von den 256MB schon Teile für das OS angeknapst?
Hat Android ein "Auslagerungsdatei"?

Ich weiß das viele dieser Fragen an einzelnen Stellen im Forum mehr oder weniger genau beantwortet werden. Ich würde mich einfach freuen, wenn jemand der sich gut mit dem Betriebssystem und der Hardware auskennt einfach nocheinmal eine Beschreibung des Systems schreiben könnte. Muss ja auch nicht gleich heute Abend sein!

Als bald liebste Grüße aus Hamburg
Christian

Ach ja ich habe ein Standrt G1 mit Telekomvertrag. Und an alla Aachener: Es tut mir nicht leid, dass Ihr gestern 1:3 gegen St.Pauli verloren habt, auch wenn Ihr ein nettes Stadion habt!
cobii ist offline   Mit Zitat antworten
Alt 16.03.2009, 19:42   #2 (permalink)
Erfahrener Benutzer
 
Benutzerbild von friedger

Registriert seit: 15.01.2009
Beiträge: 223
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
Standard AW: Tasks, Services, Threads (multi?), RAM

Prozesse gehören dem Betriebssystem und können nur den root user beendet werden. Die Aufgabe in Android eines Prozesses ist eine Anwendung von anderen zu kapseln.

Tasks ist ein allgemeiner Begriff und hat m.E. keine spezielle Bedeutung in Android.

Ein Service ist ein Teil einer Android Anwendung. Ein Service hat keine UI und kann im Hintergrund laufen.

Multitask? Kommt darauf an, was Du darunter verstehst. Zum einen kann kann immer nur eine Anwendung im Vordergrund sein, zum anderen können beliebig viele Threads gleichzeitig laufen.
Es gibt aber eine Logik zubeachten, wenn Threads die UI ansprechen. Threads haben in Android im Gegensatz Services keine definierten Lebenszyklus. Deshalb ist in den meisten Fällen ein Service vorzuziehen.

Friedger
friedger ist offline   Mit Zitat antworten
Alt 16.03.2009, 20:13   #3 (permalink)
Ehren-Mitglied
 
Benutzerbild von Autarkis

Modell: HTC G1 & Motorola Milestone 2

Registriert seit: 28.02.2009
Beiträge: 1.033
Abgegebene Danke: 29
Erhielt 43 Danke für 29 Beiträge
Autarkis eine Nachricht über ICQ schicken Autarkis eine Nachricht über MSN schicken Autarkis eine Nachricht über Yahoo! schicken Autarkis eine Nachricht über Skype™ schicken
Standard AW: Tasks, Services, Threads (multi?), RAM

Ganz zuvorderst: Ich bin in Linux ziemlich versiert, aber ich bin kein Programmierer.

Zitat:
Zitat von cobii Beitrag anzeigen
Prozesse,Tasks und Services sind. Welche Aufgaben sie im OS übernehmen, wem sie "gehören", wie man sie stoppen kann wenn es die "eigenen" sind.
Ein Prozess unter Linux ist dasselbe wie ein Task unter Windows.

Ein Service ist ein Android-Prozess der im Hintergrund läuft.

Ein Prozess unter Linux gehört dem User, der ihn gestartet hat. Die Zugehörigkeit eines Prozesses zu einem User wird über die UID geleistet. Wenn du einen Prozess auf dem Desktop startest, ist das immer der Anwender (UID 10001 glaub ich). Wenn das System selbst einen Prozess ausführt, wird dieser mit der UID 0 (die User-ID des root-Users) ausgeführt.

In Android gibt es verschiedene User (Oder echte Usergruppen? Ich hab das noch nicht ganz durchschaut) die verschiedene Rechte haben, z.B. Rechte Sound auszugeben etc. Dieses UNIX-Permissions (= UNIX-Rechte) Modell erlaubt die eleganten, transparenten Angaben in der Art "Diese Anwendung will folgendes mit deinem Telefon machen: SMS verschicken...". (siehe auch die Datei /system/etc/permissions.xml im Anhang)


Zitat:
Zitat von cobii Beitrag anzeigen
Ob der Android nun wirklich voll Multitasking fähig ist und wenn ja:
Oh ja! Die Anwendung muss aber explizit einen Service starten, um im Hintergrund tätig sein zu dürfen, sonst kriegt sie vom System das Signal STOP (offizielle UNIX-Signale - möglicherweise nicht alle von Android unterstützt) ). Wenn man sie wieder in den Vordergrund nimmt, kriegt sie das Signal CONT.

Zitat:
Zitat von cobii Beitrag anzeigen
Wie kommt es, dass ich zum Beipiel K-9 Anweise 25 Kopfzeilen zu laden, dann mittels langem Druck auf den Hausknopf zu einem andern Programm wechsele, um nach einem erneuten zurückwechseln festzustellen, dass K-9 pausiert zu haben scheint?
Es hat pausiert. Weil K-9 nicht als Service implementiert ist.

Zitat:
Zitat von cobii Beitrag anzeigen
Was heißt es genau wenn in der Produktbeschreibung steht "192MB RAM intern / 256 Flash Speicher".
Ist der "RAM" ein echter flüchtiger RAM?
Ja, SDRAM. (Softpedia: G1)


Zitat:
Zitat von cobii Beitrag anzeigen
Wo ist das OS gespeichert? Ist das OS nicht auf einem ROM gespeichert? Werden von den 256MB schon Teile für das OS angeknapst?
In den 256 MB Flash (NAND) Speicher. EEPROMs haben zu langsamen Zugriff - da hätte der Androide 10 Minuten bis er gebootet wäre.


Zitat:
Zitat von cobii Beitrag anzeigen
Hat Android ein "Auslagerungsdatei"?
Es gibt ein Verzeichnis /cache wo sich so allerlei ansammelt...

Zitat:
Zitat von cobii Beitrag anzeigen
Ich weiß das viele dieser Fragen an einzelnen Stellen im Forum mehr oder weniger genau beantwortet werden. Ich würde mich einfach freuen, wenn jemand der sich gut mit dem Betriebssystem und der Hardware auskennt einfach nocheinmal eine Beschreibung des Systems schreiben könnte. Muss ja auch nicht gleich heute Abend sein!
Mit dem OS kenn ich mich aus - Linux-user seit 2001.

Zitat:
Zitat von cobii Beitrag anzeigen
Als bald liebste Grüße aus Hamburg
Christian

Ach ja ich habe ein Standrt G1 mit Telekomvertrag. Und an alla Aachener: Es tut mir nicht leid, dass Ihr gestern 1:3 gegen St.Pauli verloren habt, auch wenn Ihr ein nettes Stadion habt!
Fussball interessiert mich nicht. Ich hoffe mein Beitrag hat dir geholfen und auch dass ich meinem Vorredner nicht zu heftig widersprochen habe.
Angehängte Dateien
Dateityp: txt permissions.xml.txt (6,4 KB, 76x aufgerufen)
__________________
Twitter | deviantART | Last.FM Music
Motorola Milestone 2
Ich leiste keine Hilfestellung per PM. Dafür ist das Forum da.
Meine App New World of Dice: im Market
Disclaimer: Ich helfe zwar wo ich kann, kann aber nur vom HTC G1 und vom Motorola Milestone 2 aus eigener Erfahrung berichten!
Autarkis ist offline   Mit Zitat antworten
Alt 16.03.2009, 21:09   #4 (permalink)
Erfahrener Benutzer
 
Benutzerbild von friedger

Registriert seit: 15.01.2009
Beiträge: 223
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
Standard AW: Tasks, Services, Threads (multi?), RAM

Ich kann keine Widerspruch finden, oder habe ich was falsch verstanden?

Zu k9 kann ich noch sagen, dass es zwar einen MailService gibt, der aber nicht aktiviert ist.
friedger ist offline   Mit Zitat antworten
Alt 16.03.2009, 21:45   #5 (permalink)
Ehren-Mitglied
 
Benutzerbild von Autarkis

Modell: HTC G1 & Motorola Milestone 2

Registriert seit: 28.02.2009
Beiträge: 1.033
Abgegebene Danke: 29
Erhielt 43 Danke für 29 Beiträge
Autarkis eine Nachricht über ICQ schicken Autarkis eine Nachricht über MSN schicken Autarkis eine Nachricht über Yahoo! schicken Autarkis eine Nachricht über Skype™ schicken
Standard AW: Tasks, Services, Threads (multi?), RAM

Zitat:
Zitat von friedger Beitrag anzeigen
Ich kann keine Widerspruch finden, oder habe ich was falsch verstanden?

Zu k9 kann ich noch sagen, dass es zwar einen MailService gibt, der aber nicht aktiviert ist.

Vor allem hab ich das gesagt, weil ich absichtlich ohne deinen Beitrag zu lesen gepostet habe.

Mal gucken...


Zitat:
Zitat von friedger Beitrag anzeigen
Prozesse gehören dem Betriebssystem und können nur den root user beendet werden.
Hm, nicht alle Prozesse gehören dem Betriebssystem und auch nicht alle gehören dem root-User. Wenn man auf dem G1 "ps" eingibt, sieht man in der ersten Spalte welchem Benutzer die Anwendung zuzuordnen ist. Nur die ganz basalen Betriebssystemtasks gehören root.



Zitat:
Zitat von friedger Beitrag anzeigen
Die Aufgabe in Android eines Prozesses ist eine Anwendung von anderen zu kapseln.

Tasks ist ein allgemeiner Begriff und hat m.E. keine spezielle Bedeutung in Android.
Stimme zu.


Zitat:
Zitat von friedger Beitrag anzeigen
Ein Service ist ein Teil einer Android Anwendung. Ein Service hat keine UI und kann im Hintergrund laufen.
Stimme zu.


Zitat:
Zitat von friedger Beitrag anzeigen
Multitask? Kommt darauf an, was Du darunter verstehst. Zum einen kann kann immer nur eine Anwendung im Vordergrund sein, zum anderen können beliebig viele Threads gleichzeitig laufen.
Genauso wie in Windows und UNIX auch immer nur ein Fenster das vorderste sein kann. In dem Sinne stimme ich zu.



Zitat:
Zitat von friedger Beitrag anzeigen
Es gibt aber eine Logik zubeachten, wenn Threads die UI ansprechen. Threads haben in Android im Gegensatz Services keine definierten Lebenszyklus.
Hier muss ich ergänzen:

Ein Thread ist ein Task (oder Prozess in UNIX-Sprache), der für sich allein nicht existieren kann. Ein Thread ist immer einem Mutterprozess untergeordnet.

In einem UNIX-System (wie Android) ist ein Thread keine deklarierte Eigenschaft eines Prozesses. Ein Prozess der von einem anderen Prozess aufgerufen wird, kann man als Thread ansehen. Denke ich.

Ich glaube, du wolltest eigentlich Task schreiben - das war ein Tippfehler. Denn Tasks werden vom Betriebssystem nach einem Force Close automatisch wieder gestartet - sie haben dann aber eine andere Prozess-ID (PID) und liegen an einem anderen Ort im Speicher. Man kann also unter Android nicht damit rechnen, dass die Anwendung mit der man eben "gesprochen" hat, noch am selben Ort ist. Bei einem Absturz der Anwendung gibt es nämlich eben keinen Fehler, sondern sie wird einfach neu gestartet.

Zitat:
Zitat von friedger Beitrag anzeigen
Deshalb ist in den meisten Fällen ein Service vorzuziehen.
Services haben auch nachteile - besonders auf mobilen Geräten, und besonderes auf dem G1: Sie verbrauchen nämlich CPU-Leistung und damit auch wertvolle Akku-Leistung, auch wenn sie unter Umständen gar nicht benötigt werden. Deshalb sollte man mit Services so sparsam wie möglich umgehen.

__________________
Twitter | deviantART | Last.FM Music
Motorola Milestone 2
Ich leiste keine Hilfestellung per PM. Dafür ist das Forum da.
Meine App New World of Dice: im Market
Disclaimer: Ich helfe zwar wo ich kann, kann aber nur vom HTC G1 und vom Motorola Milestone 2 aus eigener Erfahrung berichten!
Autarkis ist offline   Mit Zitat antworten
Alt 17.03.2009, 10:35   #6 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 02.03.2009
Beiträge: 94
Abgegebene Danke: 2
Erhielt 6 Danke für 6 Beiträge
Standard AW: Tasks, Services, Threads (multi?), RAM

der Entwickler von K-9 wird das einfach so gebaut haben.

um den programm lifecycle kümmert sich android selber, nicht der programmierer. der kann nur sagen, was passieren soll, wenn android das programm pausiert oder schließt. er wird das halt eben nicht im hintergrund als service laufen lassen.
kanzlr ist offline   Mit Zitat antworten
Alt 17.03.2009, 18:38   #7 (permalink)
Fortgeschrittenes Mitglied
 
Benutzerbild von ikarusx3

Registriert seit: 03.02.2009
Beiträge: 421
Abgegebene Danke: 0
Erhielt 310 Danke für 5 Beiträge
ikarusx3 eine Nachricht über ICQ schicken
Standard AW: Tasks, Services, Threads (multi?), RAM

Android hat ein ganz witziges Konzept zur Ressourcenverwaltung. Programme/Dienste/leere Prozesse können beendet werden wenn Ressourcen angefordert werden, aber nicht verfügbar sind. Daher sind alle Android-Anwendungen angehalten, ihren Status immer speichern zu können, für den Fall dass sie mal über den Jordan gehen.

Dass nur der root-user Prozesse beenden kann liegt nicht daran, dass sie ihm gehören, sondern dass Android ein Sicherheitskonzept implementiert hat, der Anwendungen nur durch APIs aufeinander zugreifen lässt. Der Task Manager kann ohne root-Berechtigungen andere Tasks nciht beenden weil Androids Sicherheitsmodell das verbietet.

Ansonsten, natürlich richtiges Multitasking (ggü vielen vielen anderen Geräten). Services sind alle die Prozesse die nach dem killen automatisch neu starten man kann also kaum was falsch machen beim Prozesse killen (wobei ich mich erinnern kann man einen zuviel beendet zu haben, das war aber nicht in einem Android-App sondern im Debian...)
__________________
Dream @ Froyo (GalisMod)
Vision @ Stock Lebkuchen // Jetzt mit traumhaft festem Scharnier & fest aufliegender Oberseite
ikarusx3 ist offline   Mit Zitat antworten
Alt 17.03.2009, 22:53   #8 (permalink)
Ehren-Mitglied
 
Benutzerbild von Autarkis

Modell: HTC G1 & Motorola Milestone 2

Registriert seit: 28.02.2009
Beiträge: 1.033
Abgegebene Danke: 29
Erhielt 43 Danke für 29 Beiträge
Autarkis eine Nachricht über ICQ schicken Autarkis eine Nachricht über MSN schicken Autarkis eine Nachricht über Yahoo! schicken Autarkis eine Nachricht über Skype™ schicken
Standard AW: Tasks, Services, Threads (multi?), RAM

Zitat:
Zitat von ikarusx3 Beitrag anzeigen
Android hat ein ganz witziges Konzept zur Ressourcenverwaltung. Programme/Dienste/leere Prozesse können beendet werden wenn Ressourcen angefordert werden, aber nicht verfügbar sind. Daher sind alle Android-Anwendungen angehalten, ihren Status immer speichern zu können, für den Fall dass sie mal über den Jordan gehen.
Cool, das wusste ich nicht.

Zitat:
Zitat von ikarusx3 Beitrag anzeigen
Dass nur der root-user Prozesse beenden kann liegt nicht daran, dass sie ihm gehören, sondern dass Android ein Sicherheitskonzept implementiert hat, der Anwendungen nur durch APIs aufeinander zugreifen lässt. Der Task Manager kann ohne root-Berechtigungen andere Tasks nciht beenden weil Androids Sicherheitsmodell das verbietet.
Eigentlich ist es weder das Android- noch das Linux-Sicherheitsmodell sondern das UNIX Sicherheitsmodell.

Zitat:
Zitat von ikarusx3 Beitrag anzeigen
Ansonsten, natürlich richtiges Multitasking (ggü vielen vielen anderen Geräten). Services sind alle die Prozesse die nach dem killen automatisch neu starten man kann also kaum was falsch machen beim Prozesse killen (wobei ich mich erinnern kann man einen zuviel beendet zu haben, das war aber nicht in einem Android-App sondern im Debian...)
Uhm, dann gib mal auf einem gerooteten (logisch) Telefon folgendes ein:

Code:
su
kill `pidof zygote`
Und schon raucht das Telefon mit einem Reboot ab. (Keine Angst, es kommt wieder, aber erstmal PIN eingeben )

Tasks abschiessen ist gefährlich. root ist mächtig. Mit root Tasks abschiessen ist mächtig gefährlich!

P.S.: Für die, die es ausprobieren wollen: Darauf achten dass der Teilbefehl pidof zygote in Gravis-Akzenten ` und nicht in Apostroph ' gesetzt ist. Für die Shell ist das nämlich ganz was anderes.
__________________
Twitter | deviantART | Last.FM Music
Motorola Milestone 2
Ich leiste keine Hilfestellung per PM. Dafür ist das Forum da.
Meine App New World of Dice: im Market
Disclaimer: Ich helfe zwar wo ich kann, kann aber nur vom HTC G1 und vom Motorola Milestone 2 aus eigener Erfahrung berichten!
Autarkis ist offline   Mit Zitat antworten
Alt 17.03.2009, 23:47   #9 (permalink)
Fortgeschrittenes Mitglied
 
Benutzerbild von ikarusx3

Registriert seit: 03.02.2009
Beiträge: 421
Abgegebene Danke: 0
Erhielt 310 Danke für 5 Beiträge
ikarusx3 eine Nachricht über ICQ schicken
Standard AW: Tasks, Services, Threads (multi?), RAM

Zitat:
Zitat von Autarkis Beitrag anzeigen
Eigentlich ist es weder das Android- noch das Linux-Sicherheitsmodell sondern das UNIX Sicherheitsmodell.
Es ist doch bei android so, dass jede Anwendung in einer eigenen Dalvik VM ausgeführt wird. Wenn ich unter linux 2 Anwendungen starten können die durchaus interagieren, wenn beide als user gestartet sind...z.b. kill einer App im Terminal.

Zitat:
Zitat von Autarkis Beitrag anzeigen
kill `pidof zygote`
Genau das app wars Klang irgendwie nicht als gehörts zu Android...falsch gedacht.

Und was heißt gefährlich...systemfreeze ist wahrlich nicht schlimm, nur annoying...gefährlicher wird mit einem system-remount und dann da drin rumbasteln. Da hilft nämlich auch neustarten nimmer.
__________________
Dream @ Froyo (GalisMod)
Vision @ Stock Lebkuchen // Jetzt mit traumhaft festem Scharnier & fest aufliegender Oberseite
ikarusx3 ist offline   Mit Zitat antworten
Alt 17.03.2009, 23:54   #10 (permalink)
Ehren-Mitglied
 
Benutzerbild von Autarkis

Modell: HTC G1 & Motorola Milestone 2

Registriert seit: 28.02.2009
Beiträge: 1.033
Abgegebene Danke: 29
Erhielt 43 Danke für 29 Beiträge
Autarkis eine Nachricht über ICQ schicken Autarkis eine Nachricht über MSN schicken Autarkis eine Nachricht über Yahoo! schicken Autarkis eine Nachricht über Skype™ schicken
Standard AW: Tasks, Services, Threads (multi?), RAM

Zitat:
Zitat von ikarusx3 Beitrag anzeigen
Es ist doch bei android so, dass jede Anwendung in einer eigenen Dalvik VM ausgeführt wird. Wenn ich unter linux 2 Anwendungen starten können die durchaus interagieren, wenn beide als user gestartet sind...z.b. kill einer App im Terminal.
Ja stimmt. Also, wenn beide dieselben User hätten, könnten sie sich gegenseitig killen. Aber auch dann: Systemprozesse könnten sie nicht killen! So ist es unter UNIX generell. Unter Android gibt es eben diese "virtuellen user" namesn app_032, app_152 und so weiter. Diese können sich dann gegenseitig nicht mehr tun.

Zitat:
Zitat von ikarusx3 Beitrag anzeigen
Genau das app wars Klang irgendwie nicht als gehörts zu Android...falsch gedacht.
Biologie für Einsteiger :

Zitat:
Zitat von http://de.wikipedia.org/wiki/Zygote
Eine Zygote ist eine befruchtete Eizelle (diploid), die durch Verschmelzung zweier haploider Geschlechtszellen (Gameten) entsteht – meistens aus einer Eizelle (weiblich) und einem Spermium (männlich).
Quasi der Ursprung des Systems.


Zitat:
Zitat von ikarusx3 Beitrag anzeigen
Und was heißt gefährlich...systemfreeze ist wahrlich nicht schlimm, nur annoying...gefährlicher wird mit einem system-remount und dann da drin rumbasteln. Da hilft nämlich auch neustarten nimmer.
War ja nur ein Beispiel. Einen anderen Prozess zu killen, während er in Arbeit ist, z.B. pdflush kann dich ein paar Dateien und ein fsck.vfat über deine SD-Karte kosten. Bitte nicht ausprobieren.
__________________
Twitter | deviantART | Last.FM Music
Motorola Milestone 2
Ich leiste keine Hilfestellung per PM. Dafür ist das Forum da.
Meine App New World of Dice: im Market
Disclaimer: Ich helfe zwar wo ich kann, kann aber nur vom HTC G1 und vom Motorola Milestone 2 aus eigener Erfahrung berichten!
Autarkis ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
Problem mit Threads GMoN Android App Entwicklung 2 23.05.2009 18:55
Problem mit Google Tasks nach 1.5 Cupcake Update Bernie T-Mobile G1 Forum 10 13.05.2009 15:40
Biete: T-mobile Google G1 mit Root und Multi-Touch 7.März Media-Markt Rechnung +Bonus Flat hallo65 Marktplatz 0 11.04.2009 21:04
Suche RTM Tasks .apk ibu2002 Sonstige Apps & Widgets 4 03.03.2009 22:03




Du liest gerade: "Tasks, Services, Threads (multi?), RAM" unter "T-Mobile G1 Forum" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.