In-depth understanding of computer system book reviews! Good!

Source: Internet
Author: User
Tags types of functions intel pentium

Http://book.douban.com/subject/1230413/

 

Another: http://book.douban.com/review/5627139/

Chapter 1
A tour of Computer System
A Brief Introduction to computer systems.

Exam★★★: There may be some overall conceptual questions in the written test.
Cultivation★: The most basic concept of a computer.
---------------------------------------- ------------------------------
Chapter 2
Representing and manipulating information
Information Representation in the computer. The representation of integers and floating-point numbers.

Exam★: The exam is rarely taken.
Cultivation★★★★: Many people may write code for many years without knowing how floating point numbers are stored in the 4 (8) bytes.
---------------------------------------- ------------------------------
Chapter 3
Machine-level representation of Program
A review of the assembly language.

Cultivation★★★★★: Understanding the Assembly Language and register structure is the basis of many subsequent contents.
Exam:
3.7 procedures★★★★★: The usage of stacks in process calls, especially process calls (including recursive calls) is often tested.
3.10 alignment★★★★★: Alignment of data in the memory is also frequently used in the examination. For example, define a struct array, print the address of one of the elements, and ask how many bytes the address is from the starting address of the array.
Others★★★: There are still few candidates for the exam (except for specialized positions ).
---------------------------------------- ------------------------------
Chapter 4
Processor Architecture
The content of the computer architecture.
Processor structure, logic gate, function unit, instruction set, command execution, command execution pipeline, etc.

Exam★: For software-related jobs, it is rare to take such bottom-layer questions.
Cultivation★★★: For technical personnel engaged in the software layer, you do not need to go into depth, but you should also understand and know what is going on.
---------------------------------------- ------------------------------
Chapter 5
Optimizing Program Performance
How to optimize program execution efficiency, including code optimization, compiler optimization, and CPU-level optimization.

5.1-5.6
Exam★★★★: There are often some issues that may help you find program flaws. Can you see the details of the code that can be optimized?
Cultivation★★★★★: Of course, you need to know at what level the compiler can automatically optimize your code, and how you optimize the code in small details when the compiler cannot be optimized.
After 5.7
Optimization at the CPU level, the concept of microinstruction, parallel microinstruction on functional units, and Prediction of program branches.
Exam★: For software-related jobs, you will not take these questions.
Cultivation★★★: You do not need to go into depth, but you should know and understand it.
---------------------------------------- ------------------------------
Chapter6
The Memory Hierarchy
The storage structure in computer systems is described in detail.

6.1 describes different types of storage devices and the corresponding data access methods.
Exam★: Rarely get to such a bottom layer
Cultivation★★: All right.
6.2-6.5 describes the storage device organization and focuses on the cache and its working methods.
Exam★★★★: During the interview, I often get questions related to cache.
Cultivation★★★★: The Storage Structure and cache are very basic and important concepts in computers.
6.6-6.7 describes how a program deals with the cache, and the impact of different cyclic nesting orders and traversal directions on Cache hits.
Exam★★: I rarely get these questions.
Cultivation★★★★: Of course you want to know the most efficient nesting sequence when writing multiple loops.
---------------------------------------- ------------------------------
Chapter 7
Linking
As the name suggests, I have explained in detail the link process of a program, mainly including static links and dynamic links, as well as the technologies used in the Link process.

Exam★★★: You need to know the basic concepts of links, especially dynamic links.
Cultivation★★★★★: Sometimes, you may be tortured by a link error for several days. In addition, the application of the Dynamic Link Library is also very common.
---------------------------------------- ------------------------------
Chapter 8
Predictional Control Flow
As the name suggests, this chapter mainly describes exception control. However, the "exception" here is not a narrow exception in Java or C ++, but a broad concept of "exceptions, including interrupt (interrupt, hardware level, mainly I/O interrupt), trap (trap, actively generated exception, mainly used for interaction between user programs and system kernel, for example, System Call), error (falut, for example, 0 error; Page error: in virtual memory, the requested page is not in memory and needs to be read from the hard disk. Errors may be recovered) and aborted (abort, fatal error, cannot be recovered, such as hardware problems ).
While introducing exception handling, we also introduced the concept of process, detailed introduction of process control, and process-level exception: Signal (signal ), this level of exception handling is completed by the operating system, usually called context switch ).

Exam★★: Master the concept of a process.
Cultivation★★★: You can understand the principle and method of interaction between user programs and systems (such as system calls.
---------------------------------------- ------------------------------
Chapter 9
Measuring program execution time
This chapter describes how to measure the execution time as accurately as possible. In actual programming, we seldom need to perform such precise measurements, So I skip this chapter and do not read it.
---------------------------------------- ------------------------------
Chapter 10
Virtual Memory
A very important chapter: virtual storage is an important technology for computers to implement multiple tasks. The computer uses the time slice technology to make every process seem to have exclusive CPU during execution, and then the virtual storage mechanism makes every process seem to have exclusive memory during execution.
10.1 The virtual addresses and physical addresses are introduced. The addresses generated by the CPU are virtual addresses, which are converted to the actual physical memory addresses through the storage management unit (Memory Management Unit.
10.3 ~ 10.5 describes the advantages of the virtual storage mechanism: the memory can be used as the hard disk cache, the memory can be managed more conveniently, and the memory protection mechanism can be better provided.
10.6 describes how to convert a virtual address to a physical address.
The 10.7 wonderful section describes the entire storage management mechanism through Intel Pentium and Linux instances. I remember that when I was in the operating system class, I learned a lot about various theories and mechanisms, but I just don't know which method the actual operating system actually uses. This section provides an intuitive understanding of the theoretical mechanism you just learned through examples.
10.8 ~ 10.10 describes the Storage Mapping, dynamic memory allocation, and garbage collection mechanisms.
The 10.11 very practical section lists some memory reference errors that are easily introduced in C programming.

Exam★★★★: The content of this chapter is the key content of the operating system course. If you take an examination of the operating system, it is very likely that you will obtain the examination. The knowledge in section 10.11 can also help you pick up the wrong questions in some programs.
Cultivation★★★★★: Important basic content in the operating system. Even if you only use advanced programming languages such as Java, you should at least understand the garbage collection mechanism.
---------------------------------------- ------------------------------
Chapter 11
System-level I/O
This section describes the I/O reads and writes in Unix-like systems, and mainly introduces the system-level I/O interfaces. Because the I/O interfaces used in our daily programming are encapsulated standard interfaces provided by various advanced languages, this part of knowledge is not necessary without embedded programming. I skipped and did not read them.
---------------------------------------- ------------------------------
Chapter 12
Network progranmming
This section briefly introduces the network model, TCP/IP protocol, and socket interfaces for Unix-like systems.
Test and Practice★★: Due to space limitations, this chapter only provides a brief explanation. To master network programming knowledge, you need to refer to specialized network technology books.
---------------------------------------- ------------------------------
Chapter 13
Concurrent Programming
This chapter briefly introduces the content of concurrent programming, including:
Process-level concurrency. Each sub-process has a different virtual address space and requires the interprocess communication mechanism to share data, causing high overhead for switching between processes.
I/O multiplexing, event-driven, single-process running, shared virtual address space, and unsatisfactory concurrency.
Thread, in the middle of the two types, each sub-thread shares the virtual address space of the process, and the overhead of Inter-thread switching is small.

In addition, the semaphore mechanism for accessing shared variables in concurrent programming is introduced. Four types of functions are provided, which may cause thread insecurity.
Exam★★: In addition to relevant positions, the number of concurrent programming exams is relatively small, but the lock mechanism and semaphore mechanism need to be clearly understood.
Cultivation★★★: Multithreading programs are still common in today's development. However, this chapter provides a simple introduction. You need to refer to other specialized books.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.