[OS]리눅스(Linux)랑 친해지기 (기초부터 차근차근!)

이민선(Jasmine)·2023년 2월 24일
0
post-thumbnail

코드스테이츠 시작한지 2주차!

Linux라는 주제 아래 터미널 명령어, node.js 등 중요한 내용을 많이 다뤘다. 아직 2주차이긴하지만 코드스테이츠 유어클래스를 통해 공부가 부족했던 부분이 잘 채워지고 있다는 느낌을 받을 때가 많다. Linux가 특히 그랬다!
그런데 부족한 파트인만큼 CLI 명령어, 절대 경로 상대 경로 등등.. 공부를 열심히 해보았지만 여전히 Linux에 대한 근본 개념 정립이 부족한 것 같았다. 그래서 Linux가 뭔데?? 라고 물어보면 말문이 막힐 것 같달까? 그래서 Linux랑 친해지기 위한 공부를 좀 더 해보았다!

운영체제, 그게 무엇?

요즘 CS 공부를 본격적으로 시작한 쟤스민~~ 운영체제(OS)는 자료구조, 객체지향 프로그래밍 공부한 다음 깊숙히 파려고 했던 파트이지만 OS에 대한 이해 없이 Linux를 이해하는 것은 불가능하기 때문에 OS의 정의, 구조 정도라도 잠시 훑고 가려고 한다.

운영체제(operating system)는 사용자가 컴퓨터를 쉽게 다룰 수 있도록 설계된 인터페이스이다. 하드웨어와 소프트웨어 자원을 효율적으로 관리하는 일꾼이라고 볼 수 있다.

운영체제는 GUI, 시스템콜, 커널, 드라이버로 이루어져있다. 이중에서도 커널은 OS의 핵심이 되는 프로그램이다. 커널은 사용자가 실행시키는 어플리케이션과 하드웨어 사이에서 관리자 역할을 수행한다.

커널의 MBTI.. 어쩌면 ESTJ일지도?
커널 외의 것들(시스템콜, 드라이버 등)은 추후 포스팅할 때 자세히 다루겠다!

애플은 iOS라는 자체적인 운영체제를 통해 기기를 관리하지만, 안드로이드는 오픈소스 운영체제인 리눅스를 채택했다. 안드로이드가 리눅스 기반이라는 것은 안드로이드의 커널이 리눅스 커널이라는 것이다. (리눅스는 사실상 OS라기보다는 커널의 한 종류라고 본다는 말이 어느 정도 이해에 도움이 되었다.)

리눅스의 구조

하드웨어:

CPU, 모니터, 키보드, RAM, 그래픽 카드(GPU) 등 컴퓨터의 물리적 부품을 의미함.

커널:

하드웨어 직접 제어, 프로세스 관리, 메모리 관리, 파일 시스템 관리 등을 수행하는 운영 체제의 핵심 부분. 쉘에서 명령하는 작업을 수행하고 수행된 결과를 쉘로 보내는 역할을 한다.

쉘:

사용자가 입력한 문자열을 해석하고 해당 명령어를 찾아 커널에 작업을 요청, 커널에서 작업을 수행한 결과를 유저에게 알려준다.

쉘의 종류에는 GUI와 CLI 2가지가 있다. GUI는 그래픽을 이용해서, CLI는 명령어를 이용해서 시스템과 커뮤니케이션하는 것이다.

이제야 좀 Linux라는 큰 주제에서 어떤 흐름으로 CLI 명령어들을 배우게 된 건지 가닥이 좀 잡힌다! 자료구조랑 객체지향 프로그래밍 포스팅 끝나고나면, OS도 진득하게 파봐야겠다. 화이팅!!

참고 자료:

https://www.redhat.com/ko/topics/linux/what-is-linux
Linux란 무엇일까요?

https://onecoin-life.com/45
리눅스란 무엇인가? 역사/특징/종류/구조 총정리

https://hanamon.kr/%ED%84%B0%EB%AF%B8%EB%84%90-%EC%BD%98%EC%86%94-%EC%89%98-%EB%AA%85%EB%A0%B9%EC%A4%84terminal-console-shell-command-line%EC%9D%98-%EC%B0%A8%EC%9D%B4-2/
터미널, 콘솔, 쉘, 명령줄(Terminal, Console, Shell, Command line)의 차이

https://brunch.co.kr/@natrsci/91
컴퓨터 운영체제 리눅스 훑어보기

https://www.youtube.com/watch?v=bIioaO-Umj0&t=1400s
리눅스란? 커널이다.

https://www.fun-coding.org/linux_basic1.html#gsc.tab=0
리눅스 기본 이해

https://www.youtube.com/watch?v=tPWBF13JIVk&t=600s
가장 쉬운 리눅스 강좌

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=pst8627&logNo=221663921157
IT 관련 용어 [OS]운영체제란 무엇인가? (운영체제 종류와 특징)

https://mjmjmj98.tistory.com/34
커널과 쉘 및 GUI, CLI 차이 설명

profile
기록에 진심인 개발자 🌿

0개의 댓글