某储备粮的“学习笔记”

by 咳嗽di小鱼

Software Design Process Models

Design as search. Design spaces. Design state, goal structure, generative design operations, early quantitative evaluations, control of design process. Basic models of design (transformational, plan/architecture driven). Relationship to other life-cycle activities.

Terms

• Module: a collection of classes
• Subsystem: a collection of classes with an interface
• Design window: the time, which design decision have to be made
• Service: the operation in common purpose, offered by a subsystem

Read more...

Master Theorem

``````T(n) = a * T(n / b) + f(n)
x    = log_b(a)
T(n) = θ(n^x)          if f(n) = O(n^(x-ε))
θ(n^x * lg(n))  if f(n) = θ(n^x)
θ(f(n))         if f(n) = Ω(n^(x+ε))
and a * f(n/b) &lt;= c * f(n)
``````

Greedy

• At each step, make the "best" next choice.
• Never backtrack or change past choices.
• Never look ahead to see if this choice has negative consequences.

Read more...

TLB Management

1. Context Switch的时候, 如果不是两个不同的thread, 则不需要flush TLB
2. 当TLB被占满的时候, 要替换最老的TLB entry
3. TLB内保存read-only信息

1. 只要检查上一次flush TLB时候的thread, 和现在的是不是同一个thread即可
2. 这部分这次Assignment已经把code写好大半了…`你需要做的就是把tlb_get_rr_victim return回来的那个entry替换掉
3. 理解MIPS TLB的每个flag bits的用处, 然后把read-only flag放在对应的位置.
当程序试图写入一个read-only的memory时候, vm_fault拿到的faulttype是VM_FAULT_READONLY.
Don't PANIC!!!

TLB基本就这么多= =||`没啥东西…

Read more...

General Tips

1. 别管写什么function, 第一步永远是检查parameter是否有效!!!
(比如, pointer是不是NULL, string是不是空, etc)
2. 不要放过任何一个warning...需要explicit cast的时候, 千万不要偷懒.
3. function一般使用parameter中的pointer进行value return, 正常的return用来return errno.
4. 开始coding之前, 除了读Assignment, 读code, 还要好好读Assignment Hint! 解答了很多FAQ
5. 注意在header file里用#ifndef, 保证header不会出现重复include
6. kmalloc了的东西...在destroy的时候一定要kfree. 不然A3里, 你会发现各种memory leak
(Create某些data structure的中间, 如果出现error, 则需要首先free已经allocated的内存, 然后返回error)
7. 善用spl解决mutex问题. 当然, 首先你要明白什么样的操作需要mutex!

Read more...

Definition实在不知道怎么概括= =...

• Intention of a relation: relation definition and constrains
• Extention of a relation: the actual data, tuples

Relation properties

• Set Theory

• Attributes has order (not necessary)
• Value are used to identify tuples
• Tuples dont have order
• Tuples cant have duplication
• Attribute value are atomic
• Degree: How many attributes in the schema
• Cardinality: How many tuples in an instance

Constraints

• Let the DBMS to ensure the entry or modification on data are legal
• Give applications' bug no chance to ruin the data

Three Constraint Level

• Tuple-level

• Domain restrictions (datatype)
• Attribute comparisons (好像是指check)
• Relation-level

• Special type of keys

• Superkey: 能uniquely identifies a tuple的一个or一组attribute
• Candidate key: Superkey的最小集, (最简单的一个or一组attribute)
• Primary key: 被选中, 用来identity tuples的Candidate key
• Database-level

• Referential integrity

• Foreign key: 其他relation中的primary key
• Referential integrity: 不允许出现和对应relation中的记录不符的情况
• Inclusion dependencies: = =`不懂