-
리눅스IT기술/Linux 2021. 8. 2. 23:34
# 리눅스
컴퓨터 OS커널의 일종인 Linux Kernel, 또는 Linux Kernel을 사용하는 OS를 가르키는 말.
소스코드가 공개되어 있는 대표적인 Open Sourece SW이며, 안드로이드 역시 Linux Kernel을 사용하고 있다.
핀란드 공대생이었단 Linus(리누스)가 처음 만들어냈고, 이후 폭발적인 성장을 거듭하여 리눅스로 발전하게 되었다.
- 리눅스 재단 공식 웹사이트
# Kernel최하위 HW 과 Application 사이에 위치여 HW를 제어하기 위한 프로그램이다.
Memory Resident 한 특성을 갖고 있다.
메모리 관리
메모리가 어디에서 무엇을 저장하는 데 얼마나 사용되는지를 추적합니다.
프로세스 관리
어느 프로세스가 중앙 처리 장치(CPU)를 언제 얼마나 오랫동안 사용할지를 결정합니다.
장치 드라이버
하드웨어와 프로세스 사이에서 중재자/인터프리터의 역할을 수행합니다.
시스템 호출 및 보안
프로세스의 서비스 요청을 수신합니다.
커널은 사용자가 볼 수 없으며 커널 공간이라는 자신만의 작은 작업 공간에서 메모리를 할당하고 저장되는 모든 항목을 추적합니다. 웹 브라우저 및 파일과 같이 사용자가 볼 수 있는 것을 사용자 공간이라고 합니다. 이러한 애플리케이션은 시스템 호출 인터페이스(SCI)를 통해 커널과 통신합니다.
설명하자면 다음과 같습니다. 커널은 강력한 경영진(하드웨어)을 위해 일하는 바쁜 비서입니다. 비서의 할 일은 직원 및 대중(사용자)으로부터 수신되는 메시지 및 요청(프로세스)을 경영진에게 전달하고, 어디에 무엇이 저장되어 있는지 기억(메모리)하고, 특정한 시간에 누가 경영진을 얼마 동안 만날 수 있는지 결정하는 것입니다.
-Redhat 웹사이트# Shell
조개껍질에서 따온 단어.
조개내부를 껍질이 감싸고 있듯, Kernel을 감싸고 있는 프로그램이다.
즉, Kernel과 User 사이에서 사용자의 명령을 해석해서 Kernel로 전송하는 역할을 한다.
# Process
Program이 실행되어 Memory에서 동적인 상태로 존재하는 것
Process 내부에는 최소 하나의 Thread를 가지고 있으며, 실제 Thread 단위로 Scheduling 됨.
프로그램 실행 -> 메모리 할당 -> 할당 공간으로 binary Code 작동 -> 프로세스화
- Heap : dynamic memory allocation, de-allocation
- Stack : local variables, parameter
- Data : global variables
- Text(code) : program
# Systemcall
Operating System Concepts 10th - SILBERSCHARTZ fork()
text영역(source code)는 원본을 공유하며 Stack, Heap 영역은 별도의 공간으 생성된다.
- Parent : child process가 끝나야 하며 이를 위해 child PID를 반환받는다.
- Chile : return 값이 0
Program
Disk의 공간에 정적인 상태로 존재
IO Redirection
>
0 : Standard In
1 : Standard Out
2 : Standard Error
생략 : Standard Out
파일명 규칙
1. 255자까지 가능
2. 대소문자 구분함
3. 숨김파일(디렉토리)는 마침표(.)로 시작함
4. 백슬래시 \ 이용시, 특수문자를 일반문자처럼 사용 -> 이스케이프라고 함.
Directory
/ : 최상위 디렉토리
/bin : command
/sbin : root 권한을 가진 사용자가 실행할 수 있는 명령어
/usr/bin, /usr/local/bin : linux 설치된 응용프로그램/명령어
/lib, /usr/lib : 응용프로그램ㅇ서 사용하는 Library
/dev : device Files 존재함. 리눅스의 특수파일형태 HW 접근, 컨트롤
/etc : 리눅스의 환경파일들이 모여있음
/home : 작업 디렉토리, 계정 로그인시 default로 이동
/var : 시스템에 관련된 정보들을 저장 (log)
/var/log/syslog : system booting, events
/usr : 응용 Program 설치되는 경로
경로
Relative Path : ./
Absolute Path : Full Path
File 권한
User / Group / Other
Link
Hard Link : directory는 link 구성 안됨 (ln)
Symbolic Link : Directory, File 모두 link구성 가능 (ln -s)
echo
C언어의 Print의 역할
공백문자
구분인자로 사용되어 여러개의 공백문자는 하나의 공백문자로 인식. 여러개를 사용하려면 인용부호(")를 사용해야함. 인용부호 (")내의 공백문자는 일반문자로 사용된다/
nohup
HUP(hangup) 신호를 무시하도록 만드는 POSIX 명령어이다. HUP 신호는 전통적으로 터미널이 의존 프로세스들에게 로그아웃을 알리는 방식이다.
'IT기술 > Linux' 카테고리의 다른 글
SELINUX (0) 2021.07.02 Linux 개요 (0) 2021.07.02 Redhat Subscription (0) 2021.07.02 OS emergency mode로 부팅될 때 (0) 2021.05.30