Computer(인강)/시스템 프로그래밍(40)
-
하드 링크
안녕하세요 bannavi입니다^ㅅ^ 오늘은 하드링크에 대해서 실습도 하면서 배워볼거에요 바로 시작하겠습니다. 오늘은 리눅스 시스템에만 있는 독특한 부분을 살펴볼거에요 하드 링크와 소프트 링크 # cp 명령: 파일 복사 - 1MB 사이즈를 가지고 있는 A 파일을 B파일로 복사 * cp A B -> A와 B는 각각 물리적으로 10MB 파일로 저장 # 하드 링크: ln A B - A와 B는 동일한 10MB 파일을 가리킴 - 즉, 동일한 파일을 가진 이름을 하나 더 만든 것일 뿐 1) 그래서, inode는 동일! 2) 전체 파일 용량은 달라지지 않음 하드링크와 카피의 차이 # 하드링크: ln A B 1) ls -i (파일 inode 확인하기) 2) ls -al (완전 동일한 파일) 3) rm A로 A를 삭제하면..
2021.03.07 -
리눅스 파일 시스템 탐색
안녕하세요 bannavi입니다^ㅅ^ 오늘은 리눅스 파일 시스템과 관련 쉘 명령어를 알아보는 두번째 시간입니다 바로 시작하겠습니다 파일과 inode - 리눅스 파일 탐색: 예 - /home/ubuntu/link.txt 1) 각 디렉토리 엔트리(dentry)를 탐색 - 각 엔트리는 해당 디렉토리 파일/디렉토리 정보를 가지고 있음 2) '/' dentry에서 'home'을 찾고, 'home'에서 'ubuntu'를 찾고, 'ubuntu'에서 link.txt 파일 이름에 해당하는 inode를 얻음 리눅스 파일 구조(참고)
2021.03.07 -
리눅스 파일 시스템
안녕하세요 bannavi입니다^ㅅ^ 오늘은 리눅스 파일시스템 첫번째 시간입니다 바로 시작하겠습니다 운영체제 복습 리눅스와 파일 정리 1. 모든 것은 파일이라는 철학을 따름 1) 모든 인터렉션은 파일을 읽고, 쓰는 것처럼 이루어져 있음 2) 마우스, 키보드와 같은 모든 디바이스 관련된 기술도 파일과 같이 다루어짐 3) 모든 자원에 대한 추상화 인터페이스로 파일 인터페이스를 활용 파일 네임 스페이스 - A 드라이브(A:/), C드라이브(C:/windows) (X) - 전역 네임스페이스 사용 예) /media/floofy/dave.jpg 예) cat tty 슈퍼블록, inode와 파일 슈퍼블록: 파일 시스템의 정보 파일: inode 고유값과 자료구조에 의해 주요 정보 관리 - '파일이름:inode'로 파일이름..
2021.03.07 -
프로세스 관리 및 제어
안녕하세요^ㅅ^ bannavi입니다 오늘은 쉘로 시작하는 시스템 기본 프로그래밍 기본 여섯번째 시간으로, 지난 시간에 이어 foreground process제어하기를 살펴볼거에요 바로 시작하겠습니다 foreground process 제어하기 1) [CTRL] + z: foreground 프로세스를 실행 중지 상태(suspend모드)로 변경 2) 맨 마지막 [CTRL] +z로 중지된 프로세스는 bg명령으로 background프로세스로 실행될 수 있음 3) jobs 명령어: 백그라운드로 진행 또는 중지된 상태로 있는 프로세스를 보여줌 ctrl + z 실행중단 bg를 입력하면 가장 최근에 stop된 작업을 실행할 수 있다. 그리고 특정 순서의 job을 실행시키려면 한칸 띄고 숫자를 넣으면 된다. 프로세스를 완..
2021.03.07 -
foreground와 background
안녕하세요 bannavi입니다^ㅅ^ 오늘은 foreground와 background에 대해서 배워보도록 할거에요! 바로 시작하도록 하겠습니다 프로세스 vs 바이너리 - 코드 이미지 또는 바이너리: 실행파일 - 실행 중인 프로그램: 프로세스 1) 가상 메모리 및 물리 메모리 정보 2) 시스템 리소스 관련 정보 3) 스케쥴링 단위 리눅스는 다양한 프로세스 실행 환경 - 리눅스는 기본적으로 다양한 프로세스가 실행됨 - 유닉스 철학: 여러 프로그램이 서로 유기적으로 각자의 일을 수행하면서 전체 시스템이 동작하도록 하는 모델 foreground process / background process foreground process: 쉘(shell)에서 해당 프로세스 실행을 명령한 후, 해당 프로세스 수행 종료까지 ..
2021.03.07 -
리다이렉션과 파이프
안녕하세요 bannavi입니다^ㅅ^ 오늘은 쉘로 시작하는 시스템 기본 프로그래밍 기본 네번째 시간이에요 리다이렉션과 파이프에 대해 살펴보려고 하는데요, 지금 바로 시작하겠습니다 Standard Stream(표준 입출력) 1, command로 실행되는 프로세스는 세가지 스트림을 가지고 있습니다. 1) 표준 입력 스트림(Standard Input Stream) - stdin 2) 표준 출력 스트림(Standard Output Stream) - stdout 3) 오류 출력 스트림(Standard Error Stream) - stderr 2. 모든 스트림은 일반적인 plain text로 console에 출력하도록 되어 있음 리다이렉션(redirection) 1. 표준 스트림 프름을 바꿔줄 수 있습니다 2. > ..
2021.03.06