Computer Science112 [UNIX/Linux] ep2) 파일 다루기 ". 과 .. 은 모든 디렉터리에 항상 존재하는 파일 이름이며, 디렉터리가 생성될 때 자동적으로 포함된다" ㅁ디렉터리 허가- 읽기(r): 디렉터리 내의 파일이나 부디렉터리의 이름을 리스트- 쓰기(w): 디렉터리 내의 파일을 제거하거나 새로운 파일을 생성- 실행(x): cd 혹은 chdir 로 디렉터리 내부로 들어갈 수 있음 (리눅스 파일 함수) [파일 정보 검색 함수] - inode 정보 검색stat() 함수로 검색한 inode 정보는 stat 구조체에 저장되어 리턴된다stat 구조체의 세부 구조는 man -s 2 stat 으로 확인할 수 있다 (stat은 status의 약자이다)struct stat { dev_t st_dev; // 파일이 저장되어 있는 장치의 번호를 저장 ino_t st.. 2024. 9. 24. [UNIX/Linux] ep1+) 디렉터리 함수 실습 ex1. mkdir() 함수를 사용해 디렉터리를 2개(dir1, dir2) 만들고, 이 중 dir1은 rmdir() 함수로 삭제하고 dir2는 rename() 함수를 사용해 testdir로 바꾸는 프로그램을 작성하시오. (mkdir->rmdir->rename)#include #include #include int main() { if (mkdir("dir1", 0755) == -1) { perror("dir1"); exit(1); } if (mkdir("dir2", 0755) == -1) { perror("dir2"); exit(1); } if (rmdir("dir1") == -1) { perror("dir1"); .. 2024. 9. 20. [UNIX/Linux] ep1) 디렉터리 다루기 리눅스에서는 파일을 일반 파일과 특수 파일, 디렉터리 세 가지로 구분한다디렉터리는 해당 디렉터리에 속한 파일을 관리하는 특별한 파일이다 1. 일반 파일(-): 우리가 흔히 아는 데이터를 저장하는 파일e.g. 텍스트 파일, 실행 파일, 프로그램 파일, 라이브러리, 이미지 파일 등과 같은 사용자가 읽거나 수정할 수 있는 파일들 2. 특수 파일: 하드웨어 장치나 프로세스와의 인터페이스를 제공하는 파일 (운영체제와 하드웨어 간의 인터페이스 역할)하드웨어 장치(예: 키보드, 마우스, 디스크)와 상호작용할 수 있도록 시스템 자원에 대한 접근을 제공한다리눅스에서는 주로 /dev 디렉터리에서 특수 파일들을 확인할 수 있다블록 특수 파일(b): 디스크와 같은 장치에서 데이터를 블록 단위로 처리문자 특수 파일(c): 키.. 2024. 9. 11. 오픈소스 터미널 에뮬레이터(PuTTY, Termius, MobaXterm) ㅁ PuTTY: 오픈소스 터미널 에뮬레이터SSH, Telnet, Rlogin과 같은 원격 프로토콜을 지원한다. macOS는 기본 터미널로 SSH접속이 가능하지만, Windows 같은 경우는 불가능해서 Windows에서 SSH 접속을 위해 많이 사용한다. 그래서 네트워크 관리자, 개발자, 시스템 관리자 등이 원격 서버에 접속하고 관리하는 데 자주 사용된다.※ Windows 10부터는 cmd로도 SSH접속이 가능하다고 한다 근데 그렇다고 해서 맥북이 PuTTY를 무조건 설치 안 해도 되는 것이 아니다. PuTTY와 같은 툴을 사용하면 얻을 수 있는 이점이 많다.PuTTY와 같은 툴 설치의 이점:세션 관리:PuTTY는 다양한 세션 프로파일을 저장하고 관리할 수 있는 기능을 제공합니다. 이를 통해 여러 서버에 .. 2024. 9. 4. [UNIX/Linux] ep0) 시스템 프로그래밍의 이해 UNIX, 그야말로 운영체제계의 goat모든 운영체제가 UNIX에 영향을 받았다고 해도 과언이 아니다. 심지어 Windows 까지도 분명 UNIX에 영향을 받은 부분이 무조건 있을 것이다. (Windows는 오픈소스가 아니라서 자기네들의 코드를 공개하지 않는다) 서버의 운영체제는 요즘 90%가 다 Linux를 쓴다. 그래서 금융권에서는 UNIX를 Linux로 대체하는 U2L(UNIX to Linux)이 확산되고 있다. ※ 리눅스 시스템에서 라이브러리는 보통 /usr/lib 에 위치한다정적 라이브러리: 프로그램을 컴파일할 때 같이 적재되어 실행 파일을 구성한다공유 라이브러리: 실행 파일에 포함되지 않아 메모리를 효율적으로 사용하기 위해 사용한다 [파일시스템 - 파일과 디렉터리]절대 경로(absolute .. 2024. 9. 4. [알고리즘] ep7++) 다익스트라 확장 알고리즘 다익스트라 확장 알고리즘은 기본 다익스트라 알고리즘을 수정하여 단일 출발점에서 목표 지점까지의 최단 경로뿐만 아니라 최단 경로의 수까지 계산할 수 있도록 한다. 이 문제에서 요구하는 것은 다익스트라 알고리즘을 사용하여 각 정점까지의 최단 거리를 계산하고, 동시에 각 정점에 도달하는 최단 경로의 수를 세는 기능을 추가한 것이다. 위 샘플그래프 G에 대해 아래 정점쌍 4개를 s(ource) 및 t(arget) 인자쌍으로 각각 사용하여 수행하라(즉, 프로그램을 4회 수행함). 각 수행 결과는 아래 예시처럼 인쇄할 것 [출력예시]source target 최단거리 최단경로 수C A 1 1 C F .. 2024. 8. 2. [알고리즘] ep7+) 다익스트라와 벨만-포드 알고리즘 구현 주의: 그래프 알고리즘 구현 시, 그래프의 인접 정보(즉, 부착 간선리스트 또는 인접행렬) 없이도 수행 가능한 문제라고 판단되면 간선리스트 구조로 그래프를 간편하게 구현할 것을 우선적으로 고려하라. 그렇지 않고, 인접 정보가 있어야 수행한다고 판단되면 인접리스트 구조 또는 인접행렬 구조 중에 해당 문제 해결에 효율성 면에서 유리하다고 판단되는 것을 선택하여 구현하라. 문제1) 무방향 양의 가중그래프 -> 다익스트라 알고리즘무방향 양의 가중그래프(undirected weighted graph) G와 출발정점이 주어지면, 출발정점에서 다른 모든 정점으로 가는 최단거리를 구하는 프로그램을 작성하라. 입력 그래프의 성질:◦ n(1 ≤ n ≤ 100)개의 정점과 m(1 ≤ m ≤ 1,000)개의 간선으로 구성.. 2024. 7. 27. [알고리즘] ep7) 최단경로 ㅁ최단경로 문제(shortest path problem): 가중그래프 두 개의 정점 u와 v가 주어졌을 때, u와 v 사이의 무게의 합이 최소인 경로를 구하는 문제최단경로길이: 간선들의 무게 합 응용: 인터넷 패킷 라우팅, 항공편 예약, 자동차 네비게이션 [최단경로 속성 2가지]속성1)최단경로의 부분경로(subpath) 역시 최단경로이다 속성2)출발정점으로부터 다른 모든 정점에 이르는 최단경로들의 트리가 존재한다 - 단일점 최단경로(single-source shortest path) - 최단경로는 무방향뿐만 아니라 방향그래프에서도 정의가 가능하다- 그래프에 음의 무게를 가진 싸이클이 있거나, 무방향그래프에 음의 무게를 가진 간선이 있으면 부정한다- 최단경로트리(shortest path tree)는 루트.. 2024. 7. 26. [알고리즘] ep6+) Prim-Jarnik과 Kruskal 알고리즘 구현 주의: 그래프 알고리즘 구현 시, 그래프의 인접 정보(즉, 부착 간선리스트 또는 인접행렬) 없이도 수행 가능한 문제라고 판단되면 간선리스트 구조로 그래프를 간편하게 구현할 것을 우선적으로 고려하라. 그렇지 않고, 인접 정보가 있어야 수행한다고 판단되면 인접리스트 구조 또는 인접행렬 구조 중에 해당 문제 해결에 효율성 면에서 유리하다고 판단되는 것을 선택하여 구현하라. 문제1) Prim-Jarnik 알고리즘 구현입력으로 주어지는 그래프를 Prim-Jarnik 알고리즘을 이용하여 최소신장트리(Minimum Spanning Tree, MST)를 생성하는 프로그램을 작성하고, 최소신장트리의 생성 과정과 총무게를 결과로 출력하시오. 입력 그래프의 성질: n (1 ≤ n ≤ 100) 개의 정점과 m (1 ≤ m .. 2024. 7. 26. 이전 1 2 3 4 5 6 7 ··· 13 다음