Interview Questions For All Who Are Waiting For Jobs
RSS Feed (xml)
Skin Design: Free Blogger Skins
Resume is a very important document. The HR will have only your resume to understand your skills. Whatever pre screening happens will be at the resume level itself. Now a days no HR has the time to invite all the applicants to identify the skill set personally. So the Resume becomes vital.1: Prepare your own Resume: This will enable you to understand what you have mentioned in the resume. You will have more confidence to answer the questions.2: Mention only what ever you are totally confident about. The HR will identify any one topic in your resume and ask you the full details on the same topic.3:If you have mentioned any project details in your resume, take enough time to understand your strength on the methodology involved in the project from the scratch to the finish.4: Do not forget to mention the full details of your academics from High school to the last qualification with all details like year, subjects, division and percentage of marks.5: Do not hesitate to mention any additional information which may not be relevant to the academics.Somethings like NCC, study trips sports etc.6: It is very important to have good hobbies. Even if you don’t, better late than never. Start cultivating good hobbies like reading, journals relating to IT AND ITES, Internet browsing in terms of getting updated with current affairs of IT companies, reading good English novels to improve English speaking skills etc. Because, your hobbies reflect your time management skills, your approach towards career and life and your tastes in life.7: Prepare your resume as and when you need it. Do not prepare a common resume for all the companies. If you have varied skills in different technologies, Prioritize the respective company’s requirement first.8: Before you apply to a company go to their web site and understand full information available.DONTS1. Do not mention a telephone number to which you don’t have an access or which is Not working2. Do not mention a mail id which is not working.3. Do not fake your experience. If you are a fresher, wait for the companies to look for Freshers and hit the bull’s eye. There are lot of companies which look for freshers.Covering letter.Write the covering letter first and then the resume. Because, you must prepare a letter in such a way that the reader gets curious about you and in such a way that generates some interest about you.In the covering letter you must address to HR, Name of the company correct address and the post applied for in the right field.In the matter you give a brief introduction
Your resume is one of your most important initial job search tools. It is the key to getting an interview and opening the door to the job you want.Your resume is your advertisement. It promotes you by highlighting your skills, accomplishments, attributes and key capabilities in clear, concise and compelling statements. There are varying opinions among professionals as to what constitutes a persuasive resume. Although there is no one right way of creating a resume, there are some key strategies you can follow to effectively communicate your value. Doing so will convince an employer that you can make a contribution to the organization and its goals.Successful resumes have two key elements:They include an employer-centered objective, which gives them direction.They show evidence that you have the necessary background to do the job.The ObjectiveYour objective is a short and realistic statement of interest, and it indicates the type of position you are seeking. It can be a list of functions you wish to perform, or can be a professional title such as "Structural Engineer" or "Software Development Intern" at XYZ Company. Often, the problem with objectives is that they are either too broad or too narrow. To avoid this pitfall, develop a targeted and balanced objective; e.g., "Pursuing a research and development position in chemical engineering." Include the job title and the name of the organization if you know them; e.g., "Seeking a position as an Electronic Systems Design Engineer at The Aerospace Corporation."You should have a variety of objectives that you can use to tailor your resume. In fact, you'll probably have several different resumes because you'll want to emphasize your skills and experience differently depending on the type of position for which you're applying. Chances are that you have the skills to work in various environments and jobs-there may be multiple industries were you could pursue job opportunities. At some point in your career, you may decide to change fields altogether. The years of work experience you have in an unrelated field can definitely apply to another field.Skills can easily transfer from one position to the next. For example, if you have worked in retail, your communication and organizational skills are applicable in any number of positions and industries. Highlighting and including transferable skills in your resume is a great way to market your value to a potential employer.The Body of Your ResumeYour resume should feature information that highlights your qualifications and supports your objective. Provide specific examples of your accomplishments, skills and results.Organize your resume according to categories or headings that best reflect your level of experience and background. Here are some examples of resume headings: 1. Objective 2. Education 3. Related Course Work 4. Projects 5. Experience Skills 6. Activities 7. Awards/Honors 8. Related Experience 9. Other Employment 10. Military Experience 11. Volunteer Work 12. Community Service 13. Employment Summary 14. Accomplishments Summary of Qualifications Leadership Activities 15. Affiliations Publications 16. Presentations 17. Certification/Licensure Note that the bold headings on the list are generally the standard choices if you are seeking internship, co-op, summer or entry-level career positions. Refer to the sample resumes on page 36 for specific examples on how to build content within various headings.Adding Muscle to Your ResumeIt is a good idea to get your resume critiqued by a career services professional before you send it to employers. This service is available through nearly every campus career office. Here are some tips recommended by career counselors: 1. Start sentences with "power verbs". 2. Use present tense action words to describe current or in-progress experiences, and past tense action words to describe completed tasks. 3. Include keywords and descriptive words. Keywords may include job titles, specific technical or non-technical skills, personal traits, academic degrees, occupational functions and so on. If specific words and skills are emphasized in the job description, be sure to include them on your resume. 4. Quantify results whenever possible. Be specific in your descriptions. For example, if you helped process efficiency by 15%, state that. 5. Tailor your resume by changing the order of your headings to emphasize or deemphasize different aspects of your education and experience. 6. Position the most relevant information near the top of your resume. 7. Limit your resume to one page. The most powerful and memorable advertisements are 30 seconds long. 8. Create accomplishment statements versus a "laundry list" of tasks. Provide results whenever possible. 9. Avoid resume killers-grammatical, punctuation and typographical errors, and excessive abbreviations. Electronic Resume StrategiesMany organizations use electronic systems to store and access applicants' resumes. When you forward your resume via snail mail, fax, email or online application/resume template, it will most likely become a part of the organization's electronic resume bank.At the heart of your electronic resume building strategy are keywords. These commonly used industry-specific terms will help catch the attention of resume screening software programs. To maximize your chances of being selected by the organization's "electronic eye," your resume needs a mix of keywords and skills that match various position requirements included in the employer's database.Scanner TipsIf you know that a prospective employer will use scanning technology on your hard-copy resume, use the following guidelines: Choose a font that's easy to read and professional looking, such as Times New Roman or Arial.Keep your font size between 11 and 14 points, and don't compress spaces between letters.Use white, standard-sized 81/2ý x 11ý paper printed on one side only.Do not use italic text, script, underlined passages, tab indents or resume templates.Avoid graphics, shading and boxes.If your scan-able resume is longer than one page, place your name as the first readable item on each page.Make everything on the page left-justified.Use ALL CAPS to distinguish your name or section headers.Tips for Electronic Resume TransmittalsMany organizations specify how they prefer to receive electronic resumes-you should follow those instructions. In other words, if a company requests that applicants paste a resume into an email cover letter, do so. The safest way to send your resume via email is to save it as a plain text document. Do not attach a word-processed version of your resume to an email message-you could unknowingly have a virus on your computer and pass it along to a potential employer. You can, however, save your resume as a PDF and attach it to an emailed cover letter. The PDF format doesn't support viruses. Also, virtually every employer can open a PDF file. Here are some more tips: Emphasize key items of your resume with asterisks (*) or capital letters instead of bold type, italics or bullets. These elements don't carry over to a text document.Use a series of dashes to separate headings.Keep lines at about 65 characters to avoid line wraps.
Research The CompanyRead whatever literature the company has placed in the career library. For additional information, try the Internet or, even more directly, call the company. Ask for any literature it may have, find out how the company is structured, and ask what qualities the company generally looks for in its employees. Ask if there are openings in your area, and find out the name of the department head and give him or her a call. Explain that you are trying to decide whether to apply to their company, and ask for their recommendation for next steps. Thank that person for the information, and ask to whom your resume should be directed.Research the position.The more you know about the position, the better able you will be to sell yourself and to target the resume to that position. If possible, interview someone who does that same job. In addition to finding out the duties, ask if there is on-the-job training, whether they value education over experience (or vice versa), and what kind of turnover the department experiences. Ask what they like about the position and the company; more important, ask what they don't like about it.Research yourself.Your goal is not just to get a job. Your goal is to get a job that you will enjoy. After you find out all you can about the company and the position, ask yourself honestly whether this is what you really want to do and where you really want to be. The odds are overwhelming that you will not hold this position for more than two or three years, so it's not a lifetime commitment; however, this first job will be the base of your lifetime career. You must start successfully so that future recommendations will always be positive. Furthermore, three years is a long time to spend doing something you don't like, working in a position that isn't challenging, or living somewhere you don't want to live.Once you have done this research, you will sell yourself more effectively. Most employers devote an average of 15 to 30 seconds to each one, so it is your responsibility to make it attractive, readable and informational. One last word of advice: Before you go to the interview, review the version of your resume that you submitted to this employer. The resume can only get you the interview; the interview gets you the job.
1. Too long. Most new graduates should restrict their resumes to one page. If you have trouble condensing, get help from a technical or business writer or a career center professional. 2. Typographical, grammatical or spelling errors. These errors suggest carelessness, poor education and/or lack of intelligence. Have at least two people proofread your resume. Don't rely on a computer's spell-checkers or grammar-checkers. 3. Hard to read. A poorly typed or copied resume looks unprofessional. Use a computer. Use a plain typeface, no smaller than a 12-point font. Asterisks, bullets, underlining, boldface type and italics should be used only to make the document easier to read, not fancier. Again, ask a professional's opinion. 4. Too verbose (using too many words to say too little). Do not use complete sentences or paragraphs. Say as much as possible with as few words as possible. A, an and the can almost always be left out. Be careful in your use of jargon and avoid slang. 5. Too sparse. Give more than the bare essentials, especially when describing related work experience, skills, accomplishments, activities, interests and club memberships that will give employers desired information. Including membership in the Society of Women Engineers, for example, would be helpful to employers who wish to hire more women, yet cannot ask for that information. 6. Irrelevant information. Customize each resume to each position you seek (when possible). Of course, include all education and work experience, but emphasize only relevant experience, skills, accomplishments, activities and hobbies. Do not include marital status, age, sex, children, height, weight, health, church membership, etc. 7. Obviously generic. Too many resumes scream, "I need a job—any job!" The employer needs to feel that you are interested in that position with that company. 8. Too snazzy. Of course, use good quality bond paper, but avoid exotic types, colored paper, photographs, binders and graphics. More and more companies are scanning resumes into a database, so use white paper, black ink, plain type, and avoid symbols, underlining or italics. 9. Boring. Make your resume as dynamic as possible. Begin every statement with an action verb. Use active verbs, describing what you accomplished on the job. Don't write what someone else told you to do; write what you did. Take advantage of your rich vocabulary and avoid repeating words, especially the first word in a section. 10. Too modest. The resume showcases your qualifications in competition with the other applicants. Put your best foot forward without misrepresentation, falsification or arrogance.
About to enter the job market? Have you spruced up your resume? If not, start working on it. In fact, keep an updated copy whether or not you are looking for a job, so that you are always prepared when the right opportunity comes along. Before you begin work on your résumé, remember: its sole purpose is to get you a job interview. An excellent resume is necessary to make a good first impression. Conversely, a bad résumé will eliminate you from the race, even if you have great qualifications.From my experience, which is corroborated by technical managers at other firms, most people tend to ignore the basics of a resume, which costs them the job interview. Also, since it is a reflection of your skills and personality, each resume is a unique document. What's common between different resumes are the basics, on which this article focuses. In addition to the information given here, you will need to work on a one-on-one basis with a professional, friend, or even your manager to fine-tune your resume. And once you have a killer résumé, don't forget to update it frequently. It is, after all, a work-in-progress document. The tips in this article were compiled from the author's extensive recruiting experiences at his company along with feedback from hiring managers at other high-tech companies.1. USE ATTRACTIVE FORMATTINGFive minutes. That's all you have to grab the reader's attention and market yourself effectively. You can achieve this with attractive formatting.The key is to have a good balance of white space and text. Your résumé should not look empty, nor should it overwhelm the reader with text. Keep margins of at least 1" on all sides (some companies may still keep your résumé "on file" i.e. in three-ring binders). Make the résumé readable by using a minimum of a 10-point font for text and 11-point for headings. Use, at most, three levels of formatting (normal text, bold, and italics) or else it will distract the reader. Remember, although you want to get the reader's attention, do so with communicative titles and descriptions rather than with fancy fonts and graphics.A badly formatted résumé will look sloppy. If you submit such a document, you might as well forget about the interview.2. COVER THE BASICSThe key point here is to not complicate matters for the reader. They should be able to obtain all pertinent information about you without moving from their chair (yes, it sounds ludicrous, but that's how it needs to be). So, make sure that your résumé contains the following information. * Contact Information like name, address, phone/fax numbers, and email address. * Objective. A single statement should sum up your goals. * Education. If you've graduated recently and want to highlight it, place education before the experience and skills section and list your coursework. List GPAs only if they are good. Education should always be listed in reverse chronological order. Assuming that you have an undergraduate degree, do not list your high school education since it is irrelevant. * Work Experience. Again, this must be listed in reverse chronological order, and must include the company title, location, timeframe of work there, responsibilities and projects. More on this later. * Publications, Patents, and Awards. List these or anything else that is relevant to your job function in this section. If you have many publications and patents, consider listing them on a separate page and attach it to your résumé. * Computer Skills. This section can include hardware, software, programming language, and operating system experience. It's not necessary to include everything, but do make sure you list a few critical items which can be caught by résumé tracking software. * Other Skills and Activities. This section can be used to show that you are a well-rounded individual. It can include membership in industry-related societies. Keep it short, general, and avoid controversial hobbies or pastimes.If you have many years of experience, you can also provide a summary of your skills before the "Experience" and "Education" sections.I've seen many résumés where people forgot to list their phone numbers, had glaring holes in their work experience and schooling, or did not mention their objective. Such deficiencies raise questions in the mind of the reader, and make his or her life more difficult by asking them to find information. Do you really want to do that, especially when there are hundreds of people applying for the same job?3. BE CONCISE AND COMMUNICATE RELEVANT INFORMATIONIn the high-tech world, it is likely that managers who appreciate brevity will evaluate your résumé. So, keep the length in check. Follow the general rule of the thumb, one page for every eight years of experience. Also, don't repeat information.However, do not err on the side of extreme conciseness. The goal is to communicate your experience and separate yourself from the competition. Consider the following examples of information that is too concise, appropriate, and too detailed."Designed a K6 motherboard for a sub-$1000 PC"—Too concise. Does not convey details of critical components, nor does it discuss applications."Designed a motherboard using the K6 processor, 430TX chipset and associated peripherals. Target applications were sub-$1000 PCs. To lower cost, graphics acceleration was integrated on-board."—Appropriate. Discusses critical components, architecture, and applications."Designed a motherboard using the K6 processor, 430TX chipset, Ultra-I/O controller, SDRAM, 512 KB of cache memory, clock generator, PCI and ISA slots, and a graphics accelerator with 4MB of memory on board. The system was targeted at sub-$1000 PCs being manufactured by various large computer makers in the US, Europe, and Asia."—Too long. Details that can be discussed in the interview are presented here. The statement about computer makers is irrelevant.4. USE ACTION AND POWER WORDSIt is important that you use action words that convey activity. In the previous examples, the sentence could just as easily have begun with "Worked on a motherboard..." However, beginning the sentence with "Designed a motherboard..." eliminates ambiguity and conveys action.A conscious effort must be made to use action and power words in your résumé. The types of words you can use depend on the job function. If you are applying for a management position, then use words like "Managed, supervised, led," etc. If you are applying for an engineering position, then incorporate words such as "Designed, developed, debugged," etc. A list of action words can be available through online thesauruses, reference books on résumé writing, and even paper manufacturing companies. Remember, it is also important to communicate teamwork and leadership qualities, especially if you are applying for a managerial position.I've noticed that many Indians do not use action and power words when writing résumés. This is probably a cultural trait, since we're taught to understate our achievements and write in passive tense. Eliminate this habit when writing résumés.5. BE FAMILIAR WITH THE INFORMATIONAn interviewer does not want to hear "Well, I worked on that project a long time ago and so I cannot answer your question." This is unacceptable and you have just shot yourself in the foot. If you are not familiar with the material, it conveys that either you did not do the work, or that you forget easily and cannot leverage off past experience, or that you have prepared poorly for the interview. Bottom line, either exclude such information from your résumé, or familiarize yourself with it.6. BE CONSISTENTIt's fine to be creative, but consistency plays a far more important role. It conveys a logical and organized thought process and leaves a positive impression in the engineering-centric high-tech world. Here's an example of consistency: When providing a summary of your accomplishments, begin each line item with an action word, as shown below by the underlined text. * Created and executed strategy to triple product line revenues in two years. * Defined and developed four product families encompassing over 30 devices to meet revenue goals. * Wrote all product data sheets and collateral for these 30 products.Another example is to consistently stay in third person rather than shifting between first and third person in the document. Please refrain from using "I" in your résumé.A general rule of the thumb is that each section of the résumé should have subsections that look very similar. For example, if your "Work Experience" section contains a paragraph on responsibilities, followed by subsections on major projects and accomplishments, it should be the same for every employer.Different sections should resemble each other in terms of formatting, to ensure that information can be located easily.7. DON'T LIEYou will be caught. Enough said.8. BE BUZZWORD COMPLIANTSince screening is routinely performed by software, you must use buzzwords on your résumé. Don't enumerate everything in your repertoire, but do list basic skills that are necessary for the job, or are currently in demand. Obviously, include these abilities only if you possess them.9. PERFORM SPELLING AND GRAMMAR CHECKSMost good interviewers do not accept more than three minor mistakes in a résumé, since it indicates your inability to perform high-quality work. Hence, after you have completed your résumé, check for spelling and grammar errors. All word processing packages include tools to do the same, so that's going to be your first level check. Additionally, have someone proof read the document to catch errors missed by the software.Some common errors that I have see on résumés are: random double spaces between words, two periods at the end of a sentence, misspelling your University or company name, missing prepositions in a sentence, and a lack of commas in a long sentence.10. CUSTOMIZE YOUR RESUMEOne résumé does not fit all. It's okay to customize the résumé based on the job requirements. Customization sells your skills more effectively and results in more job interviews for you.When applying for the job, don't forget the cover letter. The purpose of this document is to augment your résumé's critical sections (i.e. those that are applicable to the target job). The maximum length of a cover letter is one-half of a page, ideally separated into three paragraphs. The first tells the reader how you heard of the job, the second discusses your relevant skills, and the third tells the reader why you are a great fit. It goes without saying that a cover letter must be concise.Since email is now very popular, a short cover letter can be written in the text of the email. However, email does raise the question of how to submit your résumé. In this case, the fundamental rules always apply: follow the company directions, and if they don't specify, ask. If you get no response, use the default, which is a text email with a Word attachment.If you feel the need to work with a résumé professional, there are many online providers of résumé writing and reviewing services. Select one that has experience in your field of work, and understands your requirements well. But remember, only you are responsible for the contents, look, and feel of your résumé, and you should treat it with the utmost importance. This article has provided you with some basic tips on how to write better résumés, and for those of you who need more information, "additional information is available upon request."
* How do you write a program which produces its own source code as its output?* How can I find the day of the week given the date?* Why doesn't C have nested functions?* What is the most efficient way to count the number of bits which are set in a value?* How can I convert integers to binary or hexadecimal?* How can I call a function, given its name as a string?* How do I access command-line arguments?* How can I return multiple values from a function?* How can I invoke another program from within a C program?* How can I access memory located at a certain address?* How can I allocate arrays or structures bigger than 64K?* How can I find out how much memory is available?* How can I read a directory in a C program?* How can I increase the allowable number of simultaneously open files?* What's wrong with the call "fopen("c:\newdir\file.dat", "r")"?* What is the output of printf("%d")* What will happen if I say delete this* Difference between "C structure" and "C++ structure".* Diffrence between a "assignment operator" and a "copy constructor"* What is the difference between "overloading" and "overridding"?* Explain the need for "Virtual Destructor".* Can we have "Virtual Constructors"?* What are the different types of polymorphism?* What are Virtual Functions? How to implement virtual functions in "C"* What are the different types of Storage classes?* What is Namespace?* What are the types of STL containers?.* Difference between "vector" and "array"?* How to write a program such that it will delete itself after exectution?* Can we generate a C++ source code from the binary file?* What are inline functions?* Talk sometiming about profiling?* How many lines of code you have written for a single program?* What is "strstream" ?* How to write Multithreaded applications using C++?* Explain "passing by value", "passing by pointer" and "passing by reference"* Write any small program that will compile in "C" but not in "C++"* Have you heard of "mutable" keyword?* What is a "RTTI"?* Is there something that I can do in C and not in C++?* Why preincrement operator is faster than postincrement?* What is the difference between "calloc" and "malloc"?* What will happen if I allocate memory using "new" and free it using "free" or allocate sing "calloc" and free it using "delete"?* What is Memory Alignment?* Explain working of printf.* Difference between "printf" and "sprintf".* What is "map" in STL?* When shall I use Multiple Inheritance?* What are the techniques you use for debugging?* How to reduce a final size of executable?* Give 2 examples of a code optimization.* What is inheritance?* Difference between Composition and Aggregation.* Difference: Sequence Diagrams, Collaboration Diagrams.* Difference: 'uses', 'extends', 'includes'* What shall I go for Package Diagram?* What is Polymorphism?* Is class an Object? Is object a class?* Comment: C++ "includes" behavior and java "imports"* What do you mean by "Realization"?* What is a Presistent, Transient Object?* What is the use of Operator Overloading?* Does UML guarantee project success?* Difference: Activity Diagram and Sequence Diagram.* What is association?* How to resolve many to many relationship?* How do you represent static members and abstract classes in Class Diagram?* What does static variable mean?* What is a pointer?* What is a structure?* What are the differences between structures and arrays?* In header files whether functions are declared or defined?* What are the differences between malloc() and calloc()?* What are macros? what are its advantages and disadvantages?* Difference between pass by reference and pass by value?* What is static identifier?* Where are the auto variables stored?* Where does global, static, local, register variables, free memory and C Program instructions get stored?* Difference between arrays and linked list?* What are enumerations?* Describe about storage allocation and scope of global, extern, static, local and register variables?* What are register variables? What are the advantage of using register variables?* What is the use of typedef?* Can we specify variable field width in a scanf() format string? If possible how?* Out of fgets() and gets() which function is safe to use and why?* Difference between strdup and strcpy?* What is recursion?* Differentiate between a for loop and a while loop? What are it uses?* What are the different storage classes in C?* Write down the equivalent pointer expression for referring the same element a[i][j][k][l]?* What is difference between Structure and Unions?* What the advantages of using Unions?* What are the advantages of using pointers in a program?* What is the difference between Strings and Arrays?* In a header file whether functions are declared or defined?* What is a far pointer? where we use it?* How will you declare an array of three function pointers where each function receives two ints and returns a float?* what is a NULL Pointer? Whether it is same as an uninitialized pointer?* What is a NULL Macro? What is the difference between a NULL Pointer and a NULL Macro?* What does the error 'Null Pointer Assignment' mean and what causes this error?* What is near, far and huge pointers? How many bytes are occupied by them?* How would you obtain segment and offset addresses from a far address of a memory location?* Are the expressions arr and &arr same for an array of integers?* Does mentioning the array name gives the base address in all the contexts?* Explain one method to process an entire string as one unit?* What is the similarity between a Structure, Union and enumeration?* Can a Structure contain a Pointer to itself?* How can we check whether the contents of two structure variables are same or not?* How are Structure passing and returning implemented by the complier?* How can we read/write Structures from/to data files?* What is the difference between an enumeration and a set of pre-processor # defines?* what do the 'c' and 'v' in argc and argv stand for?* Are the variables argc and argv are local to main?* What is the maximum combined length of command line arguments including the space between adjacent arguments?* If we want that any wildcard characters in the command line arguments should be appropriately expanded, are we required to make any special provision? If yes, which?* Does there exist any way to make the command line arguments available to other functions without passing them as arguments to the function?* What are bit fields? What is the use of bit fields in a Structure declaration?* To which numbering system can the binary number 1101100100111100 be easily converted to?* Which bit wise operator is suitable for checking whether a particular bit is on or off?* Which bit wise operator is suitable for turning off a particular bit in a number?* Which bit wise operator is suitable for putting on a particular bit in a number?* Which bit wise operator is suitable for checking whether a particular bit is on or off?* which one is equivalent to multiplying by 2:Left shifting a number by 1 or Left shifting an unsigned int or char by 1?* Write a program to compare two strings without using the strcmp() function.* Write a program to concatenate two strings.* Write a program to interchange 2 variables without using the third one.* Write programs for String Reversal & Palindrome check* Write a program to find the Factorial of a number* Write a program to generate the Fibinocci Series* Write a program which employs Recursion* Write a program which uses Command Line Arguments* Write a program which uses functions like strcmp(), strcpy()? etc* What are the advantages of using typedef in a program?* How would you dynamically allocate a one-dimensional and two-dimensional array of integers?* How can you increase the size of a dynamically allocated array?* How can you increase the size of a statically allocated array?* When reallocating memory if any other pointers point into the same piece of memory do you have to readjust these other pointers or do they get readjusted automatically?* Which function should be used to free the memory allocated by calloc()?* How much maximum can you allocate in a single call to malloc()?* Can you dynamically allocate arrays in expanded memory?* What is object file? How can you access object file?* Which header file should you include if you are to develop a function which can accept variable number of arguments?* Can you write a function similar to printf()?* How can a called function determine the number of arguments that have been passed to it?* Can there be at least some solution to determine the number of arguments passed to a variable argument list function?* How do you declare the following:* An array of three pointers to chars* An array of three char pointers* A pointer to array of three chars* A pointer to function which receives an int pointer and returns a float pointer* A pointer to a function which receives nothing and returns nothing* What do the functions atoi(), itoa() and gcvt() do?* Does there exist any other function which can be used to convert an integer or a float to a string?* How would you use qsort() function to sort an array of structures?* How would you use qsort() function to sort the name stored in an array of pointers to string?* How would you use bsearch() function to search a name stored in array of pointers to string?* How would you use the functions sin(), pow(), sqrt()?* How would you use the functions memcpy(), memset(), memmove()?* How would you use the functions fseek(), freed(), fwrite() and ftell()?* How would you obtain the current time and difference between two times?* How would you use the functions randomize() and random()?* How would you implement a substr() function that extracts a sub string from a given string?* What is the difference between the functions rand(), random(), srand() and randomize()?* What is the difference between the functions memmove() and memcpy()?* How do you print a string on the printer?* Can you use the function fprintf() to display the output on the screen?* What is an object?* What is the difference between an object and a class?* What is the difference between class and structure?* What is public, protected, private?* What are virtual functions?* What is friend function?* What is a scope resolution operator?* What do you mean by inheritance?* What is abstraction?* What is polymorphism? Explain with an example.* What is encapsulation?* What do you mean by binding of data and functions?* What is function overloading and operator overloading?* What is virtual class and friend class?* What do you mean by inline function?* What do you mean by public, private, protected and friendly?* When is an object created and what is its lifetime?* What do you mean by multiple inheritance and multilevel inheritance? Differentiate between them.* Difference between realloc() and free?* What is a template?* What are the main differences between procedure oriented languages and object oriented languages?* What is R T T I ?* What are generic functions and generic classes?* What is namespace?* What is the difference between pass by reference and pass by value?* Why do we use virtual functions?* What do you mean by pure virtual functions?* What are virtual classes?* Does c++ support multilevel and multiple inheritance?* What are the advantages of inheritance?* When is a memory allocated to a class?* What is the difference between declaration and definition?* What is virtual constructors/destructors?* In c++ there is only virtual destructors, no constructors. Why?* What is late bound function call and early bound function call? Differentiate.* How is exception handling carried out in c++?* When will a constructor executed?* What is Dynamic Polymorphism?* Write a macro for swapping integers.
* What is MUTEX ?* What isthe difference between a 'thread' and a 'process'?* What is INODE?* Explain the working of Virtual Memory.* How does Windows NT supports Multitasking?* Explain the Unix Kernel.* What is Concurrency? Expain with example Deadlock and Starvation.* What are your solution strategies for "Dining Philosophers Problem" ?* Explain Memory Partitioning, Paging, Segmentation.* Explain Scheduling.* Operating System Security.* What is Semaphore?* Explain the following file systems : NTFS, Macintosh(HPFS), FAT .* What are the different process states?* What is Marshalling?* Define and explain COM?* What is Marshalling?* Difference - Loading and Linking ?* What are the basic functions of an operating system?* Explain briefly about, processor, assembler, compiler, loader, linker and the functions executed by them.* What are the difference phases of software development? Explain briefly?* Differentiate between RAM and ROM?* What is DRAM? In which form does it store data?* What is cache memory?* What is hard disk and what is its purpose?* Differentiate between Complier and Interpreter?* What are the different tasks of Lexical analysis?* What are the different functions of Syntax phase, Sheduler?* What are the main difference between Micro-Controller and Micro-Processor?* Describe different job scheduling in operating systems.* What is a Real-Time System ?* What is the difference between Hard and Soft real-time systems ?* What is a mission critical system ?* What is the important aspect of a real-time system ?* If two processes which shares same system memory and system clock in a distributed system, What is it called?* What is the state of the processor, when a process is waiting for some event to occur?* What do you mean by deadlock?* Explain the difference between microkernel and macro kernel.* Give an example of microkernel.* When would you choose bottom up methodology?* When would you choose top down methodology?* Write a small dc shell script to find number of FF in the design.* Why paging is used ?* Which is the best page replacement algorithm and Why? How much time is spent usually in each phases and why?* Difference between Primary storage and secondary storage?* What is multi tasking, multi programming, multi threading?* Difference between multi threading and multi tasking?* What is software life cycle?* Demand paging, page faults, replacement algorithms, thrashing, etc.* Explain about paged segmentation and segment paging* While running DOS on a PC, which command would be used to duplicate the entire diskette?
* What are the different types of joins?* Explain normalization with examples.* What cursor type do you use to retrieve multiple recordsets?* Diffrence between a "where" clause and a "having" clause* What is the difference between "procedure" and "function"?* How will you copy the structure of a table without copying the data?* How to find out the database name from SQL*PLUS command prompt?* Tadeoffs with having indexes* Talk about "Exception Handling" in PL/SQL?* What is the diference between "NULL in C" and "NULL in Oracle?"* What is Pro*C? What is OCI?* Give some examples of Analytical functions.* What is the difference between "translate" and "replace"?* What is DYNAMIC SQL method 4?* How to remove duplicate records from a table?* What is the use of ANALYZing the tables?* How to run SQL script from a Unix Shell?* What is a "transaction"? Why are they necessary?* Explain Normalizationa dn Denormalization with examples.* When do you get contraint violtaion? What are the types of constraints?* How to convert RAW datatype into TEXT?* Difference - Primary Key and Aggregate Key* How functional dependency is related to database table design?* What is a "trigger"?* Why can a "group by" or "order by" clause be expensive to process?* What are "HINTS"? What is "index covering" of a query?* What is a VIEW? How to get script for a view?* What are the Large object types suported by Oracle?* What is SQL*Loader?* Difference between "VARCHAR" and "VARCHAR2" datatypes.* What is the difference among "dropping a table", "truncating a table" and "deleting all records" from a table.* Difference between "ORACLE" and "MICROSOFT ACCESS" databases.* How to create a database link
* User(s) are complaining of delays when using the network. What would you do?* What are some of the problems associated with operating a switched LAN?* Name some of the ways of combining TCP/IP traffic and SNA traffic over the same link.* What sort of cabling is suitable for Fast Ethernet protocols?* What is a Class D IP address?* Why do I sometimes lose a server's address when using more than one server?* What is Firewall?* How do I monitor the activity of sockets?* How would I put my socket in non-blocking mode?* What are RAW sockets?* What is the role of TCP protocol and IP protocol.* What is UDP?* How can I make my server a daemon?* How should I choose a port number for my server?* Layers in TCP/IP* How can I be sure that a UDP message is received?* How to get IP header of a UDP message* Writing UDP/SOCK_DGRAM applications* How many bytes in an IPX network address?* What is the difference between MUTEX and Semaphore?* What is priority inversion?* Different Solutions to dining philosophers problem.* What is a message queue?* Questions on Shared Memory.* What is DHCP?* Working of ping, telnet, gopher.* Can I connect two computers to internet using same line ?* Why networks are layered ? What is the advantage of that ?* How many layers are there in OSI ? Why is it called OSI model ?* network topologies ?* Which are the different network toplogies ?* an example of bus type network.* What is the Bandwidth of ethernet ?* Explain the advantage and disadvantage of ethernet ?* Which is the protocol used in ethernet. (CSMA/CD) Why is it called so ?* What is the advantage of Ring network ?* Compare it with ethernet.
SECTION - IFILE MANAGEMENT IN UNIXHow are devices represented in UNIX?All devices are represented by files called special files that are located in/dev directory. Thus, device files and other files are named and accessed in the same way. A 'regular file' is just an ordinary data file in the disk. A 'block special file' represents a device with characteristics similar to a disk (data transfer in terms of blocks). A 'character special file' represents a device with characteristics similar to a keyboard (data transfer is by stream of bits in sequential order).2.What is 'inode'?All UNIX files have its description stored in a structure called 'inode'. The inode contains info about the file-size, its location, time of last access, time of last modification, permission and so on. Directories are also represented as files and have an associated inode. In addition to descriptions about the file, the inode contains pointers to the data blocks of the file. If the file is large, inode has indirect pointer to a block of pointers to additional data blocks (this further aggregates for larger files). A block is typically 8k.Inode consists of the following fields:File owner identifierFile typeFile access permissionsFile access timesNumber of linksFile sizeLocation of the file data3 .Brief about the directory representation in UNIXA Unix directory is a file containing a correspondence between filenames and inodes. A directory is a special file that the kernel maintains. Only kernel modifies directories, but processes can read directories. The contents of a directory are a list of filename and inode number pairs. When new directories are created, kernel makes two entries named '.' (refers to the directory itself) and '..' (refers to parent directory).System call for creating directory is mkdir (pathname, mode).4. What are the Unix system calls for I/O?open(pathname,flag,mode) - open filecreat(pathname,mode) - create fileclose(filedes) - close an open fileread(filedes,buffer,bytes) - read data from an open filewrite(filedes,buffer,bytes) - write data to an open filelseek(filedes,offset,from) - position an open filedup(filedes) - duplicate an existing file descriptordup2(oldfd,newfd) - duplicate to a desired file descriptorfcntl(filedes,cmd,arg) - change properties of an open fileioctl(filedes,request,arg) - change the behaviour of an open fileThe difference between fcntl anf ioctl is that the former is intended for any open file, while the latter is for device-specific operations.5.How do you change File Access Permissions?Every file has following attributes:owner's user ID ( 16 bit integer )owner's group ID ( 16 bit integer )File access mode word'r w x -r w x- r w x'(user permission-group permission-others permission)r-read, w-write, x-executeTo change the access mode, we use chmod(filename,mode).Example 1:To change mode of myfile to 'rw-rw-r--' (ie. read, write permission for user - read,write permission for group - only read permission for others) we give the args as:chmod(myfile,0664) .Each operation is represented by discrete values'r' is 4'w' is 2'x' is 1Therefore, for 'rw' the value is 6(4+2).Example 2:To change mode of myfile to 'rwxr--r--' we give the args as:chmod(myfile,0744).What are links and symbolic links in UNIX file system?A link is a second name (not a file) for a file. Links can be used to assign more than one name to a file, but cannot be used to assign a directory more than one name or link filenames on different computers.Symbolic link 'is' a file that only contains the name of another file.Operation on the symbolic link is directed to the file pointed by the it.Both the limitations of links are eliminated in symbolic links.Commands for linking files are:Link ln filename1 filename2Symbolic link ln -s filename1 filename2What is a FIFO?FIFO are otherwise called as 'named pipes'. FIFO (first-in-first-out) is a special file which is said to be data transient. Once data is read from named pipe, it cannot be read again. Also, data can be read only in the order written. It is used in interprocess communication where a process writes to one end of the pipe (producer) and the other reads from the other end (consumer).How do you create special files like named pipes and device files?The system call mknod creates special files in the following sequence.kernel assigns new inode,sets the file type to indicate that the file is a pipe, directory or special file,If it is a device file, it makes the other entries like major, minor device numbers.For example:If the device is a disk, major device number refers to the disk controller and minor device number is the disk.Discuss the mount and unmount system callsThe privileged mount system call is used to attach a file system to a directory of another file system; the unmount system call detaches a file system. When you mount another file system on to your directory, you are essentially splicing one directory tree onto a branch in another directory tree. The first argument to mount call is the mount point, that is , a directory in the current file naming system. The second argument is the file system to mount to that point. When you insert a cdrom to your unix system's drive, the file system in the cdrom automatically mounts to /dev/cdrom in your system.How does the inode map to data block of a file?Inode has 13 block addresses. The first 10 are direct block addresses of the first 10 data blocks in the file. The 11th address points to a one-level index block. The 12th address points to a two-level (double in-direction) index block. The 13th address points to a three-level(triple in-direction)index block. This provides a very large maximum file size with efficient access to large files, but also small files are accessed directly in one disk read.What is a shell?A shell is an interactive user interface to an operating system services that allows an user to enter commands as character strings or through a graphical user interface. The shell converts them to system calls to the OS or forks off a process to execute the command. System call results and other information from the OS are presented to the user through an interactive interface. Commonly used shells are sh,csh,ks etc.SECTION - IIPROCESS MODEL and IPC1. Brief about the initial process sequence while the system boots up.While booting, special process called the 'swapper' or 'scheduler' is created with Process-ID 0. The swapper manages memory allocation for processes and influences CPU allocation. The swapper inturn creates 3 children:the process dispatcher,vhand anddbflushwith IDs 1,2 and 3 respectively.This is done by executing the file /etc/init. Process dispatcher gives birth to the shell. Unix keeps track of all the processes in an internal data structure called the Process Table (listing command is ps -el).2. What are various IDs associated with a process?Unix identifies each process with a unique integer called ProcessID. The process that executes the request for creation of a process is called the 'parent process' whose PID is 'Parent Process ID'. Every process is associated with a particular user called the 'owner' who has privileges over the process. The identification for the user is 'UserID'. Owner is the user who executes the process. Process also has 'Effective User ID' which determines the access privileges for accessing resources like files.getpid() -process idgetppid() -parent process idgetuid() -user idgeteuid() -effective user id3. Explain fork() system call.The `fork()' used to create a new process from an existing process. The new process is called the child process, and the existing process is called the parent. We can tell which is which by checking the return value from `fork()'. The parent gets the child's pid returned to him, but the child gets 0 returned to him.4. Predict the output of the following program codemain(){fork();printf("Hello World!");}Answer:Hello World!Hello World!Explanation:The fork creates a child that is a duplicate of the parent process. The child begins from the fork().All the statements after the call to fork() will be executed twice.(once by the parent process and other by child). The statement before fork() is executed only by the parent process.5. Predict the output of the following program codemain(){fork(); fork(); fork();printf("Hello World!");}Answer:"Hello World" will be printed 8 times.Explanation:2^n times where n is the number of calls to fork()6. List the system calls used for process management:System calls Descriptionfork() To create a new processexec() To execute a new program in a processwait() To wait until a created process completes its executionexit() To exit from a process executiongetpid() To get a process identifier of the current processgetppid() To get parent process identifiernice() To bias the existing priority of a processbrk() To increase/decrease the data segment size of a process7. How can you get/set an environment variable from a program?Getting the value of an environment variable is done by using `getenv()'.Setting the value of an environment variable is done by using `putenv()'.8. How can a parent and child process communicate?A parent and child can communicate through any of the normal inter-process communication schemes (pipes, sockets, message queues, shared memory), but also have some special ways to communicate that take advantage of their relationship as a parent and child. One of the most obvious is that the parent can get the exit status of the child.9. What is a zombie?When a program forks and the child finishes before the parent, the kernel still keeps some of its information about the child in case the parent might need it - for example, the parent may need to check the child's exit status. To be able to get this information, the parent calls `wait()'; In the interval between the child terminating and the parent calling `wait()', the child is said to be a `zombie' (If you do `ps', the child will have a `Z' in its status field to indicate this.)10. What are the process states in Unix?As a process executes it changes state according to its circumstances. Unix processes have the following states:Running : The process is either running or it is ready to run .Waiting : The process is waiting for an event or for a resource.Stopped : The process has been stopped, usually by receiving a signal.Zombie : The process is dead but have not been removed from the process table.11. What Happens when you execute a program?When you execute a program on your UNIX system, the system creates a special environment for that program. This environment contains everything needed for the system to run the program as if no other program were running on the system. Each process has process context, which is everything that is unique about the state of the program you are currently running. Every time you execute a program the UNIX system does a fork, which performs a series of operations to create a process context and then execute your program in that context. The steps include the following:Allocate a slot in the process table, a list of currently running programs kept by UNIX.Assign a unique process identifier (PID) to the process.iCopy the context of the parent, the process that requested the spawning of the new process.Return the new PID to the parent process. This enables the parent process to examine or control the process directly.After the fork is complete, UNIX runs your program.12. What Happens when you execute a command?When you enter 'ls' command to look at the contents of your current working directory, UNIX does a series of things to create an environment for ls and the run it: The shell has UNIX perform a fork. This creates a new process that the shell will use to run the ls program. The shell has UNIX perform an exec of the ls program. This replaces the shell program and data with the program and data for ls and then starts running that new program. The ls program is loaded into the new process context, replacing the text and data of the shell. The ls program performs its task, listing the contents of the current directory.13. What is a Daemon?A daemon is a process that detaches itself from the terminal and runs, disconnected, in the background, waiting for requests and responding to them. It can also be defined as the background process that does not belong to a terminal session. Many system functions are commonly performed by daemons, including the sendmail daemon, which handles mail, and the NNTP daemon, which handles USENET news. Many other daemons may exist. Some of the most common daemons are:init: Takes over the basic running of the system when the kernel has finished the boot process.inetd: Responsible for starting network services that do not have their own stand-alone daemons. For example, inetd usually takes care of incoming rlogin, telnet, and ftp connections.cron: Responsible for running repetitive tasks on a regular schedule.14. What is 'ps' command for?The ps command prints the process status for some or all of the running processes. The information given are the process identification number (PID),the amount of time that the process has taken to execute so far etc.15. How would you kill a process?The kill command takes the PID as one argument; this identifies which process to terminate. The PID of a process can be got using 'ps' command.16. What is an advantage of executing a process in background?The most common reason to put a process in the background is to allow you to do something else interactively without waiting for the process to complete. At the end of the command you add the special background symbol, &. This symbol tells your shell to execute the given command in the background.Example: cp *.* ../backup& (cp is for copy)17. How do you execute one program from within another?The system calls used for low-level process creation are execlp() and execvp(). The execlp call overlays the existing program with the new one , runs that and exits. The original program gets back control only when an error occurs.execlp(path,file_name,arguments..); //last argument must be NULLA variant of execlp called execvp is used when the number of arguments is not known in advance.execvp(path,argument_array); //argument array should be terminated by NULL18. What is IPC? What are the various schemes available?The term IPC (Inter-Process Communication) describes various ways by which different process running on some operating system communicate between each other. Various schemes available are as follows:Pipes:One-way communication scheme through which different process can communicate. The problem is that the two processes should have a common ancestor (parent-child relationship). However this problem was fixed with the introduction of named-pipes (FIFO).Message Queues :Message queues can be used between related and unrelated processes running on a machine.Shared Memory:This is the fastest of all IPC schemes. The memory to be shared is mapped into the address space of the processes (that are sharing). The speed achieved is attributed to the fact that there is no kernel involvement. But this scheme needs synchronization.Various forms of synchronisation are mutexes, condition-variables, read-write locks, record-locks, and semaphores.SECTION - IIIMEMORY MANAGEMENT1. What is the difference between Swapping and Paging?Swapping:Whole process is moved from the swap device to the main memory for execution. Process size must be less than or equal to the available main memory. It is easier to implementation and overhead to the system. Swapping systems does not handle the memory more flexibly as compared to the paging systems.Paging:Only the required memory pages are moved to main memory from the swap device for execution. Process size does not matter. Gives the concept of the virtual memory.It provides greater flexibility in mapping the virtual address space into the physical memory of the machine. Allows more number of processes to fit in the main memory simultaneously. Allows the greater process size than the available physical memory. Demand paging systems handle the memory more flexibly.2. What is major difference between the Historic Unix and the new BSD release ofUnix System V in terms of Memory Management?Historic Unix uses Swapping – entire process is transferred to the main memory from the swap device, whereas the Unix System V uses Demand Paging – only the part of the process is moved to the main memory. Historic Unix uses one Swap Device and Unix System V allow multiple Swap Devices.3. What is the main goal of the Memory Management?It decides which process should reside in the main memory,Manages the parts of the virtual address space of a process which is non-core resident,Monitors the available main memory and periodically write the processes into the swap device to provide more processes fit in the main memory simultaneously.4. What is a Map?A Map is an Array, which contains the addresses of the free space in the swap device that are allocatable resources, and the number of the resource units available there.1 10,000Address UnitsThis allows First-Fit allocation of contiguous blocks of a resource. Initially the Map contains one entry – address (block offset from the starting of the swap area) and the total number of resources.Kernel treats each unit of Map as a group of disk blocks. On the allocation and freeing of the resources Kernel updates the Map for accurate information.5. What scheme does the Kernel in Unix System V follow while choosing a swap device among the multiple swap devices?Kernel follows Round Robin scheme choosing a swap device among the multiple swap devices in Unix System V.6. What is a Region?A Region is a continuous area of a process’s address space (such as text, data and stack). The kernel in a ‘Region Table’ that is local to the process maintains region. Regions are sharable among the process.7. What are the events done by the Kernel after a process is being swapped out from the main memory?When Kernel swaps the process out of the primary memory, it performs the following:Ø Kernel decrements the Reference Count of each region of the process. If the reference count becomes zero, swaps the region out of the main memory,Ø Kernel allocates the space for the swapping process in the swap device,Ø Kernel locks the other swapping process while the current swapping operation is going on,Ø The Kernel saves the swap address of the region in the region table.8. Is the Process before and after the swap are the same? Give reason.Process before swapping is residing in the primary memory in its original form. The regions (text, data and stack) may not be occupied fully by the process, there may be few empty slots in any of the regions and while swapping Kernel do not bother about the empty slots while swapping the process out.After swapping the process resides in the swap (secondary memory) device. The regions swapped out will be present but only the occupied region slots but not the empty slots that were present before assigning.While swapping the process once again into the main memory, the Kernel referring to the Process Memory Map, it assigns the main memory accordingly taking care of the empty slots in the regions.9. What do you mean by u-area (user area) or u-block?This contains the private data that is manipulated only by the Kernel. This is local to the Process, i.e. each process is allocated a u-area.10. What are the entities that are swapped out of the main memory while swapping the process out of the main memory?All memory space occupied by the process, process’s u-area, and Kernel stack are swapped out, theoretically.Practically, if the process’s u-area contains the Address Translation Tables for the process then Kernel implementations do not swap the u-area.11. What is Fork swap?fork() is a system call to create a child process. When the parent process calls fork() system call, the child process is created and if there is short of memory then the child process is sent to the read-to-run state in the swap device, and return to the user state without swapping the parent process. When the memory will be available the child process will be swapped into the main memory.12. What is Expansion swap?At the time when any process requires more memory than it is currently allocated, the Kernel performs Expansion swap. To do this Kernel reserves enough space in the swap device. Then the address translation mapping is adjusted for the new virtual address space but the physical memory is not allocated. At last Kernel swaps the process into the assigned space in the swap device. Later when the Kernel swaps the process into the main memory this assigns memory according to the new address translation mapping.13. How the Swapper works?The swapper is the only process that swaps the processes. The Swapper operates only in the Kernel mode and it does not uses System calls instead it uses internal Kernel functions for swapping. It is the archetype of all kernel process.14. What are the processes that are not bothered by the swapper? Give Reason.Ø Zombie process: They do not take any up physical memory.Ø Processes locked in memories that are updating the region of the process.Ø Kernel swaps only the sleeping processes rather than the ‘ready-to-run’ processes, as they have the higher probability of being scheduled than the Sleeping processes.15. What are the requirements for a swapper to work?The swapper works on the highest scheduling priority. Firstly it will look for any sleeping process, if not found then it will look for the ready-to-run process for swapping. But the major requirement for the swapper to work the ready-to-run process must be core-resident for at least 2 seconds before swapping out. And for swapping in the process must have been resided in the swap device for at least 2 seconds. If the requirement is not satisfied then the swapper will go into the wait state on that event and it is awaken once in a second by the Kernel.16. What are the criteria for choosing a process for swapping into memory from the swap device?The resident time of the processes in the swap device, the priority of the processes and the amount of time the processes had been swapped out.17. What are the criteria for choosing a process for swapping out of the memory to the swap device?Ø The process’s memory resident time,Ø Priority of the process andØ The nice value.18. What do you mean by nice value?Nice value is the value that controls {increments or decrements} the priority of the process. This value that is returned by the nice () system call. The equation for using nice value is:Priority = (“recent CPU usage”/constant) + (base- priority) + (nice value)Only the administrator can supply the nice value. The nice () system call works for the running process only. Nice value of one process cannot affect the nice value of the other process.19. What are conditions on which deadlock can occur while swapping the processes?All processes in the main memory are asleep.All ‘ready-to-run’ processes are swapped out.There is no space in the swap device for the new incoming process that are swapped out of the main memory.There is no space in the main memory for the new incoming process.20. What are conditions for a machine to support Demand Paging?Memory architecture must based on Pages,The machine must support the ‘restartable’ instructions.21. What is ‘the principle of locality’?It’s the nature of the processes that they refer only to the small subset of the total data space of the process. i.e. the process frequently calls the same subroutines or executes the loop instructions.22. What is the working set of a process?The set of pages that are referred by the process in the last ‘n’, references, where ‘n’ is called the window of the working set of the process.23. What is the window of the working set of a process?The window of the working set of a process is the total number in which the process had referred the set of pages in the working set of the process.24. What is called a page fault?Page fault is referred to the situation when the process addresses a page in the working set of the process but the process fails to locate the page in the working set. And on a page fault the kernel updates the working set by reading the page from the secondary device.25. What are data structures that are used for Demand Paging?Kernel contains 4 data structures for Demand paging. They are,Ø Page table entries,Ø Disk block descriptors,Ø Page frame data table (pfdata),Ø Swap-use table.What are the bits that support the demand paging?Valid, Reference, Modify, Copy on write, Age. These bits are the part of the page table entry, which includes physical address of the page and protection bits.Page addressAge Copy on write Modify Reference Valid ProtectionHow the Kernel handles the fork() system call in traditional Unix and in the System V Unix, while swapping?Kernel in traditional Unix, makes the duplicate copy of the parent’s address space and attaches it to the child’s process, while swapping. Kernel in System V Unix, manipulates the region tables, page table, and pfdata table entries, by incrementing the reference count of the region table of shared regions.Difference between the fork() and vfork() system call?During the fork() system call the Kernel makes a copy of the parent process’s address space and attaches it to the child process.But the vfork() system call do not makes any copy of the parent’s address space, so it is faster than the fork() system call. The child process as a result of the vfork() system call executes exec() system call. The child process from vfork() system call executes in the parent’s address space (this can overwrite the parent’s data and stack ) which suspends the parent process until the child process exits.What is BSS(Block Started by Symbol)?A data representation at the machine level, that has initial values when a program starts and tells about how much space the kernel allocates for the un-initialized data. Kernel initializes it to zero at run-time.What is Page-Stealer process?This is the Kernel process that makes rooms for the incoming pages, by swapping the memory pages that are not the part of the working set of a process. Page-Stealer is created by the Kernel at the system initialization and invokes it throughout the lifetime of the system. Kernel locks a region when a process faults on a page in the region, so that page stealer cannot steal the page, which is being faulted in.Name two paging states for a page in memory?The two paging states are:The page is aging and is not yet eligible for swapping,The page is eligible for swapping but not yet eligible for reassignment to other virtual address space.What are the phases of swapping a page from the memory?Page stealer finds the page eligible for swapping and places the page number in the list of pages to be swapped.Kernel copies the page to a swap device when necessary and clears the valid bit in the page table entry, decrements the pfdata reference count, and places the pfdata table entry at the end of the free list if its reference count is 0.What is page fault? Its types?Page fault refers to the situation of not having a page in the main memory when any process references it.There are two types of page fault :Validity fault,Protection fault.In what way the Fault Handlers and the Interrupt handlers are different?Fault handlers are also an interrupt handler with an exception that the interrupt handlers cannot sleep. Fault handlers sleep in the context of the process that caused the memory fault. The fault refers to the running process and no arbitrary processes are put to sleep.What is validity fault?If a process referring a page in the main memory whose valid bit is not set, it results in validity fault.The valid bit is not set for those pages:that are outside the virtual address space of a process,that are the part of the virtual address space of the process but no physical address is assigned to it.What does the swapping system do if it identifies the illegal page for swapping?If the disk block descriptor does not contain any record of the faulted page, then this causes the attempted memory reference is invalid and the kernel sends a “Segmentation violation” signal to the offending process. This happens when the swapping system identifies any invalid memory reference.What are states that the page can be in, after causing a page fault?On a swap device and not in memory,On the free page list in the main memory,In an executable file,Marked “demand zero”,Marked “demand fill”.In what way the validity fault handler concludes?It sets the valid bit of the page by clearing the modify bit.It recalculates the process priority.At what mode the fault handler executes?At the Kernel Mode.What do you mean by the protection fault?Protection fault refers to the process accessing the pages, which do not have the access permission. A process also incur the protection fault when it attempts to write a page whose copy on write bit was set during the fork() system call.How the Kernel handles the copy on write bit of a page, when the bit is set?In situations like, where the copy on write bit of a page is set and that page is shared by more than one process, the Kernel allocates new page and copies the content to the new page and the other processes retain their references to the old page. After copying the Kernel updates the page table entry with the new page number. Then Kernel decrements the reference count of the old pfdata table entry.In cases like, where the copy on write bit is set and no processes are sharing the page, the Kernel allows the physical page to be reused by the processes. By doing so, it clears the copy on write bit and disassociates the page from its disk copy (if one exists), because other process may share the disk copy. Then it removes the pfdata table entry from the page-queue as the new copy of the virtual page is not on the swap device. It decrements the swap-use count for the page and if count drops to 0, frees the swap space.For which kind of fault the page is checked first?The page is first checked for the validity fault, as soon as it is found that the page is invalid (valid bit is clear), the validity fault handler returns immediately, and the process incur the validity page fault. Kernel handles the validity fault and the process will incur the protection fault if any one is present.In what way the protection fault handler concludes?After finishing the execution of the fault handler, it sets the modify and protection bits and clears the copy on write bit. It recalculates the process-priority and checks for signals.How the Kernel handles both the page stealer and the fault handler?The page stealer and the fault handler thrash because of the shortage of the memory. If the sum of the working sets of all processes is greater that the physical memory then the fault handler will usually sleep because it cannot allocate pages for a process. This results in the reduction of the system throughput because Kernel spends too much time in overhead, rearranging the memory in the frantic pace.
* C-Aptitude * Data Bases * Data Structures * Networking * Operating Systems * SQL Questions * Technical Aptitude * UNIX * Important Verbal * Interview Skills That win the job * 64 HR Interview Questions * Basics of Communications * A presentation on Interviews * Soft skill for successful career * Personality Development * Interview Techniques * Interview PreparationThanks,ALl the Best
Following are a few basic questions that cover the essentials of OS:1. Explain the concept of Reentrancy.It is a useful, memory-saving technique for multiprogrammed timesharing systems. A Reentrant Procedure is one in which multiple users can share a single copy of a program during the same period. Reentrancy has 2 key aspects: The program code cannot modify itself, and the local data for each user process must be stored separately. Thus, the permanent part is the code, and the temporary part is the pointer back to the calling program and local variables used by that program. Each execution instance is called activation. It executes the code in the permanent part, but has its own copy of local variables/parameters. The temporary part associated with each activation is the activation record. Generally, the activation record is kept on the stack.Note: A reentrant procedure can be interrupted and called by an interrupting program, and still execute correctly on returning to the procedure.2. Explain Belady's Anomaly.Also called FIFO anomaly. Usually, on increasing the number of frames allocated to a process' virtual memory, the process execution is faster, because fewer page faults occur. Sometimes, the reverse happens, i.e., the execution time increases even when more frames are allocated to the process. This is Belady's Anomaly. This is true for certain page reference patterns.3. What is a binary semaphore? What is its use?A binary semaphore is one, which takes only 0 and 1 as values. They are used to implement mutual exclusion and synchronize concurrent processes.4. What is thrashing?It is a phenomenon in virtual memory schemes when the processor spends most of its time swapping pages, rather than executing instructions. This is due to an inordinate number of page faults.5. List the Coffman's conditions that lead to a deadlock.Ø Mutual Exclusion: Only one process may use a critical resource at a time.Ø Hold & Wait: A process may be allocated some resources while waiting for others.Ø No Pre-emption: No resource can be forcible removed from a process holding it.Ø Circular Wait: A closed chain of processes exist such that each process holds at least one resource needed by another process in the chain.6. What are short-, long- and medium-term scheduling?Long term scheduler determines which programs are admitted to the system for processing. It controls the degree of multiprogramming. Once admitted, a job becomes a process.Medium term scheduling is part of the swapping function. This relates to processes that are in a blocked or suspended state. They are swapped out of real-memory until they are ready to execute. The swapping-in decision is based on memory-management criteria.Short term scheduler, also know as a dispatcher executes most frequently, and makes the finest-grained decision of which process should execute next. This scheduler is invoked whenever an event occurs. It may lead to interruption of one process by preemption.7. What are turnaround time and response time?Turnaround time is the interval between the submission of a job and its completion. Response time is the interval between submission of a request, and the first response to that request.8. What are the typical elements of a process image?Ø User data: Modifiable part of user space. May include program data, user stack area, and programs that may be modified.Ø User program: The instructions to be executed.Ø System Stack: Each process has one or more LIFO stacks associated with it. Used to store parameters and calling addresses for procedure and system calls.Ø Process control Block (PCB): Info needed by the OS to control processes.9. What is the Translation Lookaside Buffer (TLB)?In a cached system, the base addresses of the last few referenced pages is maintained in registers called the TLB that aids in faster lookup. TLB contains those page-table entries that have been most recently used. Normally, each virtual memory reference causes 2 physical memory accesses-- one to fetch appropriate page-table entry, and one to fetch the desired data. Using TLB in-between, this is reduced to just one physical memory access in cases of TLB-hit.10. What is the resident set and working set of a process?Resident set is that portion of the process image that is actually in real-memory at a particular instant. Working set is that subset of resident set that is actually needed for execution. (Relate this to the variable-window size method for swapping techniques.)11. When is a system in safe state?The set of dispatchable processes is in a safe state if there exists at least one temporal order in which all processes can be run to completion without resulting in a deadlock.12. What is cycle stealing?We encounter cycle stealing in the context of Direct Memory Access (DMA). Either the DMA controller can use the data bus when the CPU does not need it, or it may force the CPU to temporarily suspend operation. The latter technique is called cycle stealing. Note that cycle stealing can be done only at specific break points in an instruction cycle.13. What is meant by arm-stickiness?If one or a few processes have a high access rate to data on one track of a storage disk, then they may monopolize the device by repeated requests to that track. This generally happens with most common device scheduling algorithms (LIFO, SSTF, C-SCAN, etc). High-density multisurface disks are more likely to be affected by this than low density ones.14. What are the stipulations of C2 level security?C2 level security provides for:Ø Discretionary Access ControlØ Identification and AuthenticationØ AuditingØ Resource reuse15. What is busy waiting?The repeated execution of a loop of code while waiting for an event to occur is called busy-waiting. The CPU is not engaged in any real productive activity during this period, and the process does not progress toward completion.16. Explain the popular multiprocessor thread-scheduling strategies.Ø Load Sharing: Processes are not assigned to a particular processor. A global queue of threads is maintained. Each processor, when idle, selects a thread from this queue. Note that load balancing refers to a scheme where work is allocated to processors on a more permanent basis.Ø Gang Scheduling: A set of related threads is scheduled to run on a set of processors at the same time, on a 1-to-1 basis. Closely related threads / processes may be scheduled this way to reduce synchronization blocking, and minimize process switching. Group scheduling predated this strategy.Ø Dedicated processor assignment: Provides implicit scheduling defined by assignment of threads to processors. For the duration of program execution, each program is allocated a set of processors equal in number to the number of threads in the program. Processors are chosen from the available pool.Ø Dynamic scheduling: The number of thread in a program can be altered during the course of execution.17. When does the condition 'rendezvous' arise?In message passing, it is the condition in which, both, the sender and receiver are blocked until the message is delivered.18. What is a trap and trapdoor?Trapdoor is a secret undocumented entry point into a program used to grant access without normal methods of access authentication. A trap is a software interrupt, usually the result of an error condition.19. What are local and global page replacements?Local replacement means that an incoming page is brought in only to the relevant process' address space. Global replacement policy allows any page frame from any process to be replaced. The latter is applicable to variable partitions model only.20. Define latency, transfer and seek time with respect to disk I/O.Seek time is the time required to move the disk arm to the required track. Rotational delay or latency is the time it takes for the beginning of the required sector to reach the head. Sum of seek time (if any) and latency is the access time. Time taken to actually transfer a span of data is transfer time.21. Describe the Buddy system of memory allocation.Free memory is maintained in linked lists, each of equal sized blocks. Any such block is of size 2^k. When some memory is required by a process, the block size of next higher order is chosen, and broken into two. Note that the two such pieces differ in address only in their kth bit. Such pieces are called buddies. When any used block is freed, the OS checks to see if its buddy is also free. If so, it is rejoined, and put into the original free-block linked-list.22. What is time-stamping?It is a technique proposed by Lamport, used to order events in a distributed system without the use of clocks. This scheme is intended to order events consisting of the transmission of messages. Each system 'i' in the network maintains a counter Ci. Every time a system transmits a message, it increments its counter by 1 and attaches the time-stamp Ti to the message. When a message is received, the receiving system 'j' sets its counter Cj to 1 more than the maximum of its current value and the incoming time-stamp Ti. At each site, the ordering of messages is determined by the following rules: For messages x from site i and y from site j, x precedes y if one of the following conditions holds....(a) if Ti23. How are the wait/signal operations for monitor different from those for semaphores?If a process in a monitor signal and no task is waiting on the condition variable, the signal is lost. So this allows easier program design. Whereas in semaphores, every operation affects the value of the semaphore, so the wait and signal operations should be perfectly balanced in the program.24. In the context of memory management, what are placement and replacement algorithms?Placement algorithms determine where in available real-memory to load a program. Common methods are first-fit, next-fit, best-fit. Replacement algorithms are used when memory is full, and one process (or part of a process) needs to be swapped out to accommodate a new program. The replacement algorithm determines which are the partitions to be swapped out.25. In loading programs into memory, what is the difference between load-time dynamic linking and run-time dynamic linking?For load-time dynamic linking: Load module to be loaded is read into memory. Any reference to a target external module causes that module to be loaded and the references are updated to a relative address from the start base address of the application module.With run-time dynamic loading: Some of the linking is postponed until actual reference during execution. Then the correct module is loaded and linked.26. What are demand- and pre-paging?With demand paging, a page is brought into memory only when a location on that page is actually referenced during execution. With pre-paging, pages other than the one demanded by a page fault are brought in. The selection of such pages is done based on common access patterns, especially for secondary memory devices.27. Paging a memory management function, while multiprogramming a processor management function, are the two interdependent?Yes.28. What is page cannibalizing?Page swapping or page replacements are called page cannibalizing.29. What has triggered the need for multitasking in PCs?Ø Increased speed and memory capacity of microprocessors together with the support fir virtual memory andØ Growth of client server computing30. What are the four layers that Windows NT have in order to achieve independence?Ø Hardware abstraction layerØ KernelØ SubsystemsØ System Services.31. What is SMP?To achieve maximum efficiency and reliability a mode of operation known as symmetric multiprocessing is used. In essence, with SMP any process or threads can be assigned to any processor.32. What are the key object oriented concepts used by Windows NT?Ø EncapsulationØ Object class and instance33. Is Windows NT a full blown object oriented operating system? Give reasons.No Windows NT is not so, because its not implemented in object oriented language and the data structures reside within one executive component and are not represented as objects and it does not support object oriented capabilities .34. What is a drawback of MVT?It does not have the features likeØ ability to support multiple processorsØ virtual storageØ source level debugging35. What is process spawning?When the OS at the explicit request of another process creates a process, this action is called process spawning.36. How many jobs can be run concurrently on MVT?15 jobs37. List out some reasons for process termination.Ø Normal completionØ Time limit exceededØ Memory unavailableØ Bounds violationØ Protection errorØ Arithmetic errorØ Time overrunØ I/O failureØ Invalid instructionØ Privileged instructionØ Data misuseØ Operator or OS interventionØ Parent termination.38. What are the reasons for process suspension?Ø swappingØ interactive user requestØ timingØ parent process request39. What is process migration?It is the transfer of sufficient amount of the state of process from one machine to the target machine40. What is mutant?In Windows NT a mutant provides kernel mode or user mode mutual exclusion with the notion of ownership.41. What is an idle thread?The special thread a dispatcher will execute when no ready thread is found.42. What is FtDisk?It is a fault tolerance disk driver for Windows NT.43. What are the possible threads a thread can have?Ø ReadyØ StandbyØ RunningØ WaitingØ TransitionØ Terminated.44. What are rings in Windows NT?Windows NT uses protection mechanism called rings provides by the process to implement separation between the user mode and kernel mode.45. What is Executive in Windows NT?In Windows NT, executive refers to the operating system code that runs in kernel mode.46. What are the sub-components of I/O manager in Windows NT?Ø Network redirector/ ServerØ Cache manager.Ø File systemsØ Network driverØ Device driver47. What are DDks? Name an operating system that includes this feature.DDks are device driver kits, which are equivalent to SDKs for writing device drivers. Windows NT includes DDks.48. What level of security does Windows NT meets?C2 level security.