반응형

CS 14

클래스(Class) [JAVA]

클래스 찾기 자바는 단순한 명령문을 실행하려고 해도 무조건 "클래스"를 구현해야 함 좋은 클래스란? 다른 프로그램에서도 사용할 수 있음 확장이 쉬움 고쳐 쓰기 쉬움 일관성과 결합성을 고려해야함 일관성: 클래스는 목적이 있어야 하고 그 목적에 부합해야 함 결합성: 클래스는 다른 클래스에 대한 의존이 적어야 함 일관성 클래스를 구성하는 요소들이 뭉쳐있는 정도 및 연관성을 의미 클래스의 목적을 이룰 수 있도록 관련된 데이터와 그 데이터를 처리하는 함수들만으로 구성 클래스가 어떤 자료(데이터)를 가지곻 있어야 하는지 먼저 생각 그럴 후에 그 자료를 처리하는 코드를 멤버 함수로 구현 결합성 결합은 클래스가 서로 연결되면서 발생 클래스 설계할 때에는 서로간의 결합성이 낮아야함 (loosely coupled) or ..

CS/OOP 2021.02.24

[OS]운영체제 구조 (Operating System Structure)

Operating System Structure 운영체제와 같은 크고 복잡한 소프트웨어는 잘 동작하고, 쉽게 변경할 수 있도록 구조를 만드는 것이 매우 중요 운영체제를 구성하는 구조들은 여러 가지가 있다. 모놀로식 커널 (Monolithic kernel) 단일형 커널 cpu스케쥴링, 메모리 관리 등 운영체제의 일반적인 기능들이 전부 커널이라는 하나의 프로그램에 담겨있는 구조 (전혀 계층적이지 않음) 계층적인 구조보다 성능적인 부분에서는 우위를 보이나, 구현과 수정이 어렵다. 장점 : 성능이 더 좋다. 단점 : 수정과 구현이 어려움 (유지보수가 어렵다) 계층적인 접근 (Layered Apporach) 계층적인 구조라면 커널 자체도 여러개의 계층으로 이루어져있어야 함. 전형적인 하나의 계층은 자신의 자료구조..

CS/OS 2021.02.19

[OS]캐싱(Caching) 이란?

캐싱의 정의 저속의 저장장치에 저장되어있는 데이터에 대해 그 일부의 복사본을 그보다 빠른 저장장치에 보관에서 컴퓨터 동작의 성능을 향상하는 기법 (copying information into faster storage system; main memory can be viewed as a cache for secondary storage) (메모리 계층간의 캐싱 가능) 컴퓨터 시스템의 여러 부분에서 동작하는 성능 향상 기법 주어진 하드웨어에서 최대한 빨리 데이터에 접근(캐싱의 목적) 캐싱의 원리 저속 저장장치에 담긴 원본 데이터를 고속 저장장치에 임시로 복사해놓는다. 이렇게 되면 CPU는 같은 데이터를 고속 저장장치에서 데이터를 가져와서 성능을 향상 시킬 수 있다. 단, 고속 저장장치는 저속 저장장치보다 ..

CS/OS 2021.02.15

운영체제 (OS)(Operating System) 란?

OS 정의 (Operating System Definition) OS is a resource allocator 시스템 관점에서 OS는 자원할당자라고 볼 수 있다. (Manages all resoures) 제한된 자원에 대해 동시에 요청이 들어오면 효율적으로 분배해주는 역할을 한다. (Decides between conflicting requests for efficient and fair resource use) 자원 할당은 매우 중요한 이슈이다. OS is a control program 프로그램의 동작을 통제하는 제어프로그램이라고 할 수 있다.(Controls execution of programs to prevent errors and improper use of the computer) 프로그램..

CS/OS 2021.02.12
반응형