목록나무 숲 (789)
나무 숲
Generic Type?타입을 인수로 받는 타입 (parameteric polymorphism)후자의 타입은 전자의 타입을 통해 생성된 타입 Instantiation of a Generic type : generic type에 타입 인수를 전달함으로써 새로운 타입을 만드는 것 구현 : 타입 인수는 컴파일 시간에 결정되므로 인수가 결정되면 일반 타입과 동일하게 구현 가능하다 Generic Modules : 타입을 인수로 받을 수 있는 프로그램 모듈Generic Packages in ada, Template class in C++ Inheritanceis -a일반적 관점한 프로그램 요소의 특징이 다른 프로그램 요소로 전달되는 것ADT 관점한 ADT를 보다 구체화하여 다른 ADT를 만드는 것. supercla..
프로그래밍이란?알고리즘과 데이터를 이용, 입력 데이터를 적합한 절차를 통해 처리하는 것 Encapsulation?데이터와 연산을 하나의 묶음, capsule로 묶을 수 있는 장치하나의 Unit으로 만드는 것지원 예) ada의 package, c++의 class User-defined Data Types?(필수)1 Structured data : 복합 데이터 생성2 Subprograms : 새로운 연산 정의(고급)3 Type Declarations : 특정 부류의 데이터와 관련 연산을 묶어 새로운 데이터 타입 정의4 Inheritance : 기존 데이터 타입의 기능을 포함, 확장된 데이터 타입을 생성 Structured Data?다른 데이터 객체를 원소나 요소로 하여 구성된 데이터 객체. (배열/구조체/스..
Micro-Operations - 컴퓨터가 프로그램을 실행하면, fetch/execute/indirect/interrupt 사이클 등등이 실행될 것이고 각 사이클은 micro-operation이라 불리는 몇몇 step이 있다. 각 스텝은 아주 조금 일하고 레지스터들을 포함한다. = >Atomic operation of CPU (원자급으로 더이상 쪼갤 수 없을 만큼 작은 단위) - Type레지스터들 간에 데이터를 전송레지스터와 외부 사이에서 데이터를 왔다갔다perform arithmetic or logical ops 잠시 Fetch sequence를 상기시켜보면,현재 명령어의 다음 주소가 PC에 있다. PC의 내용은 MAR로 복사되어지고, MAR에 있는 주소가 address bus를 탄다. Control ..
CPU Organization- CPU는 뭘 하나? Fetch Instruction, Interpret instruction, Fetch data, process data, write data- CPU의 주요 구성요소 : ALU, Control Unit, Register Register- CPU는 temporary storage와 같은 working space가 있어야 한다. (잠시 데이터를 저장하거나, 다음 명령어가 어디있는지 기억하는 것)- 레지스터들은 CPU의 temporary storage- 프로세서 디자인에 따라 function의 개수가 달라진다- 메모리 계층에서 가장 위에 있는 것: 비싸고 빠른 storage의 small set - Organization* 두가지 타입1) User Visibl..
Arithmetic & Logic Unit 논리연산장치- 컴퓨터에서 계산을 수행하는 부분. control unit, register, memory, I/O와 같은 것들은 ALU를 동작시키기 위해 데이터를 가져오고, 그 결과값을 가져간다. - 위 그림에서 레지스터를 통해 데이터들이 들어가고, 연산 결과가 레지스터에 저장된다. 그리고 ALU는 연산의 결과로 flag를 셋한다. 예를 들어 연산 결과값이 저장될 레지스터의 길이보다 커지면 overflow flag는 1로 set된다 Integer Representation- binary system에서, 0과 1만으로 다 표현한다 - 보통 양수만 표현하고, - 표시가 없다. 음수를 표현하기 위해 sign-magnitude, 2's complement를 쓴다1) S..
* CPU와 I/O 장치들을 바로 direct로 연결할 수 있을까?주변기기Peripheral의 종류가 많고, 다 다른 양의 데이터를 이동시키고, 다 속도가 다르고(CPU, RAM이 I/O 장치보다 빠르다 ) format이 다 다르다 => 속도별로 묶어서 버스Bus를 태우자!I/O module이 필요하다=> Interface to CPU~Memory, 여러 주변기기 (연결해주는 매개체같은 것) 옆 그림에서 System bus는 Internal device, Links to peripheral devices는 External device이다 External Devices- 사람이 읽을 수 있는 것 : 스크린, 프린터, 키보드.. 기계가 읽을 수 있는 것 : Monitoring, control => 소통 : ..
- 유저 메모리와 다르게 대우된다- 주로 free-memory pool로부터 할당된다 - 2 well known schemes1 Buddy system- allocate memory from fixed-size segment consisting of physically contiguous pages - Memory allocated using power-of-2 allocator 2 Slab allocation- Slab : one or more physically contiguous pages- Cache : consists of one or more slabs각각의 kernel data structure에 single cache가 있다. 각 캐시는 object들로 채워져 있다. 캐시가 만들어지면 fr..
Visual studio 라인정리: ctrl k + ctrl f Eclipse java 주석처리: ctrl / 블럭처리: ctrl shift / 라인정리: ctrl shift f
No enclosing instance of type Defines is accessible. Must qualify the allocation with an enlclosing instance of type Defines (e.g. x.new A() where x is an instance of Defines). static method 안에서 static으로 선언되지 않은 class를 생성, 사용할때 나는 오류
에러 표시 error_reporting(E_ALL); ini_set("display_errors", 1); php페이지가 뜨지 않을 때
만약 프로세스가 충분한 페이지가 없다면 page-fault rate는 매우 높을 것이다-> 낮은 CPU 이용율, OS는 멀티프로그래밍의 정도를 올려야 한다고 생각할 것이고.. 시스템에 다른 프로세스들이 추가되 Thrashing이란?- 프로세스가 페이지를 swapping (in, out) 하느라 바쁜 상태. 따라서 프로세스는 여기에 대부분의 시간을 쓰게 됨위 그림을 보면 갑자기 CPU 이용율이 낮아지는 부분이 Thrashing 프로세스가 여러 개 들어오면 페이지가 많아져서 instruction transfer 시간이 높아지.. To prevent Thrashing- 프로세스는 필요한 만큼의 프레임을 제공받아야 한다!- 필요한 만큼을 어떻게 아느냐? Locality model of process execut..
Need for page replacement4번의 load M은 instruction은 load 되어있는데 data는 안된 상태 Free Frame이 없다면- 메모리에서 사용하지 않는 페이지를 찾아서 swap out ->Page replacement- Page replacement algorithms for minimum number of page faults are required- Modify bit to reduce overhead of page transfers; 수정된 페이지만 디스크로 다시 쓰일 수 있다 Basic Page replacement1) 디스크에서 원하는 페이지가 있는 위치를 찾는다2) Free Frame을 찾는다Free Frame이 있으면 사용, 없으면 victim Frame을 ..
Mass Storage Structure- Magnetic disk (HDD..) provides bulk of secondary storage of modern computers* Drive(Disk platters) at 60 to 200 times per second* Transfer rate(MB/sec) : data flow between drive and computer* Positioning time (random-access time) : move disk arm to desired cylinder(seek time) and time for desired sector to rotate under the disk head(rotational latency) - Drive attached to..
File System Structure- 파일 시스템은 많은 다른 레이어들로 구성되어 있다. (아래쪽은 물리적 장치에 가까움) 파일+디렉토리 와 비슷하다* Application programs : record* Logical file system : 파일 시스템에 필요한 모든 meta-data 가짐(파일 내용 빼고). directory structure을 저장* file-organization module : 논리적 파일 블록 주소를 대응하는 물리적 파일 블록 주소로 변환* basic file system : 파일 시스템, 디렉토리, 데이터블락을 가진 버퍼들을 할당, 유지* I/O control : device drivers and interrupt handlers Opening and Accessing..
* Memory management scheme that supports user view of memory* A program is a collection of segments- A segment is a logical unit such as.. Main program, Procedure, Function, Method, Object, Local variables, global variables, Common block, Stack, Symbol table..... Main Program Subroutine Stack Symbol table Physical memory space - Logical address consists of a two tuple : Segment-number, offset - ..