Διαδικασία (υπολογιστές)

Διαδικασίαυποπρόγραμμα) καλείται μία σειρά προγραμματιστικών εντολών με συγκεκριμένο «σημείο εισόδου εκτέλεσης» και ένα ή περισσότερα[εκκρεμεί παραπομπή] «σημεία εξόδου», δηλαδή εντολές διακλάδωσης σε άλλο τμήμα του ευρύτερου εκτελούμενου προγράμματος. Μία διαδικασία δεν πρέπει να συγχέεται με έναν θεωρητικό αλγόριθμο, αν και όχι σπάνια μία διαδικασία υλοποιεί κάποιον αλγόριθμο σε γλώσσα μηχανής. Οι διαδικασίες είναι αυτοτελή τμήματα ενός προγράμματος τα οποία επιτελούν μία συγκεκριμένη εργασία και στα οποία ανατίθενται διακριτές ονομασίες. Μέσω αυτών των ονομάτων μπορούν να καλούνται κατά βούληση, και πιθανώς επανειλημμένα, από το ευρύτερο εκτελούμενο πρόγραμμα.

Οι διαδικασίες εμφανίστηκαν με το προγραμματιστικό υπόδειγμα του διαδικαστικού προγραμματισμού και λειτουργούν ως εξής: το εκτελούμενο πρόγραμμα φτάνει σε μία εντολή κλήσης του υποπρογράμματος η οποία δεν είναι παρά μία εντολή διακλάδωσης στο σημείο εισόδου της ζητούμενης διαδικασίας. Έτσι ο έλεγχος μεταφέρεται στην τελευταία και αυτή εκτελείται μέχρι να φτάσει σε ένα σημείο εξόδου, οπότε ο έλεγχος επιστρέφεται στο κυρίως πρόγραμμα και στην εντολή που ακολουθεί την κλήση της διαδικασίας.

Οι διαδικασίες είναι επίσης γνωστές και ως συναρτήσεις, υπορουτίνες, υποπρογράμματα, μέθοδοι κλπ. Ο όρος μέθοδος συνήθως χρησιμοποιείται στον αντικειμενοστρεφή προγραμματισμό, ενώ ο όρος συνάρτηση συνήθως (αλλά όχι πάντα, π.χ. στη γλώσσα προγραμματισμού υψηλού επιπέδου C) αφορά διαδικασίες που οι εντολές διακλάδωσης στα σημεία εξόδου τους «επιστρέφουν» μία μεταβλητή ή μία δομή δεδομένων για χρήση από το υπόλοιπο πρόγραμμα.