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 management

Disk Formatting

* Before a disk can be used, it has to be low-level formed, which means laying down all of the headers and trailers marking the beginning and ends of each sector. Included in the header and trailer are the linear sector numbers, and error-correcting codes, ECC, which permits damaged sectors to not only be detected, but in many cases for the damaged data to be retrieved (depending on the extent of the damage) Sector sizes are traditionally 512 bytes, but may be larger, particularly in larger drives.
* ECC computation is performed with every disk read or write, and if damage is detected but the data is recoverable, then a soft error has occurred. Soft errors are normally handled by the on-board disk controller, and never seen by the OS. (See below.)
* Once the disk is low-level formed, the next step is to partition the drive into one or more separate partitions. This step must be terminated even if the disk is to be used as a single large partition, so that the partition table can be written to the beginning of the disk.
* After splitting, then the file systems must be logically formatted, which involves laying down the master directory information (FAT table or inode structure), initializing free lists, and creating at least the root directory of the file system. (Disk splits which are to be used as raw devices are not logically formatted. This saves the overhead and disk space of the file system structure, but needs that the application program manage its own disk storage requirements. )

Boot Block
* Computer ROM has a bootstrap program (OS independent) with just enough code to find the first sector on the first hard drive on the first controller, load that sector into memory, and transfer control over to it. ( The ROM bootstrap program may look in floppy and/or CD drives before rebooting the hard drive, and is smart enough to recognize whether it has found valid boot code or not. )
* The first sector on the hard drive is known as the Master Boot Record, MBR, and has a very small amount of code in addition to the partition table. The partition table documents how the disk is splitted into logical disks, and indicates specifically which partition is the active or boot partition.
* The boot program then looks to the active splits to find an operating system, possibly loading up a slightly larger / more advanced boot program along the way.
* In a dual-boot ( or larger multi-boot ) system, the user may be given a chance of which operating system to boot, with a default action to be taken in the event of no reaction within some time frame.
* Once the kernel is found by the boot program, it is loaded into memory and then mnaged is transferred over to the OS. The kernel will normally continue the boot process by resetting all important kernel data structures, launching important system services (e.g. network daemons, sched, init, etc.), and finally giving one or more login prompts. Boot options at this stage may include single-user a.k.a. maintenance or safe modes, in which very few system services are started - These modes are designed for system administrators to repair problems or otherwise maintain the system.
Bad Blocks
* No disk can be produced to 100% perfection, and all physical objects wear out over time. For these reasons all disks are shipped with a few bad blocks, and additional blocks can be predicted to go bad slowly over time. If a large number of blocks go bad then the whole disk will need to be replaced, but a few here and there can be handled through other means.
* In the old days, bad blocks had to be verified for manually. Restarting of the disk or running certain disk-analysis tools would identify bad blocks, and attempt to read the data off of them one last time through repeated tries. Then the bad blocks would be mapped out and removed of future service. Sometimes the data could be retrieved, and sometimes it was lost forever. (Disk analysis tools could be either constructive or non-constructive.)
* Modern disk controllers make much better use of the error-correcting codes, so that bad blocks can be find earlier and the data usually recovered. (Recall that blocks are tested with every write as well as with every read, so often errors can be finded before the write operation is complete, and the data simply written to a different sector instead.)
* Note that re-mapping of sectors from their normal linear procression can throw off the disk scheduling maximization of the OS, especially if the replacement sector is physically far away from the sector it is replacing. For this reason most disks normally keep a few extra sectors on each cylinder, as well as at least one spare cylinder. Whenever possible a bad sector will be mapped to additional sector on the same cylinder, or at least a cylinder as 
close as possible. Sector slipping may also be performed, in which all sectors between the bad sector and the replacement sector are passed down by one, so that the linear progression of sector numbers can be maintained.
* If the data on a bad block cannot be retrieved, then a hard error has occurred. which needs replacing the file(s) from backups, or rebuilding them from scratch.

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