1. 리눅스 기본 이해
1.1. 초간단 리눅스 배경 이해
- 컴퓨터의 운영체제 중 하나로 리누스 토르발스(Linus Torvalds)에 의해 시작된 다중 사용자, 다중 작업을 지원하는 유닉스(UNIX)와 유사한 운영체제
- GNU 프로젝트
- GNU = Gnu is not Unix
- 유닉스(UNIX) 운영체제를 여러 회사에서 각자 개발하며, 소스를 공유하지 않는 문화에 반발
- 리차드 스톨먼이라는 사람이 초기 컴퓨터 개발 공동체의 상호협력적인 문화로 돌아갈 것을 주장하며 1985년 3월에 GNU 선언문을 발표
- GNU 프로젝트를 지원하기 위해 자유 소프트웨어 재단(FSF) 설립과 GNU 공개 라이선스(GPL)라는 규약 제공
- GNU 프로젝트와 리눅스
- 초기 운영체제 개발에 필요한 라이브러리, 컴파일러, 에디터, 유닉스 쉘 개발
- 이를 지원하는 운영체제 커널 개발 시도 (GUN Hurd: https://ko.wikipedia.org/wiki/GNU_%ED%97%88%EB%93%9C)
- 리누스 토발즈가 리눅스 커널 발표. 이를 GNU 프로젝트에서 수용하면서, GNU 프로젝트 산출물과 통합 및 개발 지속
- 리눅스 특징
- 유닉스 기반
- 리눅스 커널 자체가 유닉스의 미닉스(Minix)를 참고하여 개발
- 리눅스 커널 자체가 유닉스의 미닉스(Minix)를 참고하여 개발
- 다중 사용자와 멀티 태스킹을 지원
- 리눅스는 다중 사용자 (하나의 컴퓨터에 여러 사용자가 로그인 및 사용 가능) 와 멀티 태스킹(한번에 여러 프로세스 실행 가능)을 지원
- 리눅스는 다중 사용자 (하나의 컴퓨터에 여러 사용자가 로그인 및 사용 가능) 와 멀티 태스킹(한번에 여러 프로세스 실행 가능)을 지원
- 자유 소프트웨어
- 리눅스 자유 소프트웨어 라이센스
- 누구나 소스 코드 활용 및 수정, 재배포 가능
- 리눅스 커널 및 관련 다양한 소프트웨어를 패키지로 묶어서 배포하는 것을 리눅스 배포판이라고 함(예: ubuntu)
- 유닉스 기반
1.2. 초간단 리눅스 구조
- 리눅스는 리눅스 커널 + 쉘 + 컴파일러 + 다양한 소프트웨어를 포함한 하나의 패키지를 지칭
- 다양한 소프트웨어가 리눅스 커널이 관리하고 있는 시스템 자원을 마구 사용할 경우, 시스템 안정성에 심각한 문제가 초래됨
- 운영체제가 시스템 자원을 관리하고, 다양한 소프트웨어는 리눅스 커널이 제공하는 시스템 콜을 통해 시스템 자원 사용을 요청
- 시스템 콜은 쉘, 다양한 언어별 컴파일러, 라이브러리를 통해 호출되게 됨
- 리눅스 커널은 시스템 자원을 관리
■ 프로세스 관리(Process Management)
■ 메모리 관리(Memory Management)
■ 파일 시스템 관리(File System Management)
■ 디바이스 관리(Device Management)
■ 네트워크 관리(Network Management)
728x90
반응형
'Server > Linux' 카테고리의 다른 글
[LINUX] 3. 쉘 스크립트 (0) | 2021.05.26 |
---|---|
[LINUX] 2.리눅스 쉘(bash), 기본 명령어 이해 및 실습 (0) | 2021.05.26 |
[Linux] 자주 사용하는 cmd 명령어(명령 프롬프트) 알아보기. (0) | 2021.05.26 |
[Linux] 쉘 사용하기 [리눅스 쉘의 기능과 종류] (0) | 2021.05.26 |
[Linux] 디렉토리와 파일 사용하기 [디렉토리를 다루는 명령어] (0) | 2021.05.26 |
댓글