background image

27 

 

διατίθενται  μέσω  διαδικτύου  από  το 

AppStrore

.  Εκεί  μπορούν  και  τρίτοι 

προγραμματιστές να διαθέτουν τις εφαρμογές που αναπτύσσουν.

  

Το λειτουργικό σύστημα του 

iPhone 

στηρίζεται στο 

UNIX

. Το λογισμικό 

του λειτουργικού συστήματος είναι οργανωμένο σε μια  στοίβα  στο κατώτερο 

επίπεδο της οποίας βρίσκεται ο πυρήνας 

Mach 

και οι οδηγοί του υλικού της 

συσκευής  κινητής  τηλεφωνίας  και  στο  αμέσως  ανώτερο  επίπεδο 

τοποθετούνται  λειτουργίες  πυρήνα  και  διεπαφές  για  ανάπτυξη  ειδικευμένων 

εφαρμογών. Η αρχιτεκτονική του διαρθρώνεται ως εξής:

 

 

Το επίπεδο του 

hardware 

της συσκευής. 

 

 

Το επίπεδο 

firmware.   

 

Το  επίπεδο  του  επεξεργαστή  που  σχετίζεται  με  το  σύνολο

 

των 

εντολών 

ARM 

και με τον πίνακα διακοπών (

interrupts).  

 

Το  επίπεδο 

iPhone  OS 

στο  οποίο  συμπεριλαμβάνονται  ο 

πυρήνας,  οι 

drivers 

και  οι  υπηρεσίες  που  αποτελούν  το 

λειτουργικό σύστημα. 

 

 

Το  επίπεδο 

Objective-C  Runtime 

που  περιλαμβάνει  τις 

δυναμικές και τις

 

βασικές βιβλιοθήκες της 

C.  

 

Το επίπεδο 

Frameworks/API 

με τα 

cocoa  touch 

2

και  οι  κλήσεις 

ανωτέρων επιπέδων. 

 

 

Το  επίπεδο  εφαρμογών  (

Application

)  των  εγκατεστημένων 

εφαρμογών. 

 

Η  ανάπτυξη  εφαρμογών  του 

iOS 

γίνεται  σε  τέσσερα  επίπεδα.  Οι 

υπηρεσίες  των  ανώτερων  επίπεδων  προσδίδουν  την  απαραίτητη 

αφαιρετικότητα  για  την  ανάπτυξη  προγραμμάτων  που  να  χρησιμοποιούν  τις 

υπηρεσίες των κατωτέρων επιπέδων. Τα επίπεδα αυτά επιγραμματικά είναι:

 

  Cocoa  Touch

:  Είναι  γραμμένο  σε  Objective

-

C  και  διαχειρίζεται  τα 

συμβάντα  στην  οθόνη  της  συσκευής, τα  συμβάντα  αλλαγή  κλίσης  της 

συσκευής  (Accelerometer),  την  υποστήριξη  κάμερας,  την  θέση  των 

προβαλλομένων στοιχείων και τις ρυθμίσεις της εφαρμογής.  

 

                                                           

2

 Πρωτόκολλο για την κατασκευή προγραμμάτων λογισμικού για iPod, iPad, iPhone. Εισάγει ένα 

επιπλέον επίπεδο αφαίρεσης στο iOS. Είναι γραμμένο σε Objective-C και επιτρέπει την χρήση υλικού 
και χαρακτηριστικών που δεν είναι διαθέσιμα σε MAC OS X.