1 / 10

COMMON INTERFACE FOR EMBEDDED SOFTWARE CONFIGURATION by Yatiraj Bhumkar

COMMON INTERFACE FOR EMBEDDED SOFTWARE CONFIGURATION by Yatiraj Bhumkar. Advisor Dr. Chung-E Wang Department of Computer Science CALIFORNIA STATE UNIVERSITY, SACRAMENTO. Expensive hardware increases overall cost. Lesser degree of scalability.

ingrid
Download Presentation

COMMON INTERFACE FOR EMBEDDED SOFTWARE CONFIGURATION by Yatiraj Bhumkar

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. COMMON INTERFACE FOR EMBEDDED SOFTWARE CONFIGURATION by Yatiraj Bhumkar Advisor Dr. Chung-E Wang Department of Computer Science CALIFORNIA STATE UNIVERSITY, SACRAMENTO

  2. Expensive hardware increases overall cost. • Lesser degree of scalability. • Most of the visible hardware is required to control the invisible hardware or software. Purchased in 1970 by UNT, the IBM 360/50 CPU was acquired to support academic and administrative computing. The original configuration of the 360/50 was one multiplexer channel, one selector channel, 256K core memory, a 1403 line printer, a 2540 card reader/punch, three 30KB tape drives, and five 2314 single density disk drives. The original operating system was OS/MFT/HASP supporting a maximum of three user partitions.

  3. With the help of one web server and several web pages per software, we can configure all hardware and software at no extra hardware cost. • Very high degree of scalability.

  4. CGI Executable Embedded device Common Gateway Interface (CGI) • CGI as a separate process hampers optimization goals: static resources (PCB), run-time resource (context switching time). • Several web pages of several different software and hardware and their corresponding CGI executables make management clumsy, wastage of file-system space.

  5. Solutions to CGI drawbacks • Fast CGI: • Intelligent approach to save spawning of separate process PER request. • Similar kind of requests are serviced by one process each. • The process keeps running listening for other such requests. • Wastage of resources. • Ad hoc intelligence reduces scalability • In-process CGI: • Once a CGI process is spawned, it converts all function calls into inline functions. • Reduces the overhead of function calls. • Greater image size because of inline functions. • It still spawns a separate process per request. • CGI threads: • Spawn a separate THREAD instead of Process. • Spawning of threads still incurs context switching. • For Linux, threads and processes are one and the same at kernel-level.

  6. My approach of CGI • CGI as function call: • Instead of spawning process or thread, if CGI can be called as a function, it would save enormous amount of resources.

  7. Advantages of CGI Function • No spawning of process, no context switching. • Saves memory and other critical resources, improves overall speed and performance. • No inline functions involved, maintaining small web server footprint. • Same interface with web server as normal CGI process. • Migration from CGI process to CGI function is easy.

  8. Drawbacks of CGI Function • Allows code isolation but NO execution isolation from web server. If CGI function crashes, whole web server crashes. • Sequential execution so the web server has to wait for the CGI function to finish.

  9. Future Extensions Questions Please!!! • Universal file manipulation library • XML parsing tool. • Configuration on the fly • Software restarts to read from configuration file , entails Unaffordable downtime. • Software should export functions that are dynamically linked with web server. • These functions change the variable values on the fly.

More Related