분류 전체보기 532

[Linux] 파일 시스탬

□ 파일 시스템 > 간단하게 운영체제가 파일을 시스템의 디스크상에 구성하는 방식 ⓐ 슈퍼블럭 > 파일 시스템의 전체적 정보를 가지고 있다. ⓑ 아이노드 > 파일 이름을 제외한 모든 정보를 가지고 있다. > 아이노드에 의해서 파일 번호가 주어진다. ( System 측면에서는 file 처리는 아이노드가 부여한 번호로한다.) ⓒ 데이터 블럭 > 아이노드 안에 있다. > 데이터를 저장하는 위해서 사용. ⓓ 디렉토리 블럭 > 아이노드와 파일이름을 저장한다. > 슈퍼 블록의 아래에있다. ⓔ 간접 블럭 > 동적으로 할당되는 공간 > 아이노드에 있는 데이터 블럭의 크기를 알 수 없어서 저장하기 위해서 ⓕ 홀 > 데이터의 주소값을 가지고 있는 공간

[Linux] 파티션

1. 파티션의 종류 ⓐ. 주 파티션 > 하드디스크의 개수 ( 물리적인 개수 : 컴퓨터에 들어가 있는 하드웨어숫자 ) > 최대 4개의 주 파티션을 가질 수 있다. ⓑ. 확장 파티션 > 하나의 파티션을 여러개로 나눌 때 사용 ( 논리적인 개수 : 사용자가 임의로 나누는 파티션의 수 ) > Os는 하나의 확장 파티션을 반디시 가지고 있다. ⓒ. 논리 파티션 > 작은 파티션 2. 목적 ⓐ 자료검색의 시간을 단축한다. ⓑ 자료 보호가 용이하다. > 파티션별 권한을 설정하여 보안성을 갖출 수 있다. ⓒ 시스템 속도가 향상되고, 단편화를 최소화한다. but, 너무 많은 파티션은 속도 저하를 초래할 수 있다. 3. 리눅스 파티션 ⓐ 리눅스 파티션에는 네이티브 파티션과 스왑 파티션, 최소 2개의 파티션이 존재해야한다. ..

[Linux] 리눅스 구성 , 리눅스 장단점

1. 리눅스의 구성 1) 커널 ( Kernel ) ⓐ 리눅스의 핵심 ⓑ cpu, 메모리, 하드디스크, 네트워크 등과 같은 하드웨어와 밀접한 부분을 책임 ⓒ 다중 프로세스와 다중사용자 기능을 제공 2) 쉘 ( Sheel ) ⓐ 커널과 사용자들 간의 인터페이스로서 중간 매개의 역활을 담당 ⓑ 명령어 해석기 > 관련 커널이나 유틸리티를 호출 => 결과 출력 3) 유틸리티 ( Utility ) ⓐ 운영체제를 보안 2. 리눅스의 장점 1) 뛰어난 안정성 > 프로세싱 사이에 영향을 주지 않는다. 2) 멀티유저, 멀티 테스팅 시스템 > 수 많은 사용자가 동시에 터미널을 이용해서 하나의 시스템에 연결하여 사용 3) 완전한 공개 시스템 > 자유 : 리눅스 코드는 개방 되있어서 자신이 수정하고 사용할수 있다. 4) 네트워..

[데이터구조]스택 stack

1. 개요 ⓐ 삽입.삭제가 이뤄지는 곳은 맨 끝부분이다. ⓑ LIFO(Last in, First Out), 후입선출 2. 주요작업 > create, destory, push(삽입), pop(삭제or삭제하면서 top의 값을 리턴), gettop(맨위출력)... 3. 종류 ⓐ 배열 스택 ex ) #define Max 100 typedef struct{ int Top; int Stack[Max]; }stackType; void push(stackType *Sptr,int item){ Sptr -> stack[top++] = item; } void Init(stackType *sptr) // 스택 함수 초기화 , top의 값을 0으로 지정 ※Top 값의 초기값 ⓐ top의 초기 값이 -1 일때 : 현재까지 들어..

[c언어]리스트 추가 내용

1. 포인터 리스트의 delete 다른 페이지에서 설명한 position을 받아서 그 위치의 리스트를 없에는 것이 아니라, value를 받아서 그 값을 리스트에서 없에는 것을 알아보자. ex ) void delete(int item){ temp = Lptr -> head; while((temp!=NULL)&&(Temp->Data!=item)) // 삭제해야 될 위치 직전을 가르킨다.(핵심) temp = temp -> next; ....//포인터 리스트에서 리스트 삭제 부분과 동일 생략. } 2. 이중 연결리스트 노드가 자신 이전과 이후의 값을 가르킨다. 따라서, 중간에 노드를 추가하기 위해서는 temp를 2번 사용하여 연결을 시킬 수 있다. 3. 원형연결리스트 마지막 노드가 head노드를 가르켜 계속 회..

리스트(배열리스트, 포인터리스트(Linked list), 혼합리스트)

* 리스트 작업 ① create > 리스트 만들기 ② insert > 위치를 지정하고 데이터 넣기 ③ delete > 데이터 지우기 ④ retrieve > 데이터 읽어오기 * 리스트 종류 1. 배열 리스트 ① 카운트 변수 > 현재 자기가 사용하는 자료 공간(연산의 효율을 올리기 위해서) ② 데이터 배열 > 충분히 쓸 수 있는 배열 선언 ③ 카운트 + 데이터 구조체 ex ) typedef struct{ int count; int Data[Max]; }listType; void insert(listType *Lptr, int position, int *itemptr); >배열번호 >Data값 void delete(listType *Lptr, int positon); void Retrieve(listType ..

객체지향 프로그래밍과 C++ 개념정리

* 프로그램 방법론 1. 절차적 방법론 ① 객체 지향 개념과 상반되는 개념 ② 어떤 문제를 해결하기 위한 과정을 순차적으로 설계하는 것 ex) 파스칼, 포트란 ,C 2. 객체지향 방법론 ① 일을 하는 주체가 그 일을 다른 사람에게 떠 넘기는 것 * 객체 클래스와 상속 1. 객체 클래스(object class) > 유사한 특징을 지닌 객체를 묶어서 그룹지은 것 2. 클래스 인스턴스(class instance) > 클래스에 속하는 실례 3. 메소드(Method) > 객체가 메세지(명령)를 해결하는 방법 =>객체마다 각각의 method가 다르기 때문에 다양성을 가진다. 4. 계층구조 > 클래스간의 계층. 즉, 하위 계층이 상위 계층에 속해 있다.(>상속되어있다) > 하위 계층 클래스는 상위 계층에 상속되어, ..

[데이터구조]c언어 복습

1. Align > 메모리가 cpu의 bit수에 맞춰서 사용되는 것 ex) char + int > 5byte가 아니라 8byte가 된다.(32bit cpu기준) Memory(□ : 미사용 , ■ : 사용 ) ■□□□ > char 1byte를 사용하고 Align에 의해 3byte가 더 소비된다. ■■■■ > int 4byte를 사용한다 □□□□ ┐ □□□□ ┘> 미사용 메모리... 2. 파라매터 이름( 용어 중요 ) ┌actual : Main └formal : function 3. 포인터 ⓐ 선언 : int *p; > p의 타입이 인트가 아니라 p가 가르키는 것이 int이다. ⓑ p = (int *)malloc(sizeof(int)); > 메모리 할당 ⓒ free(p); > free를 통해서 메모리의 효율..