Ανάλυση του λειτουργικού συστήματος Firefox OS Υπότιτλος.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Τεχνολογίες Internet Υπηρεσίες & Εφαρμογές Τμήμα 1I-ΙΝΠ01 – Web Design / Development Κωνσταντίνος Σαπουντζής.
Advertisements

Δουλεύοντας με τα Windows
Δίκτυα υπολογιστών.
ΔΙΑΧΕΙΡΙΣΗ ΕΙΣΟΔΟΥ – ΕΞΟΔΟΥ (INPUT/OUTPUT)
Δήμος Καλαμαριάς Γεωργιάδης Γεώργιος Προϊστάμενος Τμήματος Πληροφορικής
4/3/2017 5:15 AM Επισκόπηση προσεγγίσεων ανάπτυξης εφαρμογών για έξυπνες κινητές συσκευές και ανάπτυξη πρότυπης εφαρμογής Ξανθόπουλος Σπύρος ΑΕΜ: 114 Διπλωματική.
Jetspeed Open Source Εργαλείο για την Δημιουργία Information Portals Πανεπιστήμιο Αιγαίου Βιορρές Νίκος.
Λειτουργικό Σύστημα ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ENOTHTA B.1.3 (1)
ShareIt Social Network Project Simos Hatzikostas: Manolhs Georgiou: Theodoros Demetriou:
ΔΗΜΙΟΥΡΓΙΑ ΜΑΘΗΣΙΑΚΟΥ ΥΛΙΚΟΥ ΠΟΛΥΜΕΣΩΝ ΚΑΙ ΥΠΕΡΜΕΣΩΝ Γνωριμία με τα πολυμέσα στα πλαίσια της διδασκαλίας και της μάθησης.
Εκπαιδευτικό υλικό Φωτογραφικές μηχανές και φωτογραφίες: Επεξεργασία φιλμ Επίπεδο γνώσεων: Προχωρημένοι χρήστες.
Λειτουργικά συστήματα
ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΑΡΧΕΙΟΝΟΜΙΑΣ-ΒΙΒΛΙΟΘΗΚΟΝΟΜΙΑΣ ΕΡΓΑΣΙΑ ΣΤΟ ΜΑΘΗΜΑ «ΨΗΦΙΑΚΕΣ ΒΙΒΛΙΟΘΗΚΕΣ» ΘΕΜΑ: ΧΡΗΣΗ ΦΟΡΗΤΩΝ ΣΥΣΚΕΥΩΝ ΣΤΙΣ ΨΗΦΙΑΚΕΣ ΒΙΒΛΙΟΘΗΚΕΣ.
Σχεδιαστικά εργαλεία Διαχείριση σελίδων Βιβλιοθήκες αντικειμένων Διαχείριση αντικειμένων Επιφάνεια ψηφιακής μελάνης Πληκτρολόγιο οθόνης ΟΦΕΛΗ Αναγνώριση.
ΚΕΦΑΛΑΙΟ 4. Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού και αξιοποιούν τις δυνατότητές του.
1 ΤΕΧΝΙΚΕΣ ΠΡΟΣΕΓΓΙΣΗΣ ΑΓΟΡΑΣ ΕΡΓΑΣΙΑΣ Βίκυ Μυρώνη Δρ. Τμ. Πληροφορικής ΑΠΘ 18 Νοεμβριου η Εισήγηση.
Λειτουργικό Σύστημα 2ο μέρος.
Κεφάλαιο 1ο: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
Τμήμα Αρχειονομίας-Βιβλιοθηκονομίας Ιόνιο Πανεπιστήμιο
ΕΠΙΚΟΙΝΩΝΙΑ ΑΝΘΡΩΠΟΥ – ΜΗΧΑΝΗΣ Εαρινό Εξάμηνο 2007 Παρουσίαση Εργαλείου Ανάπτυξης JBuilder Τσουρού Σταυρούλα, ΑΜ 708 Μαδεμλής Ιωάννης, ΑΜ 669.
Μια παρουσίαση από τον Άνθη Ιωάννη
Κατεύθυνση «Προηγμένες Τεχνολογίες Ανάπτυξης Λογισμικού»
Σύμφωνα με τον ΣΕΒ, αναμένεται να παρουσιάσουν ζήτηση μέχρι το 2020 Πηγή:
ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΑΡΧΕΙΟΝΟΜΙΑΣ –ΒΙΒΛΙΟΘΗΚΟΝΟΜΙΑΣ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ : ΥΠΗΡΕΣΙΕΣ ΠΛΗΡΟΦΟΡΗΣΗΣ ΣΕ ΨΗΦΙΑΚΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΤΥΠΟ MPEG-4 ΕΠΙΒΛΕΠΩΝ.
ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ
Για τη διδασκαλία των πολυμέσων 1/15 ΛΟΓΙΣΜΙΚΟ ΑΝΑΠΤΥΞΗΣ ΕΦΑΡΜΟΓΩΝ ΠΟΛΥΜΕΣΩΝ Ομάδα Ανάπτυξης Ομάδα Ανάπτυξης: Φίλιππος Δεληγιάννης, Παναγιώτης Κωστάκης,
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
Κατάρτιση Στελεχών ΟΤΑ σε θέματα ΤΠΕ: Ηλεκτρονική Μάθηση Λάζαρος Μεράκος Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών.
ΠΛΗΡΟΦΟΡΙΚΗ Α’ ΓΥΜΝΑΣΙΟΥ
ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΚΤΥΑ ΗΥ - ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ.
Ο προσωπικός υπολογιστής εσωτερικά
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Λογισμικό Λειτουργικό σύστημα Λογισμικό συστήματος
Network Inference Μπαλάφα Κασιανή - Αδριανή Πλασταρά Κατερίνα.
Λειτουργικά Συστήματα Πολλών Χρηστών
08/11/2013Σεβαστή Παπαδοπούλου - Κατερίνα Πατσιούρα ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ ΚΙΝΗΤΩΝ ΤΗΛΕΦΩΝΩΝ WINDOWS PHONE.
Εφαρμογές Υπολογιστών Ά Λυκείου Κεφ. 4 Λογισμικό Συστήματος
Παρουσίαση εργαλείου Microsoft Silverlight Βερβέρης Παναγιώτης Α.Μ.888 Παπαθανασίου Αθανάσιος Α.Μ.958 1Παρουσίαση τεχνολογίας Silverlight.
Ο Παγκόσμιος ιστός World Wide Web (WWW) Είναι μια υπηρεσία του Internet ΠΡΟΣΟΧΗ μην την ταυτίζουμε με το ιντερνέτ Αποτελείται από εκατομμύρια ιστοσελίδες.
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: Γνωριμία με το Λογισμικό
Μπόλαρη Αγγελικη(1451) Επιβλέπων Βολογιαννίδης Σταύρος ΑΤΕΙ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ Σέρρες 2013.
ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ ΝΊΚΟΣ ΠΑΠΑΔΆΚΗΣ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ.
Ανάπτυξη ηλεκτρονικών μαθημάτων στην πλατφόρμα Open eClass Γνωριμία με την Open eClass.
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΛΛΑΣ ΑΝΑΣΤΑΣΙΟΣ / ΦΕΒΡ ΚΕΦΑΛΑΙΟ 2 ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ.
Υλοποίηση εφαρμογών σε προγραμματιστικά περιβάλλοντα Κεφάλαιο 7.
A’ ΕΠΑ.Λ. Εφαρμογές Πληροφορικής Γεωργιλά Χιονία 1.
Παρουσίαση Πτυχιακής Εργασίας Τεχνολογία powerline homeplug για τη δημιουργία του «έξυπνου» σπιτιού και εφαρμογή της στην κατασκευή αλληλεπιδραστικής διεπαφής.
Γνωριμία με το Λογισμικό του Υπολογιστή
Κατηγορίες και Προδιαγραφές Λογισμικού Η/Υ (Software)
Κεφάλαιο 10: Υπηρεσίες και εφαρμογές Διαδικτύου
Καθηγητής: Δεβρίκης Κωνσταντίνος
ΥΠΗΡΕΣΙΕΣ ΚΑΙ ΕΦΑΡΜΟΓΕΣ ΔΙΑΔΙΚΤΥΟΥ 10.1 Υπηρεσίες Διαδικτύου
Λογισμικό Συστήματος και Λογισμικό Εφαρμογών
Εισαγωγή στα Λειτουργικά Συστήματα (ΛΣ) Operating Systems (OS)
Κεφάλαιο 7: Διαδικτύωση-Internet
FIELD MAP ΧΑΡΤΟΓΡΑΦΙΚΟΣ ΟΔΗΓΟΣ ΧΩΡΑΦΙΟΥ ANDROID
ΕΦΑΡΜΟΓΕΣ ΝΕΦΟΥΣ 13.1 Εισαγωγή στις Εφαρμογές Νέφους
Εφαρμογές Νέφους ΚΕΦΑΛΑΙΟ 13.
ΕΝΟΤΗΤΑ 1 – Υλικό, Λογισμικό και Εφαρμογές
Προγραμματιστικά Περιβάλλοντα
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ Ανάπτυξη Εφαρμογών για Φορητές Συσκευές
Πληροφοριακό σύστημα Πληροφοριακό Σύστημα μιας επιχείρησης/οργανισμού είναι ένα σύστημα που αποτελείται από ανθρώπους, διαδικασίες και εξοπλισμό (Υλικό,
Εφαρμογές Νέφους ΚΕΦΑΛΑΙΟ 13.
H/Y Υλικό Λογισμικό Συστήματος Εφαρμογών. H/Y Υλικό Λογισμικό Συστήματος Εφαρμογών.
Υπηρεσίες Διαδικτύου.
Υπηρεσίες και εφαρμογές Διαδικτύου
Συγγραφέας: Ζαγκότας Στεφανος Επιβλέπων Καθηγητής: Ούτσιος Ευάγγελος
TO BIOS βρίσκεται στην μητρική πλακέτα και τα αρχικά του σημαίνουν: Βασικό Σύστημα Εισόδου-Εξόδου.
«Βιβλιοθήκη ανοικτού εκπαιδευτικού λογισμικού ΠΣΔ:
Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ
ΔΙΑΔΙΚΤΥΑΚΗ ΣΟΥΙΤΑ ΠΡΟΓΡΑΜΜΑΤΩΝ
Μεταγράφημα παρουσίασης:

Ανάλυση του λειτουργικού συστήματος Firefox OS Υπότιτλος

Σκοπός της διπλωματικής εργασίας Σκοπός της παρούσας διπλωματικής εργασίας ήταν η διερεύνηση της συνολικής λειτουργικότητας αλλά και η ανάλυση των επί μέρους τμημάτων του λειτουργικού συστήματος για φορητές συσκευές Firefox OS.

Αναφορά στην εξέλιξη του λειτουργικού Firefox OS ▪ Βασικά τμήματα ενός λειτουργικού συστήματος (έμφαση στον πυρήνα/Kernel) ▪ Αναφορά στο ΛΣ Linux και στον πυρήνα αυτού (Linux Kernel) ▪ Μονοπάτι εξέλιξης από το σύστημα Linux στα ΛΣ φορητών συσκευών Android και κατόπιν στο Firefox OS ▪ Αναφορά στα σύγχρονα πρότυπα διαδικτυακών εφαρμογών (HTML, CSS, Javascript) τα οποία αποτελούν πυρήνα της φιλοσοφίας του Firefox OS

Ανάλυση των τμημάτων του λειτουργικού Firefox OS ▪ Στρώμα πυρήνα και υλικού - Gonk ▪ Στρώμα διάταξης παρουσίασης και εκτέλεσης εφαρμογών - Gecko ▪ Στρώμα διεπαφών – Gaia ▪ Παρουσίαση εργαλείων ανάπτυξης εφαρμογών στο λειτουργικό σύστημα Firefox OS

Λειτουργικό Σύστημα / Βασικά τμήματα Ανάλυση του λειτουργικού συστήματος Firefox OS

Λειτουργικό σύστημα ▪ Αποτελεί το πιο βασικό και κεντρικό κομμάτι του συνόλου του λογισμικού σε ένα υπολογιστικό σύστημα ▪ Υπεύθυνο για την οργάνωση και την διαχείριση πόρων τόσο σε επίπεδο υλικού (Συσκευές) όσο και σε επίπεδο λογισμικού (Εφαρμογές) ▪ Απόκρυψη της πολυπλοκότητας του τρόπου λειτουργίας του υλικού από τον χρήστη

Βασικά τμήματα Λειτουργικού ▪ Πυρήνας Λειτουργικού – Kernel ▪ Οδηγοί συσκευών – Device Drivers ▪ Διεπαφές χρήστη ▪ Γραμμή εντολών – Shell ▪ Γραφικό περιβάλλον – GUI ▪ Βοηθητικά εργαλεία και υπηρεσίες συστήματος – system utilities

Πυρήνας - Kernel Το κεντρικό κομμάτι του λειτουργικού συστήματος. Υπεύθυνος για: ▪ Διαχείριση Πόρων ▪ Επεξεργαστή, Μνήμη, επικοινωνία με συσκευές ▪ Χρονοπρογραμματισμό διεργασιών ▪ Οργάνωση σε χρονομερίδια της εκτέλεσης των στιγμιότυπων εφαρμογών και υπηρεσιών του χρήστη ▪ Μεταφορά μηνυμάτων και επικοινωνία μεταξύ διεργασιών

Τύποι πυρήνων ▪ Μονολιθικοί ▪ Όλες οι υπηρεσίες του λειτουργικού συστήματος τρέχουν στο κεντρικό νήμα εκτέλεσης του πυρήνα χρησιμοποιώντας την ίδια περιοχή μνήμης – Kernel Space ▪ Ευκολότερη υλοποίηση, αυξημένη ταχύτητα εκτέλεσης ▪ Μικροπυρήνες ▪ Μικρός πυρήνας – περιλαμβάνει μόνο τις βασικές λειτουργίες ▪ Όλες οι υπόλοιπες υπηρεσίες του λειτουργικού συστήματος υλοποιούνται σαν εφαρμογές σε περιβάλλον χρήστη – User Space

Τύποι πυρήνων ▪ Υβριδικοί ▪ Συνδυάζουν τα καλύτερα χαρακτηριστικά από τους μονολιθικούς και τους μικροπυρήνες ▪ Αυξημένη ταχύτητα εκτέλεσης – Μονολιθικοί ▪ Τμηματικότητα και ευελιξία - Μικροπυρήνες ▪ Άλλα είδη ▪ NanoKernels ▪ Exokernels

Πυρήνας λειτουργικού συστήματος Linux εξέλιξη του στις φορητές συσκευές (Android) Ανάλυση του λειτουργικού συστήματος Firefox OS

Λειτουργικό σύστημα Linux – Πυρήνας/Kernel ▪ Μέλος της οικογένειας των Unix-Like συστημάτων ▪ Ανοιχτού κώδικα ▪ Μονολιθικός πυρήνας ▪ Αρθρώματα Πυρήνα ▪ Σε αντίθεση με παραδοσιακούς μονολιθικούς πυρήνες, οι οδηγοί συσκευών ρυθμίζονται σαν αυτόνομα αρθρώματα λογισμικού τα οποία μπορούν να φορτωθούν και να αφαιρεθούν δυναμικά ενώ τρέχει το σύστημα

Λειτουργικό σύστημα Linux – Πυρήνας/Kernel ▪ Ο Πυρήνας του Linux προσφέρει αρκετές διεπαφές προς τις εφαρμογές που εκτελούνται στην περιοχή του Χρήστη ▪ Linux API προγραμματιστική διεπαφή η οποία επιτρέπει στις εφαρμογές να αποκτούν πρόσβαση σε πόρους και υπηρεσίες τις οποίες διαχειρίζεται ο πυρήνας. ▪ Η διεπαφή Κλήσεων συστήματος (System Call Interface), είναι όλο το σύνολο των υλοποιημένων κλήσεων συστήματος σε έναν πυρήνα. Αρκετά υποσυστήματα του πυρήνα έχουν τις δικές τους κλήσεις συστήματος οι οποίες περιλαμβάνονται στο γενικό System Call Interface. ▪ H glibc είναι μια βιβλιοθήκη η οποία αποτελεί περικάλυμμα στην διεπαφή System Call Interface. Δίνει την δυνατότητα προγραμματιστικά, με χρήση συναρτήσεων της βιβλιοθήκης C, να πραγματοποιούνται κλήσεις συστήματος μέσω του πυρήνα

Λειτουργικό σύστημα Linux – Πυρήνας/Kernel ▪ O πυρήνας του Linux είναι γραμμένος σε κώδικα C με ελάχιστα κομμάτια γραμμένα σε κώδικα ASSEMBLY ανάλογα με την αρχιτεκτονική του συστήματος για το οποίο προορίζεται προς εκτέλεση. ▪ Μεγάλη φορητότητα και ευελιξία Αν και το Linux αρχικά σχεδιάστηκε με συγκεκριμένη αρχιτεκτονική σήμερα είναι από τα πιο διαδεδομένα σε φορητότητα λειτουργικά συστήματα. ▪ Προσωπικούς υπολογιστές ▪ Ενσωματωμένο σε συσκευές – Controllers, Routers, Τηλεοράσεις, Οχήματα κτλ. ▪ Φορητές συσκευές – Κινητά, Tablet, Smartwatches ▪ Servers – Διακομιστές, ΜainFrames ▪ Supercomputers, Συστοιχίες Cloud

Λειτουργικό σύστημα Android ▪ Βασισμένο σε πυρήνα Linux ▪ Περιέχει διεπαφές οι οποίες βασίζονται σε οθόνες αφής ▪ Σχεδιασμένο με βάση την ανάγνωση αλληλεπιδράσεων του χρήστη με οθόνες αφής ▪ Ειδικά συστήματα διαχείρισης εφαρμογών και μνήμης με σκοπό την εξοικονόμηση ενέργειας λόγο μπαταρίας ▪ Βασική πλατφόρμα υλικού: Επεξεργαστές ARM Κεντρική οθόνη του Android 1.5

Android - Εφαρμογές ▪ Αυτόνομα “Apps” γραμμένα σε γλώσσα JAVA ▪ Διανέμονται μέσω κεντρικής πλατφόρμας /store – Google Play Store ▪ Android Application Framework – API ▪ Σύνολο προγραμματιστικών διεπαφών το οποίο περιλαμβάνει βιβλιοθήκες συμβατές με την Java οι οποίες επιτρέπουν προγραμματιστική πρόσβαση σε διαχειριστές πακέτων, στοιχείων οθόνης, τοποθεσίας, τηλεφώνου, επαφών, πόρων κτλ.

Λειτουργικό σύστημα Firefox OS Ανάλυση του λειτουργικού συστήματος Firefox OS

Λειτουργικό σύστημα Firefox OS ▪ Βασισμένο σε πυρήνα Linux ▪ Μοιράζεται ένα μεγάλο κομμάτι υπηρεσιών, τεχνολογιών και βιβλιοθηκών από το open source κομμάτι του Android. ▪ Βασίζεται εξολοκλήρου σε τεχνολογίες HTML5 για την ανάπτυξη και εκτέλεση εφαρμογών ▪ Οι εφαρμογές αποτελούν web applications οι οποίες εκτελούνται μέσα από μια ειδική έκδοση περιηγητή Κεντρική οθόνη του Firefox OS 1.5

Ιστορική εξέλιξη του Project Ημ/νιαΈκδοση 2011ΙούλιοςΑρχική ανακοίνωση του Project με κωδική ονομασία “Boot to Gecko” 2013ΙούλιοςΠρώτη επίσημη έκδοση του λειτουργικού Firefox OS ΟκτώβριοςFirefox OS ΔεκέμβριοςFirefox OS ΜάρτιοςFirefox OS ΑύγουστοςFirefox OS ΣεπτέμβριοςFirefox OS ΝοέμβριοςFirefox OS ΑπρίλιοςFirefox OS 2.2 Firefox OS 3.0 – Υπό ανάπτυξη

Φιλοσοφία Firefox OS – Τεχνολογίες Web ▪ Οι εφαρμογές είναι web application οι οποίες εκτελούνται σε περιβάλλον περιηγητή και βασίζονται σε τεχνολογίες: ▪ ΗΤΜL5 – Γλώσσα περιγραφής ιστοσελίδων ▪ CSS3 – Πρότυπο περιγραφής στυλ εμφάνισης ιστοσελίδων ▪ Javascript – Γλώσσα προγραμματισμού ιστοσελίδων μέσα σε περιβάλλον περιηγητή

HTML5 ▪ Εγγενή υποστήριξη σύγχρονων τεχνολογιών πολυμέσων σε ιστοσελίδες (βίντεο/ήχος) ▪ Νέες τεχνικές διάταξης ειδικά για εμφάνιση περιεχομένου σε φορητές συσκευές ▪ Υποστήριξη προγραμματιστών διεπαφών (APIs) με σκοπό την δημιουργία πολύπλοκων διαδικτυακών εφαρμογών

CSS3 ▪ Δομές για ευέλικτη διάταξη των στοιχείων στον χώρο ▪ Δομές για αναδιάταξη των στοιχείων ανάλογα με το μέγεθος οθόνης της συσκευής ▪ Στοιχεία απαραίτητα για την δημιουργία γραφικών διεπαφών: ▪ Εγγενής Υποστήριξη ενεργειών και εφέ αλληλεπίδρασης ▪ Εγγενής Υποστήριξη δυνατότητας κίνησης (animation)

Javascript ▪ Ευέλικτος χειρισμός της δομής ολόκληρης της ιστοσελίδας (DOM) ▪ Βελτιστοποίηση των μηχανών εκτέλεσης της γλώσσας στους σύγχρονους περιηγητές – Αυξημένη απόδοση εφαρμογών ▪ Πρόσβαση σε έναν μεγάλο αριθμό προγραμματιστικών διεπαφών μέσω του περιηγητή ▪ Πρόσβαση σε χώρους αποθήκευσης (τοπικές βάσεις, συστήματα αρχείων) ▪ Επιλεγμένη πρόσβαση στο υλικό της συσκευής ▪ Πρόσβαση σε δικτυακά πρότυπα επικοινωνίας (websockets)

Βασικοί στόχοι του Firefox OS σχετικά με τις Web τεχνολογίες ▪ Έκθεση των χαρακτηριστικών της κινητής συσκευής (όπως camera, τηλέφωνο, gps) μέχρι το επίπεδο μιας web εφαρμογής μέσω κατάλληλων web APIs. ▪ Δημιουργία ενός μοντέλου προνομίων το οποίο με ασφάλεια θα ελέγχει την έκθεση αυτών των χαρακτηριστικών στις εκάστοτε web εφαρμογές/σελίδες. ▪ Δημιουργία εφαρμογών που να αναδεικνύουν αυτές τις δυνατότητες ▪ Παροχή χαμηλού επιπέδου κώδικα, για την εκκίνηση του λειτουργικού σε συσκευές συμβατές με το λειτουργικό σύστημα Android.

Βασικά τμήματα αρχιτεκτονικής του Firefox OS Το λειτουργικό χωρίζεται σε τρία στρώματα λογισμικού: ▪ Gonk – είναι η πλατφόρμα που συνδυάζει τον πυρήνα λειτουργικού Linux από το Android Project και ένα στρώμα αφαίρεσης υλικού HAL. ▪ Gecko – είναι η μηχανή και το επίπεδο παρουσίασης του περιηγητή Firefox, η οποία επίσης παρέχει πλέον ένα ολοκληρωμένο περιβάλλον εκτέλεσης εφαρμογών ▪ Gaia – στρώμα λογισμικού υλοποιημένο εξολοκλήρου σε HTML με την βοήθεια της Javascript, το οποίο παρέχει το βασική γραφική διεπαφή του λειτουργικού με τον χρήστη.

Gonk, στρώμα πυρήνα Ανάλυση του λειτουργικού συστήματος Firefox OS

Gonk, Στρώμα πυρήνα ▪ Μινιμαλιστική διανομή του λειτουργικού Linux ▪ Αποτελείται από ▪ Μορφοποιημένη έκδοση του πυρήνα Linux ▪ Στρώμα αφαίρεσης υλικού – HAL ▪ Κάθε συσκευή περιλαμβάνει έναν εξειδικευμένο συνδυασμό τμημάτων του Gonk, βιβλιοθηκών και οδηγών συσκευών ▪ Τα τμήματα αυτά καθορίζονται με βάση τον κατασκευαστή της εκάστοτε συσκευής

Αρχιτεκτονική Gonk Τα υποσυστήματα των κατασκευαστών περιλαμβάνουν ▪ Οδηγούς συσκευών (π.χ. τηλεφωνικό modem, σύστημα wifi κτλ) ▪ Firmware – Κάποια κομμάτια υλικού μπορούν να φορτώνουν υλικολογισμικό από την κάρτα flash ▪ Διεργασίες / δαίμονες σε επίπεδο λειτουργικού που θα διαχειρίζονται αυτές τις συσκευές και θα τις εκθέτουν σε ανώτερα επίπεδα εφαρμογών

Διαδικασία εκκίνησης λειτουργικού συστήματος ▪ Εκκίνηση διαδικασιών στον bootloader ▪ Εμφάνιση οθόνης έναρξης (splash screen) ▪ Μεταφορά ειδώλου λειτουργικού στην συσκευή ▪ Φόρτωση πυρήνα Linux ▪ Εκτέλεση αρχικών διεργασιών συστήματος όπως περιγράφονται στο αρχείο init.rc ▪ Εκτέλεση διεργασιών στο αρχείο init.b2g.rc (στοίβες τηλεφωνίας, εκτέλεση gecko) ▪ Εκτέλεση της διεργασίας B2G ▪ Κεντρική διεργασία του Firefox OS ▪ Προετοιμασία εκτέλεσης διεργασιών περιεχομένου (Web εφαρμογές)

Gecko, μηχανή διάταξης και εκτέλεσης Ανάλυση του λειτουργικού συστήματος Firefox OS

Gecko, μηχανή διάταξης ▪ Μηχανή διάταξης αρχικά σχεδιασμένη για την εμφάνιση ιστοσελίδων στον Mozilla Firefox ▪ Αναλαμβάνει την σωστή εμφάνιση και εκτέλεση ιστοσελίδων/web applications, διαβάζοντας περιεχόμενο: ▪ HTML ▪ CSS ▪ Javascript ▪ MathML ▪ XML

Gecko, μηχανή διάταξης ▪ Μεσολαβεί σαν συνδετικός κρίκος μεταξύ των web εφαρμογών και του υλικού της συσκευής ▪ Παρέχει ομάδες ειδικών προγραμματιστικών διεπαφών - Web APIs - προσβάσιμα στις εφαρμογές μέσω κλήσεων Javascript: ▪ Communication APIs (επικοινωνιών) ▪ Hardware access APIs (πρόσβασης υλικού) ▪ Data Management ΑPIs (διαχείρισης δεδομένων) ▪ Οther APIs (υπόλοιπες λειτουργικότητες)

Web APIs επικοινωνιών (Communication APIs) Σε αυτή την κατηγορία περιλαμβάνονται διεπαφές σχετικές με τα υποσυστήματα επικοινωνιών της συσκευής και συγκεκριμένα: ▪ API Πληροφοριών Δικτύωσης (Network Information) ▪ API για συνδέσεις Bluetooth ▪ ΑPI πληροφοριών σύνδεσης κινητής τηλεφωνίας (Mobile Connection) ▪ API για στατιστικά δικτυακής κίνησης (Network Stats) ▪ API για συνδέσεις TPC/socket ▪ API για τηλεφωνικές λειτουργίες (telephony) ▪ API για SMS μηνύματα (WebSMS API) ▪ API για πληροφόρηση συνδέσεων ασύρματου δικτύου (WiFi Information)

Web APIs για πρόσβαση στο υλικό (Hardware Access APIs) Πρόκειται για διεπαφές που επιτρέπουν πρόσβαση σε λειτουργίες υλικού της συσκευής όπως κάμερα, δίκτυο, αισθητήρες κτλ. ▪ API πρόσβασης στον αισθητήρα φωτισμού (Ambient Light Sensor) ▪ API κατάστασης μπαταρίας (battery status) ▪ API διαχείρισης ενέργειας (power management) ▪ API δόνησης (vibration API) ▪ API εντοπισμού γεωγραφικής θέσης (Geolocation API) ▪ API πρόσβασης Ραδιοφώνου (WebFM API) ▪ API προσανατολισμού συσκευής (Device Orientation) ▪ ΑPI προσανατολισμού οθόνης (Screen Orientation) ▪ API πληροφοριών απόστασης (Proximity API) ▪ API φωτογραφικής μηχανής (Camera API)

Web APIs διαχείρισης δεδομένων (Data management) Πρόκειται για διεπαφές που επιτρέπουν πρόσβαση σε δεδομένα που είναι αποθηκευμένα στην συσκευή ▪ API χειρισμού αρχείων (Filehandle API) ▪ API βάσης δεδομένων (IndexedDB) ▪ API διαχείρισης επαφών (Contacts API) ▪ API αποθηκευτικού συστήματος της συσκευής (Device Storage) ▪ API ρυθμίσεων συσκευής (Settings)

Υπόλοιπα Web APIs ▪ API ειδοποιήσεων (Alarm API) ▪ API απλής δρομολόγησης μηνυμάτων (Simple Push API) ▪ API web ειδοποιήσεων (Web Notifications) ▪ API εφαρμογών (Apps API) ▪ API δραστηριοτήτων web (Web Activities) ▪ API πληρωμών μέσω διαδικτύου (Web Payments) ▪ API περιηγητή ιστού ▪ API αδράνειας (Idle API) ▪ API δικαιωμάτων (Permissions) ▪ API Ώρας (Time/Clock API)

Yποσυστήματα Gecko ▪ Διαχείριση γεγονότων εισόδου. ▪ Διοχέτευση γεγονότων εισόδων από το στρώμα του υλικού στα ανώτερα στρώματα των εφαρμογών ▪ Υποσύστημα γραφικών. ▪ Σχεδίαση τμημάτων των ιστοσελίδων ως επιταχυνόμενα γραφικά με χρήση OpenGL και των GPU των συσκευών ▪ Πλαίσιο Λογισμικού για την Ασφάλεια Εφαρμογών ▪ Έλεγχος δικαιωμάτων εφαρμογών, πιστοποίηση εφαρμογών και χρηστών. ▪ Σύστημα διαχείρισης εγκαταστάσεων και ενημερώσεων εφαρμογών. ▪ DOM APIs ▪ Διεπαφές για επικοινωνία των web εφαρμογών με το ίδιο το gecko

Αρχιτεκτονική Gecko Gecko Σύστημα Διαχείρισης Δικαιωμάτων Web APIs Σύστημα εισόδου/εξόδου από το υλικό Σύστημα γραφικών Κεντρικό εκτελέσιμο b2g (boot to gecko) Λίστες Ελέγχου πρόσβασης Επικ. Διαπιστευτηρ ίων Αποθήκευση Δικαιωμάτων Γονέας Gecko Περιβάλλον εκτέλεσης Περιεχόμενο Ιστού (εφαρμογή) Διεργασία παιδί του Gecko Gaia Gonk Διεργασίες/υπηρεσίες χαμηλού επιπέδου

Gaia, περιβάλλον διεπαφής χρήστη σε HTML5 Ανάλυση του λειτουργικού συστήματος Firefox OS

Gaia, περιβάλλον γραφικής διεπαφής ▪ To στρώμα Gaia αποτελεί το επίπεδο γραφικής διεπαφής του Firefox OS. Ότι εμφανίζεται στην οθόνη αφού ολοκληρωθεί η φόρτωση του λειτουργικού σχεδιάζεται από το Gaia συμπεριλαμβανόμενων των εξής οθονών: ▪ Οθόνη κλειδώματος ▪ Κεντρική Οθόνη (Home Screen) ▪ Οθόνες υπόλοιπων εφαρμογών ▪ H Gaia είναι εξολοκλήρου υλοποιημένη σε HTML, CSS και JavaScript άρα αποτελεί από μόνη της μια δικτυακή εφαρμογή. ▪ Η μόνη της διεπαφή στα κατώτερα στρώματα λειτουργικού είναι μέσω JavaScript κλήσεων στα WebAPIs του Gecko.

Κεντρικές οθόνες της διεπαφής Οθόνη κλειδώματος Gaia Κεντρική οθόνη εφαρμογών Οθόνη κεντρικών ρυθμίσεων

Οθόνες βασικών εφαρμογών Οθόνη κλήσης αριθμού Οθόνη εφαρμογής Ρολόι Οθόνη Εφαρμογής Κάμερας

Κατηγορίες βασικών εφαρμογών περιβάλλοντος Gaia ▪ Εφαρμογές πλατφόρμας ▪ Σύστημα, περιηγητής, διαχείριση παραθύρων, βασικές ρυθμίσεις ▪ Εφαρμογές επικοινωνίας ▪ Κλήση αριθμού, επαφές ▪ Εφαρμογές παραγωγικότητας ▪ Ρολόι, Ημερολόγιο, ▪ Εφαρμογές Πολυμέσων ▪ Κάμερα, Φωτογραφίες, Βίντεο, Μουσική

Ανάπτυξη εφαρμογών σε περιβάλλον Firefox OS / Ανάλυση εφαρμογής: Ρολόι Ανάλυση του λειτουργικού συστήματος Firefox OS

Εφαρμογές Firefox OS ▪ Αποκλειστικά Web εφαρμογές ▪ Βασισμένες σε HTML, CSS, Javascript ▪ Κλήσεις στα WebAPIs του Firefox OS ▪ Διανέμονται σε κατάλληλα πακέτα: ▪ Αρχεία εφαρμογής ▪ Αρχεία πόρων (εικονίδια, ήχοι, γραφικά) ▪ Περιγραφή της εφαρμογής σε ειδικό αρχείο manifest.webapp

Αρχείο manifest.webapp ▪ Απαραίτητο για να αναγνωρίσει το Firefox OS την εφαρμογή

Πακετάρισμα και διανομή ▪ Φιλοξενία των αρχείων σε εξυπηρετητή web. (Όπως ακριβώς και με ιστοσελίδες) ▪ Πακετάρισμα σε αρχείο zip και τοποθέτηση σε εξυπηρετητή για download ▪ Φιλοξενία στο Firefox Marketplace, κεντρική αγορά εφαρμογών της Mozilla Στιγμιότυπο από την κεντρική οθόνη του Firefox Marketplace

Εργαλεία ανάπτυξης – WEB IDE ▪ WEB IDE - Περιβάλλον ανάπτυξης web εφαρμογών από την Mozilla ▪ Βασισμένο στον Mozilla Firefox ▪ Περιλαμβάνει εξομοιωτή του λειτουργικού Firefox OS για διάφορες εκδόσεις και συσκευές ▪ Περιλαβάνει τα εργαλεία προγραμματιστή (όπως και ο Firefox) για επισκόπηση των αρχείων html, των τμημάτων μιας ιστοσελίδας, και πρόσβαση στα αντικείμενα και στην κονσόλα εκτέλεσης της Javascript

Εργαλεία ανάπτυξης – WEB IDE Εργαλεία προγραμματιστή στο WEB IDE Εκτέλεση του εξομοιωτή Firefox OS

Ανάλυση της εφαρμογής Ρολόι στο περιβάλλον WEB IDE ▪ Πραγματοποιήθηκε εκκίνηση του Firefox OS μέσα από τον εξομοιωτή του WEB IDE. ▪ Έγινε εκκίνηση της βασικής εφαρμογής: Ρολόι ▪ Χρησιμοποιώντας τον επιθεωρητή HTML από τα εργαλεία προγραμματιστή παρατηρήθηκε ότι στην ουσία η εφαρμογή ρολόι είναι ένα έγγραφο html το οποίο περιλαμβάνει διάφορα στοιχεία με την μορφή div elements. ▪ Έγινε επέμβαση δυναμικά στους κανόνες css της εφαρμογής με αποτέλεσμα την εξαφάνιση του δείκτη δευτερολέπτων δυναμικά

Ανάλυση της εφαρμογής Ρολόι στο περιβάλλον WEB IDE

ευχαριστώ για την υπομονή και την προσοχή σας Ανάλυση του λειτουργικού συστήματος Firefox OS