전체 글

전체 글

    리다이렉션 / 파이프

    리다이렉션 / 파이프

    리다이렉션 1. 표준 출력의 리다이렉션 -최초 사용자 로근시에는 input device는 키보드로, output device는 모니터로 설정되어있다. 리눅스 시스템에서는 리다이렉션과 파이프를 통해 입력과 출력의 방향을 변경할 수 있는 기능을 제공한다. 리다이렉션이란 화면 출력을 파일 출력으로 변경하는 것 이다. '>' 문자 이용하여 출력을 화면에서 파일로 변환하여 출력한다. 하지만 기존의 파일에는 덮어써진다. '>>' 위의 명령과 달리 덮어쓰기가 아닌 존재하는 파일 끝에 추가하여 쓰여진다. 2. 표준 입력의 리다이렉션 - 표준 입력을 키보드에서 파일로 변경하는 것을 말한다. - 파일에서 데이터를 읽어와 화면에서 출력한다. 3. 파이프 라인 - 어떤 명령의 실행 결과를 다음 명령의 입력값으로 만들기 위해 ..

    스택 - 배열구조 Array_Stack)

    스택 - 배열구조 Array_Stack)

    스택은 선형 자료구조로써 FILO(First Input Last Output) 으로 처음 입력된 값이 가장 마지막에 출력되는 자료 구조이다. 1개의 데이터가 다른 데이터와 서로 하나씩 연결된 1:1 구조로써 선형 구조이다. 스택에 데이터를 입력하는 것을 Push 데이터를 꺼내는 것을 Pop이라고 한다. Top은 현재 가장 높은 위치의 데이터의 인덱스라고 생각하면 된다. Top값을 스택에서 데이터를 Push, 또는 Pop할때 마다 변화시키므로, 현재 데이터가 들어갈 수 있는지 존재하는지 등의 여부를 확인가능하다. 아래 소스는 배열로 된 스택이다. #include #include void Push(int data); int Pop(void); int Full(void); int Empty(void); voi..

    파일의 종류

    1. 일반파일 - 일반 사용자가 작성한 문서 등의 가장 기본적인 정보 단위 2. 디렉토리 파일 - 디렉토리에 포함된 다양한 파일 들에 대한 위치, 크기 등의 정보 가진 파일 3. 특수 파일 - 주변 장치로부터 데이터 입/출력 위한 장치 파일 -문자 특수 파일 : 버퍼가 없는 장치로부터 한번에 한 문자씩 입출력을 하기 위해 쓰이는 파일 -블록 특수 파일 : 일정한 크기의 묶음으로 자료를 입출력하는 장치에서 사용되며, 버퍼기술을 사용해 자료 전송 효율을 높인다. 4. 소켓 -네트워크 입/출력을 담당ㅇ하는 파일 5. 네임드 파이프 - 프로세서 간 통신 수행 위한 파일로 데이터 중간에서 통제하는 역할을 수행한다. 6. 소프트링크 - 윈도우의 바로가기와 비슷한 기능으로 파일 내용을 가지는게 아니라 파일을 가리키도..

    파일 시스템 (File system)

    파일시스템이란? - 운영체제에서 파일 저장시 사용되는 파티션이나 디스크를 가리킬 때 사용한다. 파일 저장을 위한 수단, 방법이라고 할 수 있으며 파일을 보관/ 검색 등의 수단이다. 부트블록운영체제를 부팅시키기 위해 필요한 코드 저장된 블록이다.파일시스템은 대부분 부트 블록에서 시작하게 되고, 하드웨어가 부팅에 필요한 코드를 가지고 있다. i-node 리눅스는 파일을 생성할 때 두가지를 수행하는데, 먼저 파일의 데이터를 저장할 공간을 확보하고, 다음 파일에 대한터터 기본 정보들을 저장하기 위한 i-node라는 구조를 만들어 파일을 사용시 필요한 정보들을 저장한다. 리눅스는 이런 i-node를 table에 저장하여 놓는다. 어떤 디렉토리내에 파일을 보는 것은 어떤 파일이 어떠한 디렉토리안에 있다라고 말하지만..

    정렬 - 삽입 정렬

    삽입 정렬은 전체 자료에서 정렬 시 삽입할 위치를 찾아 자료를 이동시키는 알고리즘 이다. Insertion_Sort.h #ifdef _INSERTION_SORT_ #endif _INSERTION_SORT_ void Insertion_Sort(int data[], int size); void Prt_Data(int data[], int size); Insertion_Sort.c #include #include"Insertion_Sort.h" void Insertion_Sort(int data[], int size) { int i=0,j=0,temp=0; for(i=1;i0&&data[j-1]>temp) { data[j]=data[j-1]; j--; } data[j]=temp; } } void Prt_Dat..

    정렬 - 퀵 정렬(Quick Sort)

    퀵 정렬은 많이 사용되는 정렬 중 하나이다. 퀵 정렬은 임의의 Pivot 값을 선정하고 Pivot값보다 큰 값과 작은 값을 나눠 정렬하는 방식이다. 오름차순을 이용하여 설명하면, 먼저, 외쪽에서 오른쪽으로 피봇값보다 큰 값을 찾을 때까지 우측으로 이동하고, 다음, 오른쪽에서 왼쪽으로 피봇보다 작은 값을 찾을때까지 좌측으로 이동하여, 처음 발견되는 값들을 서로 Swap한다. 그런 과정을 지속적으로 반복하여 정렬하여 준다. 내림차순은 조건을 반대로 해줌으로써 할 수 있다. 퀵 정렬은 재귀호출을 사용하여 이용함으로써 간편하게 해답을 찾을 수 있다. Quick_Sort. #ifdef _QUICK_SORT_ #endif _QUICK_SORT_ //오름차순 void Asc_Quick_Sort(int data[], ..