Symbian client server architecture
This presentation is the property of its rightful owner.
Sponsored Links
1 / 10

Symbian Client Server Architecture PowerPoint PPT Presentation


  • 74 Views
  • Uploaded on
  • Presentation posted in: General

Symbian Client Server Architecture. Symbian Client Server Architecture. Client, who (a software module) needs service from service provider (another software module)

Download Presentation

Symbian Client Server Architecture

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Symbian client server architecture

Symbian Client Server Architecture


Symbian client server architecture

Symbian Client Server Architecture

  • Client, who (a software module) needs service from service provider (another software module)

  • Server, who provide service to other module, Symbian servers are typically used to manage shared access to system resources and services. It is efficient as servers process multiple clients at a time.

    • For example, the File Server manages all files and file systems on behalf of all client programs. The file server may therefore ensure that all file resources are correctly shared. Similarly, the Window Server allows all applications to share the machine's screen, keyboard, and pointer devices.

  • Second role of server: protect the integrity of the system as it can ensure that resources are shared properly and clients use them correctly –well-defined interface.

    • Since client and server run in separate threads, they may also run in separate processes, with separate address spaces. This means there is no possibility of communication between them except by the interface provided by the server and its client interface. Thus, misbehaved clients cannot corrupt the server or any of the resources it manages on behalf of other clients.


Symbian client server architecture

Symbian Client Server Architecture

  • Servers can also be used to provide asynchronous services, as they run in a separate thread/process.

    • Asynchronous requests can be handled using Kernel services (e.g. timers) and active objects within an application thread. However, when the completion of a request is some time in the future, and the application program making the request might no longer be present, a continuously-running server is appropriate.

  • Most of the Symbian OS services are provided using the client-server model –e.g., the window server for access to UI resources such as the screen and the keypad, the serial communication server, the telephony server.


Symbian client server architecture

Symbian Client Server Architecture

  • A Symbian OS server always runs in a separate thread in regard to its clients (often in a separate process).

  • The server has associated client-side code that formats requests to pass to server, via the kernel, and hides the implementation details of the private client server communication protocol.


Symbian client server architecture

Inter-Thread read/write

Client Interface

Kernel Executive Routine

Symbian Client Server Architecture

Client-Thread

Server-Thread

Request

Response

Server

User

Privileges

Message

Kernel

Privileges

Kernel


Symbian client server architecture

Symbian Client Server Architecture

  • When the client and the server are running in different processes, they don’t have access to each other’s virtual address space –they use a message-passing protocol.

  • The communication channel is known as a session. This is created by the kernel, which intermediates between the client and the server.

    • To make a server request, the client sends a message to the server over the session. The message includes a 32-bit request type code, and up to four 32-bit parameters. The server may use data transfer services to send and receive additional data. When it has finished servicing the message, a 32-bit completion code is returned to the client. All client-server communication is mediated by the Kernel.

  • Usually, the message carries data as well, but for more data transfer, IPC is necessary (Client and Server are running in different processes).


Symbian client server architecture

Symbian Client Server Architecture

  • There are several kinds of server:

    • System servers are started as part of the OS startup.

    • Application servers are started only when clients need them. When the last client session closes, the server terminates (to save system resources).

    • Some servers are required by only one application– they are started and closed by the application.

  • A client can have one or more connections to a server through one or more sessions:

    • Each connection can use a separate session; sessions are independent of each other within the client thread and each maintains its own context.

    • The client can create sub-sessions within a single session; sub-sessions are more complex to implement server-side.

    • The server may support sharable sessions; up to 255 threads in a client may share a single session.


Symbian client server architecture

Symbian Client Server Architecture

  • A Client Server session is between one or more client threads (user mode) and a separate server thread.

  • The server uses non-preemptive active object event-handling.

  • If a client makes a request while the server is handling an event in RunL(), it has to wait until the completion of the method.

  • Each session consumes resources on the server and kernel sides the client should minimize the number of sessions (either share a session or create sub-sessions).


Symbian client server architecture

Request code

p

&q

&r

read

write

y

Symbian Client Server Architecture

Client

Server

Send Receive

TIpcArgs

ServiceL(RMessage2 aMsg)

p

aMsg.Int0()

q

aMsg.ReadL(1,…)

r

aMsg.WriteL(2,…)

aMsg.Complete(y)

Response


Symbian client server architecture

RSessionBase

CreateSession()

SendReceive()

Symbian Client Server Architecture

Server

Client

RMessage2

Function()

Complete()

ReadL()

WriteL()

CSession2

ServiceL()

1..n

RServer2

CServer2

Kernel

‘cookie’ == Address of Csession2

DSession

DServer

Note :

„has a“


  • Login