abstraction 4 Fundamental Concepts of OS OS의 Key Concepts Operating System이 제공하는 핵심적인 기능은 다음과 같다. Abstraction Protection Illusion Coordination and Optimization Abstraction 일반적인 의미에서의 abstraction은 "복잡성을 줄이기 위해 주요한 특징을 간추려 제공하는 것"으로, 어떠한 복잡한 것을 간단하게 제공하는 것이다. OS는 하드웨어의 복잡성을 숨기고, 프로그래머에게 clean, uniform, and standard interface을 제공한다. OS에서의 abstraction이란 프로그래머가 하드웨어를 쉽게 제어할 수 있도록 인터페이스(API)을 제공하는 것이다. 예를 들어 POSIX APIs가 있다. Big Library OS는 b.. 2021. 3. 24. Abstraction과 Software Design High-Level Programming Digital logic design에서 primitive는 AND, OR, NOT이었지만, C를 포함한 high-level programming에서의 primitive는 statements이다. Primitive Variable, constant, operation, expression, data type 등 더 작은 구성 요소들이 있다. 그러나 의미를 가지는 가장 작은 구성 요소(atom)은 statement이다. 즉, statement 이상부터 의미를 갖기 때문에 statement을 primitve로 보는 것이다. Machine instruction도 의미를 가지고 statement보다 더 작지만, 이는 machine level에서의 관점이고 지금은 high.. 2021. 3. 14. Abstraction과 Hardware Design Abstraction 하드웨어, 소프트웨어, 컴퓨터를 포함한 모든 공학 도구나 물건은 Interface와 Implementation으로 구성되어 있다. Selective Ignorance의 특징을 지닌다. 따라서 Implementation을 몰라도 Interface만 알면 사용이 가능하다. Interface = 사용법 = service = abstraction Implementation 구현, 설계, 구조, 동작 Interface을 구현한 것으로, interface을 제공한다. 예시 : CS에서의 Interface Machine-level Programming Interface : machine instruction Implementation : machine(CPU) High-level programm.. 2021. 3. 14. Digital Logic : Combinational Logic, Sequential Logic Combinational Logic v.s. Sequential Logic Combinational Logic 현재의 입력만으로 출력이 결정된다. 기억장치가 필요 없다. truth table을 사용하여 input, output을 표현 decoder, multiplexer, ALU 등 Sequential Logic 이전의 input에 의해 output이 영향을 받는다. 이전의 input을 기억하는 장치가 필요하다. combinational logic에 비해 더 복잡한 구조를 가진다. state diagram을 사용하여 input, output의 관계를 표현 CPU, register, SR flip-flop 등 대부분의 복잡한 기계 Combinational Logic (조합 논리) Combinational .. 2021. 3. 13. 이전 1 다음