answersLogoWhite

0

📱

Computer Programming

A category for questions about computer programming and programming languages.

10,506 Questions

What is a flochart?

A flowchart is a diagram depicting the process of solving a problem. It highlights the questions that have to be asked at each stage, then branches off into different directions/actions depending on the answers to the questions. The classic example of a flowchart is as part of the design stage of a computer program, where the flowchart is a graphical depiction of the algorithm. In reality, flowcharts aren't used much for this purpose since programs tend to be too complex to efficiently depict/model this way, but the flowchart remains a useful concept that sees use. For example, a company might have a flowchart depicting what steps are taken in case of a certain emergency situation... so that they can refer back to it and be assured that their planning and forethought are reflected in action when the day comes.

Can you transfer usb files to memory card?

Yes. File is a file, it can be transferred to any place, usb, harddrive, memory card etc (provided you have write access)

How do you avoid corrupt data on ps2?

in order to avoid corruption, you need to wait until the game console saves your data and your'e out of the save screen

What is a sequential algorithm?

A sequential algorithm has the following characteristics:

  • a dependence on the standard environment,
  • a relevant name,
  • a main method (function/subroutine) with no parameters,
  • supplementary methods using a top-down modular design,
  • input of boolean values,
  • output exemplifying the relevant criteria.

What two main components is used by Kernel mode?

The kernel is a program that constitutes the central core of a computer operating system. It has complete control over everything that occurs in the system.

A kernel can be contrasted with a shell (such as bash, csh or ksh in Unix-like operating systems), which is the outermost part of an operating system and a program that interacts with user commands. The kernel itself does not interact directly with the user, but rather interacts with the shell and other programs as well as with the hardware devices on the system, including the processor (also called the central processing unit or CPU), memory and disk drives.

The kernel is the first part of the operating system to load into memory during booting (i.e., system startup), and it remains there for the entire duration of the computer session because its services are required continuously. Thus it is important for it to be as small as possible while still providing all the essential services needed by the other parts of the operating system and by the various application programs.

Because of its critical nature, the kernel code is usually loaded into a protected area of memory, which prevents it from being overwritten by other, less frequently used parts of the operating system or by application programs. The kernel performs its tasks, such as executing processes and handling interrupts, in kernel space, whereas everything a user normally does, such as writing text in a text editor or running programs in a GUI (graphical user interface), is done in user space. This separation is made in order to prevent user data and kernel data from interfering with each other and thereby diminishing performance or causing the system to become unstable (and possibly crashing).

When a computer crashes, it actually means the kernel has crashed. If only a single program has crashed but the rest of the system remains in operation, then the kernel itself has not crashed. A crash is the situation in which a program, either a user application or a part of the operating system, stops performing its expected function(s) and responding to other parts of the system. The program might appear to the user to freeze. If such program is a critical to the operation of the kernel, the entire computer could stall or shut down.

The kernel provides basic services for all other parts of the operating system, typically including memory management, process management, file management and I/O (input/output) management (i.e., accessing the peripheral devices). These services are requested by other parts of the operating system or by application programs through a specified set of program interfaces referred to as system calls.

Process management, possibly the most obvious aspect of a kernel to the user, is the part of the kernel that ensures that each process obtains its turn to run on the processor and that the individual processes do not interfere with each other by writing to their areas of memory. A process, also referred to as a task, can be defined as an executing (i.e., running) instance of a program.

The contents of a kernel vary considerably according to the operating system, but they typically include (1) a scheduler, which determines how the various processes share the kernel's processing time (including in what order), (2) a supervisor, which grants use of the computer to each process when it is scheduled, (3) an interrupt handler, which handles all requests from the various hardware devices (such as disk drives and the keyboard) that compete for the kernel's services and (4) a memory manager, which allocates the system's address spaces (i.e., locations in memory) among all users of the kernel's services.

The kernel should not be confused with the BIOS (Basic Input/Output System). The BIOS is an independent program stored in a chip on the motherboard (the main circuit board of a computer) that is used during the booting process for such tasks as initializing the hardware and loading the kernel into memory. Whereas the BIOS always remains in the computer and is specific to its particular hardware, the kernel can be easily replaced or upgraded by changing or upgrading the operating system or, in the case of Linux, by adding a newer kernel or modifying an existing kernel.

Most kernels have been developed for a specific operating system, and there is usually only one version available for each operating system. For example, the Microsoft Windows 2000 kernel is the only kernel for Microsoft Windows 2000 and the Microsoft Windows 98 kernel is the only kernel for Microsoft Windows 98. Linux is far more flexible in that there are numerous versions of the Linux kernel, and each of these can be modified in innumerable ways by an informed user.

A few kernels have been designed with the goal of being suitable for use with any operating system. The best known of these is the Mach kernel, which was developed at Carnegie-Mellon University and is used in the Macintosh OS X operating system.

It is not necessary for a computer to have a kernel in order for it to be usable, the reason being that it is not necessary for it to have an operating system. That is, it is possible to load and run programs directly on bare metal machines (i.e., computers without any operating system installed), although this is usually not very practical.


In fact, the first generations of computers used bare metal operation. However, it was eventually realized that convenience and efficiency could be increased by retaining small utility programs, such as program loaders and debuggers, in memory between applications. These programs gradually evolved into operating system kernels.

The term kernel is frequently used in books and discussions about Linux, whereas it is used less often when discussing some other operating systems, such as the Microsoft Windows systems. The reasons are that the kernel is highly configurable in the case of Linux and users are encouraged to learn about and modify it and to download and install updated versions. With the Microsoft Windows operating systems, in contrast, there is relatively little point in discussing kernels because they cannot be modified or replaced.

Categories of Kernels

Kernels can be classified into four broad categories: monolithic kernels, microkernels, hybrid kernels and exokernels. Each has its own advocates and detractors.

Monolithic kernels, which have traditionally been used by Unix-like operating systems, contain all the operating system core functions and the device drivers (small programs that allow the operating system to interact with hardware devices, such as disk drives, video cards and printers). Modern monolithic kernels, such as those of Linux and FreeBSD, both of which fall into the category of Unix-like operating systems, feature the ability to load modules at runtime, thereby allowing easy extension of the kernel's capabilities as required, while helping to minimize the amount of code running in kernel space.

A microkernel usually provides only minimal services, such as defining memory address spaces, interprocess communication (IPC) and process management. All other functions, such as hardware management, are implemented as processes running independently of the kernel. Examples of microkernel operating systems are AIX, BeOS, Hurd, Mach, Mac OS X, MINIX and QNX.

Hybrid kernels are similar to microkernels, except that they include additional code in kernel space so that such code can run more swiftly than it would were it in user space. These kernels represent a compromise that was implemented by some developers before it was demonstrated that pure microkernels can provide high performance. Hybrid kernels should not be confused with monolithic kernels that can load modules after booting (such as Linux).

Most modern operating systems use hybrid kernels, including Microsoft Windows NT, 2000 and XP. DragonFly BSD, a recent fork (i.e., variant) of FreeBSD, is the first non-Mach based BSD operating system to employ a hybrid kernel architecture.

Exokernels are a still experimental approach to operating system design. They differ from the other types of kernels in that their functionality is limited to the protection and multiplexing of the raw hardware, and they provide no hardware abstractions on top of which applications can be constructed. This separation of hardware protection from hardware management enables application developers to determine how to make the most efficient use of the available hardware for each specific program.

Exokernels in themselves they are extremely small. However, they are accompanied by library operating systems, which provide application developers with the conventional functionalities of a complete operating system. A major advantage of exokernel-based systems is that they can incorporate multiple library operating systems, each exporting a different API (application programming interface), such as one for Linux and one for Microsoft Windows, thus making it possible to simultaneously run both Linux and Windows applications.

What is kernel?

August 14, 2006 at 8:55 pm · Filed under Web Hosting, Windows Web Hosting

The central module of an operating system. It is the part of the operating system that loads first, and it remains in main memory. Because it stays in memory, it is important for the kernel to be as small as possible while still providing all the essential services required by other parts of the operating system and applications. Typically, the kernel is responsible for memory management, process and task management, and disk management.

When a computer crashes, it actually means the kernel has crashed. If only a single program has crashed but the rest of the system remains in operation, then the kernel itself has not crashed.. A crash is the situation in which a program, either a user application or a part of the operating system, stops performing its expected function(s) and responding to other parts of the system. The program might appear to the user to freeze. If such program is a critical to the operation of the kernel, the entire computer could shut down.

Categories of Kernels

Kernels can be classified into four broad categories: monolithic kernels, microkernels, hybrid kernels and exokernels.

How do you open tiff files?

TIFF files are image files. They need to be opened in some type of image viewing program or image editing program like Photoshop.

What are the business factors that are driving systems analysis?

The business factors that are driving systems analysis are problems, opportunities, and directives. Each problem, opportunity, and directive is assessed with respect to urgency, visibility, tangible benefits, and priority.

What is parity rights?

A plebiscite on the amendment to the Constitution pursuant to resolution of Congress dated September 18, 1946, granting United States Citizens right to the disposition and utilization of Philippine natural resources or the Parity Rights. This occurred on March 11, 1947.

Why linked list is best suited for insertion sort?

Linked lists are best suited to dynamic collections where random access is not a major concern, such as queues and stacks. Using an array would prove highly inefficient in these cases due to the need to resize the array to accommodate new elements or to remove unused elements. Occasionally, an increase in size will require the entire array be copied to a larger block of free memory. Linked lists don't have this problem as memory is allocated and de-allocated on a per element basis.

What is an atomic operation?

An atomic operation is an operation which is guaranteed to finish in a single unit of time. This is important in synchronization where multiple threads may be trying to access a single variable at the same time.

Theoretically, a situation could occur as follows: Imagine two threads are both running the same code.

int c = 0;

void f() {

c = c + 1;

}

Now assume the following sequence of events takes place:

# Thread0 calls f() # Thread1 calls f() # Thread0 reads c as 0 # Thread1 reads c as 0 # Thread0 increases c to 1 # Thread1 increases c to 1 # Thread0 writes back c as 1 # Thread1 writes back c as 1

We end up with c = 1. This is obviously not what was supposed to happen. Each thread was supposed to execute the code once and increase c by one, ending up with c = 2. If the (c = c + 1) statement had been atomic, each thread would read, increment, and write back c before execution was passed to any other thread.

What programming language can create an operating system?

Any. As long as a language has the programming structures to access memory directly (DMA, IO ports, IRQ) AND it can be compiled (isn't run at a command interpretor) it can be used to create an operating system: the more general the language, the more platforms that OS can run on i.e. Binary/Machine Language is extremely hardware specific, Assembler less so, C (and Pascal and Fortran) even less so, C++/Smalltalk/Eiffel the least.

An OS doens't have to be 50 quintillion lines of code; the original Linux kernel and a few Gnu utilities ran on one floppy disk (1.44 meg), DOS 5 was 3 floppy disks, Windows 95 took about 150 meg on a CD, Windows NT about 300meg on CD, and so on. As each version of operating system grows in features, so does it storage footprint.

How do you Convert decimal 65535 to its hexadecimal?

In any numbering system each numeral is a power of the base number.

For example, in base-10 (Decimal), the first decimal place on the right is that number times 10 to the 0th power. (Just talking about Integers right now.)

The next digit is that number times ten to the 1st power, and so on.

For example: The decimal number 635 is represented as (6*10^2)+(3*10+1)+(5*10^0)

So in Base 16, each number place would be that number times 16 to the nth power.

To make 16 numbers, we have to add some numerals to go beyond 9... The common convention is to use Letters. So in hexadecimal, you could 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

The decimal values of a hexadecimal number starting from the left at the 5th digit would be:

65536 4096 256 16 1

So to come up with a value equal to decimal 65535, we would have to find numbers that add up to that value.

Obviously the first digit won't work. It's already over 65535 just for one. Let's look at the next digit with value 4096. If we take that times the maximum value of the place (15 in decimal, or F in hex), we can get up to 61440. So we'll put F in that place. Our number is currently Fxxx.

The next digit has a value of 256 times the number in that place. So we check the maximum value of 15*256 = 3840. Add that to the 61440 from the first digit, and we get a total of 65280. Still below 65535 so we'll drop another F value there as well. Our number is now FFxx.

Next to last digit! It has a place value of 16. The maximum value then is 15*16, or 240. We add that to the 65280 from the last calculation and get 65520. Pretty close, but not quite up to 65535 yet. Our number is now FFFx.

Final digit! It has a value of 1, so maximum value for this first digit is 1*15, or 15. Add 15 to the prior calculation of 65520 and we get... 65535! Ta da!

So the final calculation is that 0xFFFF = 65,535 in decimal. (The 0x is an indicator that the number following is in Hexadecimal.)

Hope that helps!

How do you know if an image is high resolution or low resolution?

You could tell because low resolution makes for a pixelated picture, and high resolution settings, you cannot tell.

Is xor an instruction for the assembly language?

It depends on the specific instruction set for the processor you are programming. Most processors will support the basic logical instructions, but you would have to view the documentation for a particular processor to know for sure.

What is a modal in maths?

the modal/mode in maths is like the average, getting it by adding all pieces of data and dividing on how many there are

In what ways is an interactive animation application different from a non-interactive animation application?

An interactive animation would be something like games or PowerPoint were an action from the user will trigger an activity.

A non-interactive animation application would be like a movie because whatever you do, it won't deter Dracula from swooping over that little boy.

Where can you download Toshiba satellite a205-s4587 drivers download?

Ethan- Hey, you have to find the disc that came with your computer. The disc might say Toshiba on it. It will have the drivers.

How do you password a notepad file?

You can't give password to a notepad file.

If u wish to protect ur file. Cut that file/files into a compressed(zipped folder) and then select 'add password' in 'file'. Give password. Hereafter whenever u open this file, it will ask u password.

How do you pop out the smallest element from a stack?

You don't. A stack is a last in first out (LIFO) structure so you only have access to the top element in the stack. If you want to locate the smallest element in the stack, you need to pop everything off the stack in order to find it, at which point the stack is completely ruined. The only way to restore a stack is to push every element onto another stack as they are popped off. The other stack will then be the reverse of the original, so you just repeat the process to transfer the elements back to the original stack.

You should really be asking why you are using a stack in the first place if the intent is to remove an element other than the top element. A forward list would be a much better option.

Why is system call needed in operating system?

System calls are used whenever a program needs to access a restricted resource, eg a file on the hard disk, any hardware device, or when it needs to print or draw to the screen

What is the Largest real number that can be stored in binary using 16 bits Where 1 bit is used for the sign 5 bits for the characteristics and 10 for the Mantissa?

In binary the largest number (using IEEE binary16) representable would be: 0111 1111 1111 1111 (grouping the bits in nybbles* for easier reading). This is split as |0|111 11|11 1111 1111| which represents:

0 = sign

111 11 = exponent

11 1111 1111 = mantissa.

Using IEEE style, the exponent is offset by 011 11, making the maximum exponent 100 00

This is scientific notation using binary instead of decimal. As such there must be a non-zero digit before the binary point, but in binary this can only ever be a 1, so to save storage it is not stored and the mantissa effectively has an extra bit, which for the 10 bits specified makes it 11 bits long. Thus the mantissa represents: 1.11 1111 1111

This gives the largest number as:

1.1111 1111 11 × 10^10000

(all digits are binary, not decimal.) This expands to 1 1111 1111 1100 0000 (binary) = 0x1ffc0 = 131,008

Note that this is NOT accurate in storage - there are 6 bits which are forced to be zero, making the number only accurate to ±32 (decimal): the second largest possible real would be 1 1111 1111 1000 000 = 0x1ff80 = 130,944 - the numbers are only accurate to about 4 decimal digits; the largest decimal real number would be 1.310 × 10^5, and the next 1.309 × 10^5 and so on.

However, with proper IEEE, an exponent with all bits set is used to identify special numbers, which makes the largest possible 0111 1101 1111 1111 which is 1.1111 1111 11 × 10^1111 = 1111 1111 1110 0000 = 0xffe0 = 65504 accurate to ±16, ie the largest is about 6.55 × 10^4.

* a nybble is half a byte which is directly representable as a single hexadecimal digit.