Sunteți pe pagina 1din 13

Bit Nibble Byte Kilobit Kilobyte Kibibit Kibibyte Mebibit Mebibyte Megabit Megabyte Gibibit Gibibyte Gigabyte Gigabit

Tebibit Tebibyte Terabyte Terabit Pebibit Pebibyte Petabit Petabyte Exabyte Exabit Exbibit Exbibyte Zettabyte Yottabyte

Value of 0 or 1 4 Bits 8 Bits 1,000 bits 1,000 bytes 1,024 bits 1,024 bytes 1,048,576 bits 1,048,576 bytes 1,000,000 bits 1,000,000 bytes 1,073,741,824 bits 1,073,741,824 bytes 1,000,000,000 bytes 1,000,000,000 bits 1,099,511,627,776 bits 1,099,511,627,776 bytes 1,000,000,000,000 bytes 1,000,000,000,000 bits 1,125,899,906,842,624 bits 1,125,899,906,842,624 bytes 1,000,000,000,000,000 bits 1,000,000,000,000,000 bytes 1018 bytes 1018 bits 260 bits 260 bytes 1021 bytes 1024 bytes

FAT
Short for File Allocation Table, method used by Microsoft operating systems to keep track of the contents of a disk the table is a chart of numbers that correspond to cluster addresses on the hard drive. FAT12: The oldest type of File Allocation Table that uses 12-bit binary system. A hard disk drive formatted using FAT12 can use a maximum of approximately 16,736,256 volume size and today is not longer used. If your computer is running Windows 95 or above and your FAT within FDISK is being displayed as FAT12 it is likely that your hard disk drive is corrupted, bad or has a computer virus.

FAT16: FAT utilizing a 16-bit binary system. Commonly found with Windows 3.x through Windows 95. FAT16 while becoming obsolete by FAT32 is still commonly found. FAT32: Enhanced File Allocation Table utilizing a 28-bit binary system, first used in Windows 95 OSR2 and more so in Windows 98 that saves disk space by using 4k Cluster. See FAT32 Page for extended information about FAT32.

Access arm
Also known as a head arm or actuator arm, the access arm is similar to an arm on a record player and is found inside all computer hard disk drives. The access arm allows the hard drive to move the read/write heads to the locations where information needs to be read or written to. Below is a basic illustration of the inside of a hard disk drive as well as an example of the access arm.

Access light
Also known as the activity light, the access light is a LED on the front of a computer and/or disk drive that indicates when the computer or disk drive is being used.

Active partition
Partition on a hard disk drive that is set as the bootable partition and generally contains the operating system to be used on the computer. Only one partition on a computer can be set as an active or bootable partition on a hard disk drive. Complete information about partitions and fdisk can be found on our fdisk page

Actuator
An actuator is an electronic device controlled by a motor that moves the head arm to where it needs to go. In the past the actuator within a hard disk drive was controlled by a stepper motor. However, today the actuator is commonly controlled by a servo motor.

ADSM
Short for ADSTAR Distributed Storage Management, ADSM is IBM's software that helps clients manage storage devices.

Allocation unit
1. Group of reserved sectors on a computer hard disk drive. 2. When referring to memory, an allocation is a process preformed by the computer that assigns a block of memory for a program to store its data or information in.

Anti vibration mount


Drive bay mount that locks the hard drive or other 3.5-inch device in one place so that the read/write heads and other mechanisms are protected from movement. This mount is highly recommended when installing any 3.5-inch device in a 5.25-inch drive bay in a computer.

CD-R ABCs A CD-R (Compact Disk Recordable) is a special type of CD which is coated with a photosensitive organic dye which allows a user to record information to a special type of cd for backup and duplication purposes. Once the CD-R disk is placed within the computer the recording process begins the laser heats and the dye reveals the areas to diffuse light just as a regular CD would. The CD-R drive does not actually create pits on the CD instead the burner creates reflective sections on the CD causing the computers CD-ROM laser to interpret it as a pit. Because of this method of creating a CD, CD-R drives are only capable of recording to the CD once. This unfortunately means if you encounter errors or do not complete the recording process the CD may become useless. CD-Rs are a low cost solution for backing up software. each CD-R can cost from $3.00 to $10.00 and are capable of holding up to 650 MB per CD-R disk (74 minutes of music / up to 99 audio tracks) no larger. While tape drives are a low cost solution per MB when compared to a CD-R disk. Tape drives are linear-access devices which can become time consuming if you wish to only recover one / few files. With a CD-R you can browse the CD and choose individual or multiple files and restore them immediately. Once a CD-R disk is finished recording the CD will be able to be used in any standard CD-ROM, CD-R, CD-RW, or DVD drive. There were issues with reading CD-R disks in the first revision of DVD. MULTIPLE SESSIONS CD-R Multiple Session CD-R discs were first implemented by Kodak to allow CD-R disks to be written to until the CD is completely full. You must have a XA-compliant or XA-ready CD-ROM drive to read all the sessions on a CD-R disc. Otherwise, your access is limited to the data in the first session recorded. OTHER CD TECHNOLOGIES CD-ROM -(Compact Disk Read Only Memory) The standard type of CD-ROM drive which is now shipped and found in the majority of computers today. CD-RW - (CD ReWritable) drive which is a popular alternative to the CD-R drive. CDRW has the capability of being written to at least one thousand times. The drawback with CD-RW diskettes is with the lower reflectivity of the disc itself can limit the readability. Many CD-ROM and CD-R drives may have a difficult time reading these disks. DVD - (Digital Versatile Disc) New standard released in 1995 which originally was called Digital Video Disc was later changed to Digital Versatile Disc. DVD offers an initial storage capacity of 4.7GB (of digital information on a single-sided, single-layer disc the same diameter and thickness of a current CD-ROM DVD-RAM - ReWritable drive type that uses a phase-change technology like the CDRW drives. However , DVD-RAM discs cannot be read by standard DVD-ROM drives because of the differences in both reflectivity of the medium and the data format.

CD RECORDING TIPS No running programs in the background. If you have Windows 95 / Windows 98 you can check this by pressing and holding CTRL + ALT + DEL which will bring up a close program window. Within this window remove anything listed but explorer or systray. All programs removed from this window will return after rebooting the computer. Also ensure that screen savers are not enabled. If enabled and the computer has no activity this will cause the screen saver to activate possible causing a bad CD. Do not use compression software. Compression software can cause several issues during the recording process. It is recommend that you do not create CDs off of a compressed hard disk drive. Disable Power Management. Ensure that all power management is disabled on the computer. If the computer or a computer component goes into power saving mode during the recording process this can cause issues. 13 milliseconds access time or better. It is recommended that your Hard Disk Drive is 13 milliseconds or faster access time to keep the memory buffer full. PC Defrag & Scandisk hard disk drive. Ensure that you have defragged and ran scandisk on your hard drive recently which will help prevent the computer from having to search the hard disk drive longer. Master on IDE channel. If your CD-R is an IDE or EIDE device it is highly recommended that you have the CDR drive as the master and not the slave. Device Conflicts. Get to device manager by clicking Start / Settings / Control panel / double click the System icon / click the Device manager tab. Ensure within device manager there are no conflicts. CD-ROM Properties.

In device manager under the CD-ROM properties ensure that Auto insert notification / Sync Data Transfer, and DMA are all disabled. To check this click on Start / Settings / Control Panel / double click on System / Click the device manager tab / click the plus next to CD-ROM and double click the CD-ROM device. Different CD-R disks. If you have attempted the above recommendations and continue to receive errors during the writing process attempt to use a different type of CD-R disk.

A+ and basic PC questions


1. What are the basic expansion card types?ISA and PCI, ISA can be used only on XT, AT and ATX boards. The industry now considers ISA obsolete. 2. How do you clear CMOS password? Since CMOS is a special chip with its own battery, the best way to clear out a CMOS chip is to disconnect it from its power supply. 3. Where does the Real mode on the CPU come from? The original 8086, which only had 1 MB of memory. This megabyte is split into low memory for IRQ tables, application memory and high memory. 4. Where does CPU Enhanced mode originate from? Intels 80386 was the first 32-bit processor, and since the company had to backward-support the 8086. All the modern Intel-based processors run in the Enhanced mode, capable of switching between Real mode (just like the real 8086) and Protected mode, which is the current mode of operation. 5. Name the processor lines of two major manufacturers? High-end: Intel Pentium (II, III, 4), AMD - Athlon. Low-end: Intel - Celeron, AMD - Duron. 64bit: Intel - Itanium 2, AMD - Opteron. 6. Whats the difference between L1 and L2 cache? Level 1 cache is internal to the chip, L2 is external. 7. Whats the speed and device maximum specs for Firewire? IEEE 1394 (Firewire) supports the maximum of 63 connected devices with speeds up to 400 Mbps. 8. Wheres MBR located on the disk? Main Boot Record is located in sector 0, track 0, head 0, cylinder 0 of the primary active partition. 9. Whats the maximum hard drive size for FAT16-based Windows system? 2 GB. 10. How many logical drives is it possible to fit onto a physical disk? Maximum of 24 logical drives. The extended partition can only have 23 logical drives. 11. WHat are * and ? when using them for wildcards in Windows? * - any characters, arbitrary amoung, ? - single character. 12. How does the browser know to go to a certain IP address when you enter a domain like google.com? It searches through local DNS cache, if nothing is there, it queries the ISPs DNS server.

Operating system questions


1. What are the basic functions of an operating system? - Operating system controls and coordinates the use of the hardware among the various applications programs for various uses. Operating system acts as resource allocator and manager. Since there are many possibly conflicting requests for resources the operating system must decide which requests are allocated resources to operating the computer system efficiently and fairly. Also operating system is control program which controls the user programs to prevent errors and improper use of the computer. It is especially concerned with the operation and control of I/O devices. 2. Why paging is used? - Paging is solution to external fragmentation problem which is to permit the logical address space of a process to be noncontiguous, thus allowing a process to be allocating physical memory wherever the latter is available. 3. While running DOS on a PC, which command would be used to duplicate the entire diskette? diskcopy 4. What resources are used when a thread created? How do they differ from those when a process is created? - When a thread is created the threads does not require any new resources to execute the thread shares the resources like memory of the process to which they belong to. The benefit of code sharing is that it allows an application to have several different threads of activity all within the same address space. Whereas if a new process creation is very heavyweight because it always requires new address space to be created and even if they share the memory then the inter process communication is expensive when compared to the communication between the threads. 5. What is virtual memory? - Virtual memory is hardware technique where the system appears to have more memory that it actually does. This is done by timesharing, the physical memory and storage parts of the memory one disk when they are not actively being used. 6. What is Throughput, Turnaround time, waiting time and Response time? Throughput number of processes that complete their execution per time unit. Turnaround time amount of time to execute a particular process. Waiting time amount of time a process has been waiting in the ready queue. Response time amount of time it takes from when a request was submitted until the first response is produced, not output (for time-sharing environment). 7. What is the state of the processor, when a process is waiting for some event to occur? - Waiting state 8. What is the important aspect of a real-time system or Mission Critical Systems? - A real time operating system has well defined fixed time constraints. Process must be done within the defined constraints or the system will fail. An example is the operating system for a flight control computer or an advanced jet

airplane. Often used as a control device in a dedicated application such as controlling scientific experiments, medical imaging systems, industrial control systems, and some display systems. Real-Time systems may be either hard or soft real-time. Hard real-time: Secondary storage limited or absent, data stored in short term memory, or read-only memory (ROM), Conflicts with time-sharing systems, not supported by general-purpose operating systems. Soft real-time: Limited utility in industrial control of robotics, Useful in applications (multimedia, virtual reality) requiring advanced operating-system features. 9. What is the difference between Hard and Soft real-time systems? - A hard real-time system guarantees that critical tasks complete on time. This goal requires that all delays in the system be bounded from the retrieval of the stored data to the time that it takes the operating system to finish any request made of it. A soft real time system where a critical real-time task gets priority over other tasks and retains that priority until it completes. As in hard real time systems kernel delays need to be bounded 10. What is the cause of thrashing? How does the system detect thrashing? Once it detects thrashing, what can the system do to eliminate this problem? Thrashing is caused by under allocation of the minimum number of pages required by a process, forcing it to continuously page fault. The system can detect thrashing by evaluating the level of CPU utilization as compared to the level of multiprogramming. It can be eliminated by reducing the level of multiprogramming. 11. What is multi tasking, multi programming, multi threading? - Multi programming: Multiprogramming is the technique of running several programs at a time using timesharing. It allows a computer to do several things at the same time. Multiprogramming creates logical parallelism. The concept of multiprogramming is that the operating system keeps several jobs in memory simultaneously. The operating system selects a job from the job pool and starts executing a job, when that job needs to wait for any i/o operations the CPU is switched to another job. So the main idea here is that the CPU is never idle. Multi tasking: Multitasking is the logical extension of multiprogramming .The concept of multitasking is quite similar to multiprogramming but difference is that the switching between jobs occurs so frequently that the users can interact with each program while it is running. This concept is also known as time-sharing systems. A time-shared operating system uses CPU scheduling and multiprogramming to provide each user with a small portion of time-shared system. Multi threading: An application typically is implemented as a separate process with several threads of control. In some situations a single application may be required to perform several similar tasks for example a web server accepts client requests for web pages, images, sound, and so forth. A busy web server may have several of clients concurrently accessing it. If the web server ran as a traditional single-threaded process, it would be able to service only one client at a time. The amount of time that a client might have to wait for its request to be serviced could be enormous. So it is efficient to have one process that contains multiple threads to serve the same purpose. This approach would multithread the web-server process, the server would create a separate thread that would listen for client requests when a

request was made rather than creating another process it would create another thread to service the request. To get the advantages like responsiveness, Resource sharing economy and utilization of multiprocessor architectures multithreading concept can be used. 12. What is hard disk and what is its purpose? - Hard disk is the secondary storage device, which holds the data in bulk, and it holds the data on the magnetic medium of the disk.Hard disks have a hard platter that holds the magnetic medium, the magnetic medium can be easily erased and rewritten, and a typical desktop machine will have a hard disk with a capacity of between 10 and 40 gigabytes. Data is stored onto the disk in the form of files. 13. What is fragmentation? Different types of fragmentation? - Fragmentation occurs in a dynamic memory allocation system when many of the free blocks are too small to satisfy any request. External Fragmentation: External Fragmentation happens when a dynamic memory allocation algorithm allocates some memory and a small piece is left over that cannot be effectively used. If too much external fragmentation occurs, the amount of usable memory is drastically reduced. Total memory space exists to satisfy a request, but it is not contiguous. Internal Fragmentation: Internal fragmentation is the space wasted inside of allocated memory blocks because of restriction on the allowed sizes of allocated blocks. Allocated memory may be slightly larger than requested memory; this size difference is memory internal to a partition, but not being used 14. What is DRAM? In which form does it store data? - DRAM is not the best, but its cheap, does the job, and is available almost everywhere you look. DRAM data resides in a cell made of a capacitor and a transistor. The capacitor tends to lose data unless its recharged every couple of milliseconds, and this recharging tends to slow down the performance of DRAM compared to speedier RAM types. 15. What is Dispatcher? - Dispatcher module gives control of the CPU to the process selected by the short-term scheduler; this involves: Switching context, Switching to user mode, Jumping to the proper location in the user program to restart that program, dispatch latency time it takes for the dispatcher to stop one process and start another running. 16. What is CPU Scheduler? - Selects from among the processes in memory that are ready to execute, and allocates the CPU to one of them. CPU scheduling decisions may take place when a process: 1.Switches from running to waiting state. 2.Switches from running to ready state. 3.Switches from waiting to ready. 4.Terminates. Scheduling under 1 and 4 is non-preemptive. All other scheduling is preemptive. 17. What is Context Switch? - Switching the CPU to another process requires saving the state of the old process and loading the saved state for the new process. This task is known as a context switch. Context-switch time is pure overhead, because the system does no useful work while switching. Its speed varies from machine to machine, depending on the memory speed, the number of registers which must be copied, the existed of special instructions(such as a single instruction to load or store all registers). 18. What is cache memory? - Cache memory is random access memory (RAM) that a computer microprocessor can access more quickly than it can access regular

RAM. As the microprocessor processes data, it looks first in the cache memory and if it finds the data there (from a previous reading of data), it does not have to do the more time-consuming reading of data from larger memory. 19. What is a Safe State and what is its use in deadlock avoidance? - When a process requests an available resource, system must decide if immediate allocation leaves the system in a safe state. System is in safe state if there exists a safe sequence of all processes. Deadlock Avoidance: ensure that a system will never enter an unsafe state. 20. What is a Real-Time System? - A real time process is a process that must respond to the events within a certain time period. A real time operating system is an operating system that can run real time processes successfully

Windows programming interview questions


1. What are kernel objects? - - Several types of kernel objects, such as access token objects, event objects, file objects, file-mapping objects, I/O completion port objects, job objects, mailslot objects, mutex objects, pipe objects, process objects, semaphore objects, thread objects, and waitable timer objects. 2. What is a kernel object? - Each kernel object is simply a memory block allocated by the kernel and is accessible only by the kernel. This memory block is a data structure whose members maintain information about the object. Some members (security descriptor, usage count, and so on) are the same across all object types, but most are specific to a particular object type. For example, a process object has a process ID, a base priority, and an exit code, whereas a file object has a byte offset, a sharing mode, and an open mode. 3. User can access these kernel objects structures? - Kernel object data structures are accessible only by the kernel 4. If we cannot alter these Kernel Object structures directly, how do our applications manipulate these kernel objects? - The answer is that Windows offers a set of functions that manipulate these structures in well-defined ways. These kernel objects are always accessible via these functions. When you call a function that creates a kernel object, the function returns a handle that identifies the object. 5. How owns the Kernel Object? - Kernel objects are owned by the kernel, not by a process 6. How does the kernel object outlive the process that created it? - If your process calls a function that creates a kernel object and then your process terminates, the kernel object is not necessarily destroyed. Under most circumstances, the object will be destroyed; but if another process is using the kernel object your process created, the kernel knows not to destroy the object until the other process has stopped using it 7. Which is the data member common to all the kernel object and what is the use of it? - The usage count is one of the data members common to all kernel object types 8. How to identify the difference between the kernel object and user object? The easiest way to determine whether an object is a kernel object is to examine

the function that creates the object. Almost all functions that create kernel objects have a parameter that allows you to specify security attribute information. 9. What is the purpose of Process Handle Table? - When a process is initialized, the system allocates a handle table for it. This handle table is used only for kernel objects, not for User objects or GDI objects. When a process first initializes, its handle table is empty. Then when a thread in the process calls a function that creates a kernel object, such as CreateFileMapping , the kernel allocates a block of memory for the object and initializes it; the kernel then scans the processs handle table for an empty entry 10. Name few functions that create Kernel Objects? - HANDLE CreateThread(),HANDLE CreateFile(..),HANDLE CreateFileMapping(..)HANDLE CreateSemaphore(..)etcAll functions that create kernel objects return process-relative handles that can be used successfully by any and all threads that are running in the same process. 11. What is handle? - Handle value is actually the index into the processs handle table that identifies where the kernel objects information is stored. 12. How the handle helps in manipulating the kernel objects? - Whenever you call a function that accepts a kernel object handle as an argument, you pass the value returned by one of the Create* functions. Internally, the function looks in your processs handle table to get the address of the kernel object you want to manipulate and then manipulates the objects data structure in a well-defined fashion. 13. What happens when the CloseHandle(handle) is called? - This function first checks the calling processs handle table to ensure that the index (handle) passed to it identifies an object that the process does in fact have access to. If the index is valid, the system gets the address of the kernel objects data structure and decrements the usage count member in the structure; if the count is zero, the kernel destroys the kernel object from memory. 14. You forget to call CloseHandle - will there be a memory leak? - Well, yes and no. It is possible for a process to leak resources (such as kernel objects) while the process runs. However, when the process terminates, the operating system ensures that any and all resources used by the process are freedthis is guaranteed. For kernel objects, the system performs the following actions: When your process terminates, the system automatically scans the processs handle table. If the table has any valid entries (objects that you didnt close before terminating), the system closes these object handles for you. If the usage count of any of these objects goes to zero, the kernel destroys the object. 15. What is the need of process relative handles? - The most important reason was robustness. If kernel object handles were system-wide values, one process could easily obtain the handle to an object that another process was using and wreak havoc on that process. Another reason for process-relative handles is security. Kernel objects are protected with security, and a process must request permission to manipulate an object before attempting to manipulate it. The creator of the object can prevent an unauthorized user from touching the object simply by denying access to it

16. How the handles are handled in the child process? - The operating system creates the new child process but does not allow the child process to begin executing its code right away. Of course, the system creates a new, empty process handle table for the child processjust as it would for any new process. But because you passed TRUE to CreateProcesss bInheritHandles parameter, the system does one more thing: it walks the parent processs handle table, and for each entry it finds that contains a valid inheritable handle, the system copies the entry exactly into the child processs handle table. The entry is copied to the exact same position in the child processs handle table as in the parents handle table. 17. Why the entries in the parent process table and child table are same? - It means that the handle value that identifies a kernel object is identical in both the parent and the child processes. 18. What about the usage count in the parent child process tables? - The system increments the usage count of the kernel object because two processes are now using the object. For the kernel object to be destroyed, both the parent process and the child process must either call CloseHandle on the object or terminate. 19. What are Named Objects? - Method available for sharing kernel objects across process boundaries is to name the objects. Below are the kernel named objects 1) mutex, 2) Events, 3) semaphore, 4) waitableTimers, 5)file mapping, 6)job object. There are APIs to create these objects with last parameter as the object name. 20. What do you mean by unnamed object? - When you are creating the kernel objects with the help of APIs like CreateMutex(, , , ,pzname). And the Pzname parameter is NULL , you are indicating to the system that you want to create an unnamed (anonymous) kernel object. When you create an unnamed object, you can share the object across processes by using either inheritance or DuplicateHandle 21. What is DuplicateHandle (API)? - Takes an entry in one processs handle table and makes a copy of the entry into another processs handle table 22. What is a thread? - A thread describes a path of execution within a process. Every time a process is initialized, the system creates a primary thread. This thread begins executing with the C/C++ run-time librarys startup code, which in turn calls your entry-point function ( main , Wmain , WinMain , or WWinMain ) and continues executing until the entry-point function returns and the C/C++ runtime librarys startup code calls ExitProcess 23. What is the limit on per process for creating a thread? - The number of threads a process can create is limited by the available virtual memory and depends on the default stack size 24. What is Synchronization Objects? - Synchronization object s are use to coordinate the execution of multiple threads. 25. Which kernel objects are use for Thread Synchronization on different processes? - Event, Mutex, Semaphore 26. What is Event Object and why it is used? - Event is the thread synchronization object to set signaled state or non-signaled state. 27. What is signaled and non signaled state? - An event is in signaled state means that it has the capacity to release the threads waiting for this event to be signaled. An event is in non signaled state means that it will not release any thread that is

waiting for this particular event.example in our project: when user clicks the image application icon double simultaneously. Two image application windows were created. so PAIG created an event and set it to non-signaled state. Then the image application will reset the event to signaled state, after this all the threads are released. 28. APIs for creating event and set and reset the events - CreateEvent-to create the event OpenEvent to open already created event SetEvent to set the event signaled stateRestEvent - To set the Event To non-Signaled State 29. What is Mutex Object and why it is used? - A mutex object is a synchronization object whose state is set to signaled when it is not owned by any thread, and nonsignaled when it is owned. For example, to prevent two threads from writing to shared memory at the same time, each thread waits for ownership of a mutex object before executing the code that accesses the memory. After writing to the shared memory, the thread releases the mutex object. 30. How do I create a Mutex? - A thread uses the CreateMutex function to create a mutex object. The creating thread can request immediate ownership of the mutex object and can also specify a name for the mutex object 31. How do other threads own the mutex? - Threads in other processes can open a handle to an existing named mutex object by specifying its name in a call to theOpenMutex - function. Any thread with a handle to a mutex object can use one of the wait functions to request ownership of the mutex object. If the mutex object is owned by another thread, the wait function blocks the requesting thread until the owning thread releases the mutex object using theReleaseMutex function. 32. What is semaphores and why it is used? - A semaphore object is a synchronization object that maintains a count between zero and a specified maximum value. The count is decremented each time a thread completes a wait for the semaphore object and incremented each time a thread releases the semaphore. When the count reaches zero, no more threads can successfully wait for the semaphore object state to become signaled. The state of a semaphore is set to signaled when its count is greater than zero, and non-signaled when its count is zero. The semaphore object is useful in controlling a shared resource that can support a limited number of users. It acts as a gate that limits the number of threads sharing the resource to a specified maximum number. For example, an application might place a limit on the number of windows that it creates. It uses a semaphore with a maximum count equal to the window limit, decrementing the count whenever a window is created and incrementing it whenever a window is closed. The application specifies the semaphore object in call to one of the wait functions before each window is created. When the count is zero - indicating that the window limit has been reached - the wait function blocks execution of the window-creation code.

S-ar putea să vă placă și