새소식

반응형
CS/OS

(1) 유닉스 운영체제

  • -
728x90
반응형

 

유닉스는 1969년 Bell 연구소에서 개발된 운영체제로 현대 운영체제의 대부분이 UNIX에 뿌리를 두고 있다.
(윈도우 제외 거의 모든 OS의 조상님)

 

✅ 유닉스 운영체제의 특징 

  1. 고급 언어인 C언어로 쓰여있어 이식성이 높다.
    👆 이식성이란?
    한번 만들어진 프로그램을 다른 CPU를 가지는 하드웨어로 쉽게 이식할 수 있다는 뜻
    대다수의 컴퓨터가 C 컴파일러를 가지고 있기 때문에 C언어로 쓰여 있으면 이식성이 높다.

  2. 시분할 시스템 (Time Sharing System)을 위해 설계된 대화식 운영체제이다.
    👆 시분할 시스템이란?
    현재 대부분의 운영체제가 사용하고 있는 방식으로 여러 작업을 수행할 때 CPU를 일정한 시간 단위로 분할해 사용한다.
    일괄처리에 비해 짧은 응답 시간을 가져 Interative 한 방식이다.
    => 사람이 느끼기에 빠르면서도 자원을 효율적으로 관리하기 위한 방식

    👆 대화식 운영체제란?
    쉘 프롬프트에 사용자가 명령을 기술하면, 쉘을 통해 시스템에 전달되고 시스템은 정상인지 오류인지 등을 답변하는 방식으로
    마치 시스템과 사용자가 대화하는 것과 같은 방식으로 사용된다.

  3. 다중 사용자, 다중 작업(multi-tasking) 을 지원한다.
    👆 다중 사용자란?  여러 사람이 하나의 컴퓨터에 동시에 접속하는 것을 의미합니다.
    👆 다중 작업이란? 한 컴퓨터에서 여러 작업을 동시에 수행하는 것을 의미합니다.

  4. 파일 시스템이 트리 구조로 구성되어 있다

 

✅ 유닉스 운영체제의 구조

🔺 커널 (Kernel)

  • 하드웨어를 보호하고 프로그램과 하드웨어 간 인터페이스 역할을 담당한다.
  • 프로세스 관리 (CPU 스케줄링), 기억장치 관리, 파일 관리, 입출력 관리, 장치 관리 등 컴퓨터의 모든 자원을 초기화하고 제어한다.
  • 응용 프로그램은 system call 을 통해 커널에 요청할 수 있다.

 

🔺 쉘 (Shell)

  • 사용자의 명령어를 인식해 프로그램을 호출하고 명령을 수행하는 명령어 해석기
  • 사용자와 커널 사이의 인터페이스
  • 메모리에 적재되어 있지 않고 명령어가 포함된 파일 형태로 존재한다.
  • sh, ash, bash, csh 등 다양한 쉘이 존재하며 사용자가 직접 쉘을 만들 수도 있다.
    • window의 cmd 창, mac의 terminal도 쉘의 일종이다.

 

🔺 유틸리티

  • 사용자가 작성한 프로그램을 처리하는데 사용한다.
  • 에디터, 컴파일러, 인터프리터, 디버거 등이 있다.

 

🔺 유닉스의 파일 시스템 구조

  • 트리 구조의 디렉터리에서 생성됨
    • /bin : 대부분의 실행파일
    • /usr : 사용자와 관계되는 파일
    • /etc : 암호 파일 등 시스템 관리에 필요한 파일들
    • /dev : 입출력 장치와 관련된 특수 파일들
    • /lib : 프로그래밍 라이브러리들
    • /user : 사용자 계정을 위한 디렉터리
더보기
  • 부트 블록 : 운영체제를 부트(boot) 하거나 초기화하는데 필요한 코드를 담고 있다.
  • 슈퍼 블록 : 파일 시스템의 정보 (크기, 개수, 미사용 공간)을 담고 있다.
  • i-node 블록 : 하나의 파일 혹은 디렉토리에 대한 모든 정보를 담고 있다.
    (파일 소유자의 사용자번호(UID), 그룹번호(GID), 파일 크기, 파일 타입, 생성시기, 최종변경시기, 최근사용시기, 파일의보호권한, 파일링크수, 데이터가 저장된 블록의 시작주소 등)
  • 데이터 블록 : 파일의 실제 데이터가 저장되어 있다.
  • 디렉토리 블록 : 파일의 이름과 inode의 번호를 저장한다.

 

✅ 유닉스 운영체제의 프로세스 스케줄링

 

 

✅ 유닉스 운영체제의 명령어

 

 


✅  그래서 지금은 어떤 운영체제를 사용하는가?

크게 임베디드 서버 모바일 데스크탑 이렇게 4개 시장으로 나눌 수 있다.

  • 임베디드 시장은 자체 제작한 운영체제를 사용하다, 하드웨어 성능이 올라가면서 리눅스 계열 커널을 많이 쓴다.
    → 리눅스 기반 라즈베리 파이 / 윈도우 임베디드 OS / 아두이노 / ...
  • 서버 시장은 유닉스 점유율이 1위
    → 그 외 리눅스 윈도우 macOS
  • 모바일 시장은 리눅스 계열인 안드로이드 가 시장 점유율 1위
    → 그 외 iOS (유전적 유닉스인 BSD 계열)
  • 특이하게도 데스크탑 시장만 윈도우 가 시장 점유율 1위

 

✅  리눅스 vs 유닉스 vs 윈도우 vs 우분투

 

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.