반응형

분류 전체보기 429

[컴퓨터네트워크] 응용계층

네트워크 어플리케이션다른 종단 시스템에서 동작네트워크를 통해 서로 통신웹과 웹서버가 인터넷을 통해서 서로 통신을 하는 것  즉 인터넷 상에서 원격지에 있는 HOST에서 종단 시스템에서 동작하는 응용계층에서의 프로그램이 서로 인터넷을 통해서 네트워크를 통해서 상호작용을 하게 됩니다. 그리고 중요한 사실 중에 하나가 네트워크 코어 부분에서는 응용계층 프로토콜이 구현되지 않기 때문에 네트워크 장비에서 동작하는 어플리케이션어 만들 필요가 없습니다. 어플리케이션 ARCHITECTURE클라이언트-서버 패러다임인터넷에서의 가장 대표적인 네트워크 서비스 아키텍쳐입니다. 네트워크 어플리케이션은 두 가지의 역할로 구분이 되는데 이는 클라이언트와 서버입니다. 서버는 클라이언트에게 서비스를 요청하는 부분을 서버라고 합니다. ..

[자료구조] Polynomial

add_term다항식 poly에 새로운 하나의 항을 추가하는 함수입니다. 두 가지 경우가 있습니다추가하려는 항과 동일 차수의 항이 이미 있는 경우 : 기존 항의 계수만 변경그렇지 않은 경우 : 새로운 항을 삽입(형들은 차수의 내림차순으로 항상 정렬 됨)void add_term(Polynomial& poly, int c, int e){ if (c == 0) return; Term* p = poly.first, * q = nullptr; while (p != nullptr && p->expo > e) { q = p; p = p->next; } if (p != nullptr && p->expo == e) { p->coef += c; if (p->coef == 0) if (q == nullptr) ..

[자료구조] 다항식의 표현

연결리스트를 이용하여 하나의 다항식을 표현하는 구조체 Polynomial을 정의합니다. 다항식을 항들의 연결리스트로 표현하고 항들은 차수에 대해서 내림차순으로 정렬하여 저장하며, 동일 차수의 항을 2개 이상 가지지 않게 합니다. 또한 계수가 0인 항이 존재하지 않게 합니다. 하나의 항은 계수와 지수에 의해 정의하며 하나의 항을 표현하기 위해 구조체 Term을 정의합니다. 또한 변수 x의 값이 주어질 때 다항식 함수를 계산합니다.  구조체 Polynomial을 정하여 하나의 구조체 polynomial은 이름을 저장하는 name을 만듭니다. 이런 항을 연결리스트로 연결해 헤드를 Polynomial structure안에 first를 넣어서 저장하는 것입니다. 추가로 이 다항식의 항의 개수를 저장하는 size가..

[오픈소스소프트웨어] File Security

파일의 소유권Linux의 모든 파일에는 소유자와 소유그룹이 부여됩니다.  소유그룹의 변경 : chgrpchgrp manager create-users.sql소유자의 변경chown foo create-users.sqlchown foo:manager crate-users.sql #소유자와 그룹을 동시에 변경 파일 유형 종류- : 일반 파일d : 디렉토리| : 심볼릭 링크p : 이름이 부여된 파이프b : 블록장치c : 문자 장치s : 소켓파일 접근 권한 사용자 : 그룹 : 기타 사용자에 대해 각각 3문자(r/w/x)로 표현한 것입니다. rwxrw-r--read : 파일의 내용을 읽을 수 있음  / 디렉토리의 내용을 읽을 수 있음(ls)write : 파일의 내용을 쓸 수 있음    / 디렉토리 내의 파일을 생성..

[오픈소스소프트웨어] Linux의 부팅 과정

Linux의 부팅 과정BIOS POST GRUB 실행리눅스를 비롯한 다양한 OS의 Kernel을 찾아서 메모리에 적재하고 실행시킴KERNEL 실행/boot에 kernel 및 관련 데이터가 존재함메모리에 kernel 구조를 형성하고 systemd 프로세스 가동systemd 프로세스 동작systemd : 처음 실행되는 프로세스이며 추후 모든 프로세스를 생성하는 부모 프로세스임/etc/fstab 파일을 읽고 파일시스템들을 마운트 시킴/etc/systemd/system/default.target를 읽고 지정된 모드를 실행함Linux 런레벨런레벨은 리눅스 시스템의 동작 모드를 의미합니다. 7개(0-6)의 런레벨이 존재하며 부팅시 하나의 런레벨이 선택되어 동작합니다. 런레벨 3또는 5가 디폴트입니다. 전원을 꺼서 ..

[오픈소스소프트웨어] 리눅스의 소프트웨어 패키지

Linux에서의 소프트웨어 배포 방식은 윈도우와 다릅니다. 중앙집중식ㅈ이고 일관적인 패키지의 설치, 업데이트, 삭제 방법을 제공하고 패키지에는 응용 프로그램, 라이브러리 파일, 버전 정보나 의존성 등의 메타 정보 파일 등이 포함ㄷ죄어 있습니다. .deb 파일 : ubuntu를 포함한 Debian 계열의 Linux.rpm 파일 : Red Hat 계역 (Fedora, openSUSE 등) 패키지는 Repoisitory에 저장되어 있으며, 일반적으로 HTTP 혹은 FTP 서버를 통해 제공됩니다. 소프트웨어 패키지 관리Debian 기반의 GNU/Linux 에서의 패키지를 관리합니다. GNOME GUI에서는 소프트웨어 업데이터 메뉴를 사용할 수도 있습니다. 패키지 Repository는 /etc/apt/source..

[오픈소스소프트웨어] 사용자 정보 검색

사용자를 검색하는 명령어들whoami 현재 사용자를 알려준다who현재 로그인되어 있는 사용자들에 대한 정보를 보여준다.w현재 시스템의 워크로드와 로그인한 사용자들이 수행중인 태스크를 보여준다.id현재 사용자에 대한 사용자ID, 기본 그룹 ID, 소속 그룹리스트를 보여준다.SU 명령SU명령은 다른 사용자ID로 새로운 쉘을 시작하는 명령입니다. su [-] [user name] user name에 해당하는 사용자로 새로운 쉘을 시작합니다. 새로운 사용자의 암호를 입력해야 성공적으로 동작합니다.  user id를 인자가 없는 경우 root 사용자로 쉘을 시작합니다. 현재 사용자가 root인 경우 암호 없이 임의의 사용자로 변경이 가능합니다.  - 옵션은 user 로그인 환경을 그대로 적용하려는 경우에 선택하며..

[단국대 강의] MIPS 컴퓨터 구조 instruction

instruction을 조절해서 새로운 문제를 푸는 데 도움이 됩니다. instruction이라는 것이 어떻게 구성이 되어 있는지 조금 더 깊이 살펴보면 0과 1로 이루어진 비트스트림으로 구성이 되어 있습니다.  MIPS의 경우 고정된 비트스트림을 가지고 있으며 opcode와 operand의 위치가 일정하게 지정이 되어 있습니다.  어셈블리 프로그래밍은 머신코드와 동일한 프로그램을 갖지만 사람이 읽을 수 있는 프로그래밍을 말합니다. 머신의 입장에서 특성을 이해하는 과정이 필요합니다.  MIPS ISA의 구조SimpleR0 ~ R31의 레지스터, 고정된 사이즈 및 opcode 위치 고정되어 있음 MIPS instrucion set 구조에서 명령어는 R 타입, I타입, J타입으로 되어 있습니다.  일반적인 ..

[자료구조] 연결리스트

배열 vs 연결리스트리스트는 기본적인 연산 삽입, 삭제, 검색 등과 더불어 리스트를 대표하는 두 가지 방법은 배열과 연결리스트입니다.  배열의 단점은 크기가 고정되어 있어 reallocation이 필요하며 리스트의 중간에 원소를 삽입하거나 삭제할 경우 다수의 데이터를 옮겨야 하는 단점이 있습니다. 하지만 연결리스트 같은 경우는 다른 데이터의 이동없이 중간에 삽입이나 삭제가 가능하며, 길이의 제한이 없습니다. 하지만 랜덤 엑세스는 불가능합니다.  배열은 크기가 동일한 데이터를 저장하는 자료구조이기 때문에 한 칸의 크기는 다 같습니다. 100번째 원소에 위치를 간단한 상수로 계산할 수 있기 때문에 첫 번째나 100번째나 덧셈 한번 더한다는 차이밖에 없기에 랜덤 엑세스가 가능합니다.  중간에 데이터를 삽입할 ..

표준입출력

표준입출력쉘 명령에 대해서는 3가지의 기본 입출력 장치가 사용됩니다. stdin표준 입력 장치로써 명령에 데이터를 공급합니다. 디폴트는 키보드입니다. stdout표준 출력장치로써 명령의 출력이 전달된다. 디폴트는 터미널 화면 stderr에러 메세지가 출력되는 장치로써 디폴트는 터미널 화면 일반형으로 데이터가 가기 때문에 stream이라고도 합니다.  출력 리다이렉션(Output Redirection)> 기호를 사용하여 출력 스트림을 변경할 수 있습니다. 파이프(pipe, |)이전 명령의 출력을 다음 명령의 입력으로 전달합니다. $command1 | command2파이프가 리눅스에 유용한 기능인 이유가 명령어를 조합해서 쓸 때 간단한 프로그램을 짜는 것과 같은 일을 할 수 있기 때문입니다. 이런 복잡한 기..

반응형