Today the PECS 3405 EMBEDDED SYSTEMS paper was over.
Most of the short questions were good; albeit some difficulties in the
longer siblings.
- Shorts
- List down various hardware and software resources in an embedded computer system.
- Why the response time of LINUX is lower that WINDOWS operating system? <<Grammatical Error
- What are the parameters used to characterize a real time task?
- The performance of hierarchical memory system is faster. Why?
- Why embedded systems are realized as real time systems?
- Distinguish between hard, soft and firm real time systems?
- Distinguish between periodic, aperiodic and sporadic tasks in a RTOS.
- List down at least three tools that support the design and development of embedded system.
- What do you mean by release time and response time of real-time tasks?
- List down various hardware and software drivers used in an embedded system.
- Long
- Explain the relationship between operating system, computer hardware, system software in an embedded system with the help of a schematic diagram. [4]
- What is a system call? Explain the uses of system call in embedded system with an example. [4]
- The system calls are implemented as interrupt service routines. Justify. [2]
- Long
- What do you mean by interface synthesis? Illustrate how the communication time requirements are estimated using process-resource mapping and architectural inputs. [4]
- Describe a set of native communication application program interfaces in JAVA for the communication between JAVA and the system-on-chip. [6]
- Long
- What are various criteria to be considered for processor scheduling in an embedded system? Explain various types of processor scheduling policies with examples. Which of these is followed in LINUX operating system. [5]
- Five batch jobs A through E, arrive at a computer center at almost the same time. They have estimated running time of 10, 6, 2, 4 and 8 minutes. Their (externally determined) priorities are 3, 5, 2, 1 and 4 respectively, with 5 being the highest priority. For each of the following algorithms determine the mean process turn-around time, ignore process switching overhead: [5]
- Round Robin – assume that the system is multi-programmed and that each job gets its fair share of CPU.
- Priority Scheduling – assume that only one job at a time runs, until it finishes. All jobs are completely CPU bound.
- First come, first served (run in order 10, 6, 2, 4, 8 ) – ditto –
- Shortest job first – ditto –
- Long
- Discuss the role of tools for the development and debugging of embedded systems. What do you mean by run-control debugging and field debugging. [4]
- How does the response time is affected by enabling/disabling interrupts in every kernel service call in a real-time operating system? [3]
- Discuss the types of interrupts in embedded C. [3]
- Long
- A virtual memory system has an address space of 8k words, a memory space of 4k words and page and block sizes of 1k words. The following page reference changes occur during a given time interval. (Only page changes are listed, if the same page is referenced again, it is not listed twice). 4 2 0 1 2 6 1 4 0 1 0 2 3 5 7 Determine the four pages that are resident in main memory after each page reference change if the replacement algorithm used is (i)FIFO (ii)LRU. [5]
- Disk requests come into the disk driver for cylinders 10, 22, 20, 2, 40, 6 and 38 in that order. A seek takes 6 msec per cylinder moved. How much seek time is needed for (i) First come, first served, (ii) Closest cylinder next, and (iii) Elevator algorithm (initially moving upward). In all cases the arm is initially at cylinder 20. State advantages and disadvantages for each methods. [5]
- Long
- Explain briefly different real time operating systems with examples. [4]
- What is the primary goal of a real-time operating system? [2]
- Why round-robin scheduling policy is appropriate for time-sharing operating systems? Explain with example. [4]
- Long
- Explain the interprocess communication mechanisms in LINUX. [4]
- Discuss the message-based interprocess communication in embedded real-time systems and its appropriate operating system support. [3]
- How an optimized communication mechanism can be obtained using message-based interprocess communication. [3]
What do you think?
Short Q 2:
This is a bad question because the response time depends on a lot of things and both windows and Linux has lots of flavours catering to specific needs.
My Answer: Linux now has a good scheduler named CFS (Completely Fair Scheduler) by Redhat Programmer Ingo Molnar which is an adoption of ideas from the Rotating Staircase Deadline Scheduler by Con Kolivas. Now Ingo Molnar has also developed the -rt patchset which allows hard real-time capability in the stock Linux kernel.
As you know, the scheduler is a very important part of the OS, specific to providing service to processes, the response time of Linux is excellent. About Windows? All proprietary and hidden implementations. What we know is that Windows employs a 32 level priority scheduling mechanism. That’s all. However many case studies have been made to prove that the response of Linux is better than windows Why?
Windows kernel is a general purpose desktop kernel created for powering desktop oriented functions. Yes they have a server variant too. However the target audience is desktop users. Linux kernel is open source so many modifications to the kernels are there. It is used for desktop, server, embedded system and for super computers.
The specifications are too many so I tried to emphasize only on the scheduler. A lot of other things matter too like Demand Paging of Windows which is a method of requesting memory rather than an extension of memory and other things which can be said on this matter.
Too big answer for 2 mark question. Unjust!
Short Q 6:
Real Time Systems: Firm !!!
The emergence of multimedia and high-speed networks has expanded the class of applications that combine the timing requirements of hard real-time applications with the need for operating system services typically available only on soft-real time or time-sharing systems. These applications, are described as firm real-time. There are currently no widely-available, low-cost operating system to support them. The popular Linux operating system can be modified to support the comparatively stringent timing requirements of these applications, while still giving them access to the full range of os services available in Linux.
Got the idea? Find more in a Paid document
http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?tp=&arnumber=683194&isnumber=15011
A firm real-time system implementation using commercialoff-the-shelf hardware and free software
Srinivasan, B. Pather, S. Hill, R. Ansari, F. Niehaus, D.
Dept. of Electr. Eng. & Comput. Sci., Kansas Univ., Lawrence, KS
Long Q 4 b
Professor Anthony D. Joseph had put this question in the Midterm Exams in March 13, 2002 in his CS162 Operating Systems course.
The Q and A directly from him:
Five batch jobs A through E, arrive at a computer center at almost the same time. They have estimated running times of A:10, B:6, C:2, D:4, and E:8 minutes. Their (externally determined) priorities are A:3, B:5, C:2, D:1, and E:4, respectively, with 5 being the highest priority. For each of the following scheduling algorithms, determine the mean process turnaround time (average
response time). Ignore context switching overhead. For partial credit, you should list the finishing times.
i) Round-Robin (the timeslice size is not important, so assume a time-slice of 1 millisecond).
During the first 10 minutes, each job gets 1/5 of the CPU. At the end of 10 minutes, C finishes. During the next 8 minutes, each job gets 1/4 of the CPU, after which time D finishes. Then each of the three remaining jobs gets 1/3 of the CPU for 6 minutes, until B finishes, and so on. The finishing times for the five jobs are 10, 18, 24, 28, and 30, for an average of 22 minutes.
There were many varieties of incorrect answers for this one. The most common mistake was to compute the TAT for round-robin with a time slice of 1 minute, instead of 1 millisecond. This resulted in 3 incorrect finishing times.
ii) Priority scheduling.
B is run first. After 6 minutes, it is finished. The other jobs finish at 14, 24, 26, and 30, for an average of 20 minutes.
iii) First-come, First-served (run in order 10, 6, 2, 4, 8).
If the jobs run in the order A through E, they finish at 10, 16, 18, 22, and 30,for an average of 19.2 minutes.
iv) Shortest Job First.
Finish times are 2, 6, 12, 20, and 30, for an average of 14 minutes.
Q 6 a:
A virtual memory system has an address space of 8k words, a memory space of 4k words and page and block sizes of 1k words.
Extra data is given to confuse. Only the memory space of 4k words and block size of 1k results in 4 pages in memory.
As you need to show the pages in memory after each page replacement, you have to draw the diagram of each request as described in class. Both for FIFO and LRU.
Q 6 b:
The terms are confusing but look close, they have the same meaning. If you have studied well you can relate the algorithm names to our Sunday Class at Gandhinagar.
(i) First come, first served, FIFO or FCFS
(ii) Closest cylinder next, SSTF (Shortest Seek Time First)
(iii) Elevator algorithm (initially moving upward), C-Scan going upto the larger cylinder number.
Merits and Limitations you know and about the calculation, calculate how much cylinder traversal is required and multiply with 6 milisecond.
For example initially the arm was at 20th cylinder. In SSTF, the arm didnot move on first instance because request was for 20 and then moved to 22 so for first request 0msec and second request: 2 x 6 = 12msec. likewise…