Skip to main content

Quiz based on Digital Principles and Computer Organization

1) Base of hexadecimal number system? Answer : 16 2) Universal gate in digital logic? Answer : NAND 3) Memory type that is non-volatile? Answer : ROM 4) Basic building block of digital circuits? Answer : Gate 5) Device used for data storage in sequential circuits? Answer : Flip-flop 6) Architecture with shared memory for instructions and data? Answer : von Neumann 7) The smallest unit of data in computing? Answer : Bit 8) Unit that performs arithmetic operations in a CPU? Answer : ALU 9) Memory faster than main memory but smaller in size? Answer : Cache 10) System cycle that includes fetch, decode, and execute? Answer : Instruction 11) Type of circuit where output depends on present input only? Answer : Combinational 12) The binary equivalent of decimal 10? Answer : 1010 13) Memory used for high-speed temporary storage in a CPU? Answer : Register 14) Method of representing negative numbers in binary? Answer : Two's complement 15) Gate that inverts its input signal? Answer : NOT 16)

Disk scheduling

Disk Scheduling

* As mentioned earlier, disk moved speeds are limited primarily by seek times and rotational latency. When many requests are to be processed there is also some inherent delay in waiting for other requests to be processed.
* Bandwidth is calculated by the amount of data transferred divided by the total amount of time from the first request being made to the last transfer being completed, (for a series of disk requests.)
* Both bandwidth and access time can be increased by processing requests in a good order.
* Disk requests include the disk address, memory address, number of sectors to moved,and whether the request is for reading or writing.

FCFS Scheduling
First-Come First-Serve is easy and basically fair, but not very efficient. Consider in the following order the wild change from cylinder 122 to 14 and then back to 124:

SSTF Scheduling
* Shortest Seek Time First scheduling is more systematic, but may lead to starvation if a constant stream of requests arrives for the same general area of the disk.
* SSTF decreases the total head of 236 cylinders movements, down from 640 required for the same set of requests under FCFS. Note, however that the distance could be decreased still further to 208 by starting with 37 and then 14 first before processing the rest of the requests.

SCAN Scheduling
The SCAN algorithm, a.k.a. the elevator algorithm rotates back and front from one end of the disk to the other, similarly to an elevator processing requests in a tall building.
* Under the SCAN algorithm, if a request enters just ahead of the moving head then it will be processed right away, but if it arrives just after the head has passed, then it will have to delays for the head to pass going the other way on the return trip. This leads to a fairly wide difference in access times which can be improved upon.
* Consider, for example, when the head extends the high end of the disk: Requests with high cylinder numbers just missed the passing head, which means they are all fairly recent requests, whereas requests with low numbers may have been delaying for a much longer time. Making the return scan from high to low then ends up processing recent requests first and making older requests delays that much longer.

C-SCAN Scheduling
The Circular-SCAN algorithm improves upon SCAN by treating all requests in a circular queue fashion - Once the head extends the end of the disk, it backs to the other end without processing any requests, and then begins again from the beginning of the disk:

LOOK Scheduling
LOOK scheduling increases upon SCAN by looking ahead at the queue of pending requests, and not moving the heads any farther towards the end of the disk than is required. The following diagram demonstrates the circular form of LOOK:
Selection of a Disk-Scheduling Algorithm
* With very low charges all algorithms are same, since there will normally only be one request to process at a time.
* For moderately larger loads, SSTF offers good performance than FCFS, but may lead to starvation when loads become heavy enough.
* For busier systems, SCAN and LOOK algorithms delete starvation problems.
* The actual optimal algorithm may be something even more difficult than those discussed here, but the incremental enhancements are generally not worth the additional overhead.
* Some increment to overall file system access times can be made by intelligent 
placement of directory and/or inode information. If those structures are placed in the middle of the disk instead of at the starting of the disk, then the maximum distance from those structures to data blocks is decreased to only half of the disk size. If those structures can be further issues and furthermore have their data blocks stored as close as possible to the corresponding directory structures, then that decrease still further 
the overall time to find the disk block numbers and then process the corresponding data blocks.
* On modern disks the rotational latency can be almost as significant as they seek time, however it is not within the OSes manage to account for that, because modern disks do not reveal their interior sector mapping schemes, ( particularly when bad blocks have been remapped to additional sectors. )
• Some disk producers give for disk scheduling algorithms directly on their disk controllers, ( which do know the actual geometry of the disk as well as any 
remapping ), so that if a series of requests are sent from the computer to the controller then those requests can be served in an proper order.
• Unfortunately there are some considerations that the OS must take into account that are far away the abilities of the on-board disk-scheduling algorithms, such as importance of some requests over others, or the require to process certain requests in a particular order. For this reason OSes may elect to spoon-feed requests to the disk controller one at a time in various situations.

Popular posts from this blog

Introduction to C Programs

INTRODUCTION The programming language ‘C’ was developed by Dennis Ritchie in the early 1970s at Bell Laboratories. Although C was first developed for writing system software, today it has become such a famous language that a various of software programs are written using this language. The main advantage of using C for programming is that it can be easily used on different types of computers. Many other programming languages such as C++ and Java are also based on C which means that you will be able to learn them easily in the future. Today, C is mostly used with the UNIX operating system. Structure of a C program A C program contains one or more functions, where a function is defined as a group of statements that perform a well-defined task.The program defines the structure of a C program. The statements in a function are written in a logical series to perform a particular task. The most important function is the main() function and is a part of every C program. Rather, the execution o

Human Factors in Designing User-Centric Engineering Solutions

Human factors play a pivotal role in the design and development of user-centric engineering solutions. The integration of human-centered design principles ensures that technology not only meets functional requirements but also aligns seamlessly with users' needs, abilities, and preferences. This approach recognizes the diversity among users and aims to create products and systems that are intuitive, efficient, and enjoyable to use. In this exploration, we will delve into the key aspects of human factors in designing user-centric engineering solutions, examining the importance of user research, usability, accessibility, and the overall user experience. User Research: Unveiling User Needs and Behaviors At the core of human-centered design lies comprehensive user research. Understanding the target audience is fundamental to creating solutions that resonate with users. This involves studying user needs, behaviors, and preferences through various methodologies such as surveys, interview

Performance

Performance ( Optional ) * The I/O system is a main factor in overall system performance, and can place heavy loads on other main components of the system ( interrupt handling, process switching, bus contention, memory access and CPU load for device drivers just to name a few. ) * Interrupt handling can be relatively costly ( slow ), which causes programmed I/O to be faster than interrupt driven I/O when the time spent busy waiting is not excessive. * Network traffic can also loads a heavy load on the system. Consider for example the sequence of events that occur when a single character is typed in a telnet session, as shown in figure( And the fact that a similar group of events must happen in reverse to echo back the character that was typed. ) Sun uses in-kernel threads for the telnet daemon, improving the supportable number of simultaneous telnet sessions from the hundreds to the thousands.   fig: Intercomputer communications. * Rather systems use front-end processors to