[운영체제] 리눅스(Linux)와 유닉스(Unix) 비교하기

2025. 10. 14. 14:59·CS/운영체제

리눅스와 유닉스는 둘 다 컴퓨터 운영체제(OS)이며, 서로 매우 밀접한 관계를 맺고 있다. 간단히 말하면 유닉스는 원조이고, 리눅스는 유닉스를 기반으로 새롭게 탄생한 운영체제라고 할 수 있다. 

 

유닉스(Unix) 

유닉스는 1960년대 후반에 AT&T의 벨 연구소에서 개발된, 현대적인 운영체제의 시초라고 할 수 있다. 

주요 특징 

  • 대화식 운영체제 : 사용자와 시스템이 끊임없이 소통하며 작업을 처리하는 방식 
  • 멀티 유저 : 여러 명의 사용자가 하나의 컴퓨터 시스템에 동시에 접속하여 각자 독립적으로 작업을 수행할 수 있다. 
  • 멀티 태스킹 : 한 명의 사용자가 동시에 여러 개의 프로그래밍(작업)을 실행할 수 있다. 
  • 계층적 파일 시스템 : 파일과 폴더를 나무 구조처럼 계층적으로 관리할 수 있다. 
  • 높은 호환성 : 특정 하드웨어나 기계에 종속되지 않고 다양한 종류의 컴퓨터에서 작동할 수 있다. 
  • 상용 라이센스 : 대부분의 유닉스 시스템은 특정 하드웨어 제조사에서 개발하고 판매하는 상용 소프트웨어이다. 
  • 소스 코드 비공개 : 일반적으로 소스 코드가 공개되어 있지 않아 사용자가 수정하거나 재배포하기 어렵다. 

계정 보안 관리 기법 

  • `root` 계정 원격 접속 제한 : 보안 설정에서는 원격 접속을 통해 `root` 계정으로 직접 로그인하는 것을 금지한다. 원칙적으로는 일반 사용자 계정으로 먼저 접속한 다음, 꼭 필요한 경우에는 `sudo` 와 같은 명령어를 사용해 `root` 권한을 얻도록 한다.  
    • `root` 계정은 시스템의 모든 것을 할 수 있는 막강한 권한을 갖는다. 
  • 계정 잠금 임계값 설정 : 무차별 공격을 막기 위해 시스템에 로그인할 때, 설정된 횟수 이상으로 비밀번호를 틀리면 해당 계정을 임시적으로 잠가버리는 기능 
  • 패스워드 최소 길이 및 복잡도 설정 : 시스템 관리자가 새로운 비밀번호를 만들거나 변경할 때 지켜야할 규칙을 강제한다. 
  • `shadow` 파일 사용 : 사용자의 암호화된 비밀번호 정보를 안전하게 보호하기 위한 핵심적인 기능이다. 
    • 초기 유닉스 시스템에서는 사용자 계정 정보가 담긴 `/etc/password` 파일에 암호화된 비밀번호가 함께 저장되었는데, 이 파일은 일반 사용자도 읽을 수 있었다. 이거를 해결하기 위해 `shadow` 파일 시스템이 도입되었다. 
    • `/etc/password` 파일 : 사용자 ID, 그룹 정보 등 기본적인 정보만 남겨두고, 비밀번호 필드에는 'x' 와 같은 표시만 한다. 
    • `/etc/shadow` 파일 : 실제 암호화된 비밀번호와 만료일 같은 민감한 정보는 이 파일에 저장한다. 그리고 이 파일은 오직 `root` 계정만 읽을 수 있도록 권한을 제한한다. 

리눅스(Linux) 

리눅스는 1991년에 리누스 토르발스(Linus Torvalds)가 유닉스와 유사한 운영체제를 직접 만들고 싶다는 생각에서 개발한 커널(Kernel)에서 시작되었다. 커널은 운영체제의 가장 핵심적인 부분으로, 하드웨어를 제어하고 소프트웨어를 실행하는 역할을 한다. 

리눅스는 유닉스와 같은 특징을 가지고 있지만, 유닉스의 코드를 직접 사용하지 않고 처음부터 새롭게 작성되었다. 이 리눅스 커널에 GNU 프로젝트의 여러 도구와 소프트웨어가 결합되어 오늘날 우리가 아는 완전한 운영체제, 즉 'GNU/리눅스'가 탄생하였다. 

 

주요 특징 

  • 오픈 소스 : 소스 코드가 완전히 공개되어 있어 누구나 자유롭게 사용하고, 수정하고, 재배포할 수 있다. 
  • 무료 : 대부분의 리눅스 배포판은 무료로 다운로드하여 사용할 수 있다. 
  • 높은 유연성과 확장성 : 개인용 데스크톱부터 서버, 스마트폰, 임베디드 시스템, 슈퍼 컴퓨터에 이르기까지 매우 광범위한 분야에서 사용된다. 

'CS > 운영체제' 카테고리의 다른 글

[운영체제] 프로세스(Process) 와 스레드(Thread)  (2) 2025.08.09
[운영체제] 동기 vs 비동기 그리고 블로킹 vs 논블로킹  (3) 2025.08.08
'CS/운영체제' 카테고리의 다른 글
  • [운영체제] 프로세스(Process) 와 스레드(Thread)
  • [운영체제] 동기 vs 비동기 그리고 블로킹 vs 논블로킹
erika0915
erika0915
백엔드 개발자가 되고 싶어요 .
  • erika0915
    erikoding
    erika0915
  • 전체
    오늘
    어제
    • 분류 전체보기 (78)
      • 프로젝트 (13)
        • 끼니콩 (3)
        • 덕메랑 (3)
        • handDoc (7)
        • Haeil (0)
      • Java (9)
        • 클린코더스 (0)
      • Spring (30)
      • Redis (3)
      • CS (7)
        • 운영체제 (3)
        • 컴퓨터구조 (0)
        • 네트워크 (4)
      • DevOps (2)
      • 코딩테스트 (0)
      • Tech (14)
        • TDD (1)
        • 정리 (5)
        • 우테코 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    docker
    깃허브
    깃
    도커
    TDD
    레디스
    OS
    지라
    자바
    Network
    스프링부트
    github
    redis
    jira
    AI
    스프링
    파인튜닝
    Spring
    springboot
    STT
    CoolSMS
    promtail
    coderabbit
    git
    몽고디비
    코드레빗
    MongoDB
    네트워크
    운영체제
    java
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
erika0915
[운영체제] 리눅스(Linux)와 유닉스(Unix) 비교하기

티스토리툴바