2.3 & 2.4 - System Calls and Types of System Calls (p.55, 59)

  • System calls = Een interface naar services van het OS.
  • Application Programming Interface (API) = Gespecificeerde set van instructies welke toegankelijk zijn voor een programmaontwikkelaar inclusief de parameters bij de instructies en de teruggeef waarde.
  • Redenen voor werken met API anders dan direct gebruik maken van system calls:
    1. Programma portabiliteit (programma werkt op alle systemen met die API)
    2. System calls zijn meer gedetaileerd en moeilijker om mee te werken.
  • System-call interface = Link tussen de verschillende programeertalen en de beschikbare system calls van het systeem. (api link)
  • Doorgeven van parameters:
    • In registers
    • In geheugenblokken/tables (in geheugen), het address hiervan wordt doorgegeven.
    • Plaatsen op een stack (pushed on, popped off)
  • Blok/stack methode legt geen limiet op het aantal te gebruiken variabelen.

  • Java is bedoeld om platform-neutraal te kunnen draaien.

    • System calls kunnen niet direct worden gedaan vanuit java code.
    • Een native method in java kan dit wel, deze wordt geschreven in c/c++ maar is niet platform neutraal.

Types of System Calls

Process Control

  • End/Abort/Load/Execute/Terminate processes
  • Get/Set process attributes.
  • Wait/Signal for an event or a time.
  • Allocate/Free memory.
  • Set/Release data locks.

File Manipulation

  • Create/Delete/Open/Close/Read/Write/Reposition files.
  • Get/Set file attributes.

Device Manipulation

  • Reqeuest/Release devices.
  • Read/Write/Reposition devices.
  • Get/Set device attributes
  • Logically Attatch/Detach devices.

Information Maintenance

  • Get/Set time or date.
  • Get/Set systemdata.
  • Get/Set process, file or device attributes.

Communications

  • Create/Delete communication connection.
  • Send/Receive messages.
  • Transfer status information.
  • Attatch/Detach remote devices.

Protection

  • Get/Set file or folder permissions.
  • Get/Set file or folder owner or group.

results matching ""

    No results matching ""