링크란?
·
Linux
링크란?리눅스의 파일 시스템에는 파일에 별명을 붙이는 것이 가능하다.이것을 링크라고 부르며, 별명을 붙이는 것을 "링크를 생성한다"라고 한다.링크에는 하드 링크(Hard Link)와 심볼릭 링크(Symbolic Link) 두 종류가 있지만, 일반적으로 심볼릭 링크가 더 많이 사용된다. 하드 링크우선 내용이 hello인 file1에 대해 file2라는 이름의 하드 링크를 만들었다.file2의 내용을 출력하면 file1의 내용이 출력되며, 반대로 file1을 출력해도 file1의 내용이 출력된다. file1의 내용을 bye로 변경 시, file1의 내용뿐만 아니라 file2의 내용 역시 변경되는 것을 확인할 수 있다.(반대의 경우도 동일하다)즉, 하드 링크란 하나의 파일 원본에 이름을 여러 개 붙이는 기능이..
셸이란?
·
Linux
셸이란?우리가 PuTTY를 통해 `date` 명령어를 입력하면, 리눅스 내부에서는 다음과 같은 일이 일어난다.키보드로 입력한 date 문자열을 받아들인다.해당 명령어를 시스템에서 검색한다.발견한 명령어를 실행한다.실행 결과로 얻은 문자열을 화면에 출력한다.이 과정에서 주목할 점은 사용자가 `date`라는 명령어를 입력했다고 해서 리눅스 커널을 직접 조작한 것이 아니라는 점이다.사용자와 커널 사이에는 명령어를 검색하여 커널에 실행을 요청하고, 그 결과를 사용자에게 전달하는 역할을 수행하는 소프트웨어가 필요하다. 이 소프트웨어가 바로 셸(Shell)이며, 사용자와 커널을 연결하는 인터페이스 역할을 수행한다. 일시적으로 셸 바꾸기`echo $SHELL` 명령어를 사용해 리눅스의 로그인 셸(기본 셸)을 확인할 ..
Blocking vs Non-Blocking & Synchronous vs Asynchronous
·
OS
1. Blocking (블로킹) vs Non-Blocking (논 블로킹) 위 두 개념은 어떤 하나의 함수가 어떻게 동작하는지에 관한 이야기다. 함수 A와 B가 존재한다고 가정하자. 또한, 함수 A가 함수 B를 호출한다.이때 함수 A가 어떻게 행동하는지에 따라 Blocking과 Non-Blocking이 결정된다.즉, 해당 개념과 함수 B는 아무런 관련이 없다. 어떠한 상황에서도 함수 A가 아무것도 하지 못하고 함수 B의 결과를 기다리는 상황이 바로 Blocking이다. 반대로 함수가 A가 다른 일을 하며 함수 B의 결과를 기다리는 상황은 Non-Blocking이다. 예를 들어, 함수 A는 주기적으로 함수 B의 상태를 확인하는 폴링 (Polling)을 수행하거나,함수 B로부터 작업이 완료되었다는 알림을 받..
10. 파일 시스템
·
OS
1. 파일 & 파일 시스템File보조기억장치에 저장된 관련 정보의 집합 ("A named collection of related information") → 또한 운영체제는 다양한 저장 장치를 File이라는 동일한 논리적 단위로 취급 File Attribute (= Metadata)(파일 자체의 내용이 아닌) 파일을 관리하기 위한 각종 정보 → 파일 이름, 파일 유형, 파일 사이즈, 파일 위치 → 파일 접근 권한 (읽기 / 쓰기 / 실행), 파일 접근 시간 (생성 / 변경 / 사용), 파일 소유자 등 File System운영체제에서 파일을 관리하는 부분 → 파일 및 파일의 메타데이터, 디렉터리 정보 등을 관리 → 파일의 저장 방법 결정 → 파일의 보호 등 2. 디렉터리 & 파티션Directory파일의 메..