20145322 Summary of the course of the basic design of information security system

Source: Internet
Author: User

Summary of the course of #20145322 the basic design of information security system

Weekly Job Link Summary

0th Week Preview Course knowledge, installation environment

The first week Linux directory structure and some basic Linux operations and commands

Second week

Learning content

Familiar with the development environment under Linux system

Familiar with the basic operation of VI

Familiarity with the fundamentals of the GCC compiler

Familiar with the common options for using the GCC compiler

Proficiency in GDB debugging techniques

Familiarity with makefile fundamentals and grammatical norms

Mastering the generation and invocation methods of static and dynamic libraries

Understand the principle of "high cohesion, low coupling" of module decomposition in C program

Understanding the concept of links

Third week

Learning content

Understanding the importance of binary systems in computers

Mastering the application of Boolean operation in C language

Understanding the representation of signed integers, unsigned integers, floating-point numbers

Understanding the importance of complement

Avoids overflow in C language, traps in data type conversions, and vulnerabilities that can be caused

Further understanding "information = bit + context"

Week Five

Learning content

Understanding the concept of reverse

Master X86 compilation base, able to read (reverse) Assembly code

Understanding ISA (Instruction set architecture)

Understand the concept of function call stack frames and can debug with GDB

Week Five continued

Week Six

Learning content

Understanding the role of ISA abstraction

Master Isa, and be able to learn other architecture extrapolate

Understanding the pipeline and how it is implemented

Six weeks continued

Seventh Week

Learning content

Learn about common storage technologies (RAM, ROM, disk, SSD, etc.)

Understanding the principle of locality

Understanding Caching Ideas

Understanding the principle of locality and the application of cache thought in storage hierarchy

Principle and application of cache

Seventh Week continued

Eighth Week

Learning content

Review Linux common commands

Review the textbook 1-7 chapters

Interim summary

Nineth Week

Learning content

Mastering the concepts of system programming and system invocation

Mastering the way of system programming error handling

Mastering Unix/linux System level I/o:open Close Read Write seek stat

Mastering Rio

Mastering the method of I/O redirection

Nineth Week continued

Tenth Week

Learning content

Mastering the concepts of system programming and system invocation

Mastering the way of system programming error handling

Mastering Unix/linux System level I/o:open Close Read Write seek stat

Mastering Rio

Mastering the method of I/O redirection

11th Week

Learning content

Understanding anomalies and their types

Understanding the concepts of processes and concurrency

Mastering process creation and control of system calls and function usage

Understanding the differences between array pointers, pointer arrays, function pointers, pointer functions

Understanding signaling Mechanism: kill,alarm,signal,sigaction

Mastering Pipeline and I/O redirection: Pipe, DUP, dup2

12th Week

Learning content

Nineth Week Code Check

Tenth Week Code check

11th Week Code Check

13th Week

Learning content

Master three concurrent approaches: process, thread, I/O multiplexing

Mastering thread control and related system calls

Mastering thread synchronization mutex and related system calls

14th Week

Learning content

Understanding the concept and role of virtual memory

Understanding the concept of address translation

Understanding Memory Mappings

Mastering the method of dynamic memory allocation

Understand the concept of garbage collection

Understanding memory-related errors in the C language

Summary of LAB Report links

Experiment One

Experiment Two

Experiment Three

Experiment Four

Experiment Five

Code hosting links and QR codes

git log--pretty=format: Results of "%h-%an,%ar:%s":

Code Volume Summary

Is code-driven learning done?

Follow the teacher's instructions to complete the code-driven Learning task, but be sure to put your own Ubuntu. VMX file safekeeping, do not mistakenly delete, or all git have to re-get again, I installed two times the virtual machine.

Add code, Pity Dorado code is the best way to understand, talk about your experience

The ability to change the code based on the original code and to run successfully, it shows that the original code has been mastered. And this way of learning is more impressive for this code.

What lessons do you have in practice?

The day the task was completed, the dragged and tired, because we can not predict the next second will encounter any problems, before the problem will only become a burden behind.

Answer the No. 0 Week of your homework in the first chapter of the main question

What causes us to understand how the build system works?

1 Optimizing Program Performance

2 Understanding links when errors occur

3 Avoiding security breaches

Chapter II

How do computer arithmetic operations cause computer security vulnerabilities?

The vulnerability is also caused by implicit conversions such as signed number-to-unsigned numbers, as described in the P53 function getpeername security hole.

Chapter III

How is machine-level code converted?

For example

Assembler code for C language: Gcc-01-s xxx.c

Compilation and compilation: Gcc-01-c xxx.c

Fourth Chapter

Architecture of the processor

Various state elements, instruction sets and their encodings, a set of programming specifications, and exception event handling

Fifth Chapter

How to optimize the program? What do you need to be aware of?

Eliminate cycle inefficiencies, reduce process calls, and eliminate unnecessary memory references in the fifth chapter.

Sixth chapter

The structure of the memory

Seventh Chapter

What is the difference between static and dynamic links?

Static links

When you build the executable, include all the binary code of the required functions in the executable file. The linker needs to know which functions are required for the target file that participates in the link, and also to know what functions each target file can provide so that the linker can know that the functions required for each target file are properly linked.

Dynamic links

Instead of copying executable code directly at compile time, it passes a series of symbols and parameters to the operating system when the program is run or loaded, the operating system is responsible for loading the required dynamic library into memory, and then the program runs to the specified code to share the execution of the dynamic library executable code that has been loaded in memory. and eventually achieve the purpose of the run-time connection.

Eighth Chapter

How do I avoid and handle exceptions?

An indirect procedure call is made through the exception table to reach the exception handler.

Nineth Chapter

The role of virtual memory

Virtual memory is used to take out some of the hard disk space to act as memory, and when memory is exhausted, the computer automatically calls the hard disk to act as memory.

Tenth Chapter

What does the system-level i\o mean?

The process of copying data between main memory and external devices.

11th Chapter

11: How to write a Web server

Web servers use the HTTP protocol and their clients to communicate with each other. The browser requests static or dynamic content from the server. The request for static content is served by taking the file from the server disk and returning it to the client.

What items have you been added to, talk about your experience

GDB Debug Stack Process Analysis

Advantages and Disadvantages

The advantage is that we can learn the task is very clear, we will not confuse, follow the teacher's progress to go very smoothly learning. No shortcomings, always so responsible for recognition and efficiency so high, I think there are no shortcomings.

Lessons learned and deficiencies

The most important thing I learned in this course is that at the beginning of the week I set up a course of study, and then I have to finish it in the week, so that we can plan the progress of the study in advance and not fall, it is a good way to learn. For blogging this piece, I feel that the study content in the book is written in the blog Park, on the one hand review their knowledge of learning, on the other hand can also be in the Monday exam forgotten that piece of knowledge can quickly find the answer. Insufficient is oneself in the school time not to study hard, owed the study of debt, back also very hard, and study state is not stable, or have to adjust the study mentality, in the study of the time to shield off irrelevant things, concentrate on learning.

Advice for learning younger brothers and sisters to learn

Really really do not debt, owe their study of debt, not only can not let their own relaxed, but more tired, we are students, to school, owes the total to also, so must follow the guidance of the teacher step, even in advance preview.

More hands-on, more thinking. In particular, more hands-on, add code, you can allow yourself to understand the code more deeply.

Rest must be regular, otherwise you can focus attention every time to learn, otherwise you will learn the time is especially more than the amount of knowledge, is not learning to go in the meaning (deep experience)

Questionnaire Survey

How long do you spend on average per week in this course?

20 hours

Do you improve your weekly learning efficiency?

High efficiency after correct study attitude

Are you satisfied with your learning effect?

Not satisfied, many times the energy is not concentrated

Will you continue at least one blog post at the end of the course?

It must be written by yourself that you have to use a blog record.

What do you think the teacher of this class should continue to do?

Weekly blog summaries and tests, as well as scallop punch!

What do you think the teacher of this class should stop doing?

No

What do you think the teacher of this course should start to do new things?

Note on our request to do the book you recommend, Extra points

This article links

20145322 Summary of the course of the basic design of information security system

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.