시스템 프로그래밍

tycode·2021년 4월 27일
0

C.S (Computer Science)

목록 보기
13/40
post-custom-banner

리눅스(LINUX)

리누스 토발즈(Linus Torvalds)가 개발

  • 대학에 있는 UNIX 컴퓨터를 집에서 쓰고 싶어 만듦
  • 다중 사용자, 다중 작업(시분할 시스템, 멀티 태스킹)을 지원하는 유닉스(UNIX)와 유사한 운영체제
  • 서버+클라우드 컴퓨팅
  • UNIX 계열 운영체제이므로, 사용법을 익힐 수 있다.

GNU 프로젝트

  • General Public License
  • GNU = Gnu is Not Unix
  • 유닉스 운영체제를 여러 회사에서 각자 개발, 소스 공유하지 않는 문화에 반발
  • 리차드 스톨만: 초기 컴퓨터 개발 공동체의 상호협력적인 문화로 돌아갈 것을 주장하며, 1985년도에 GNU 선언문을 발표
  • GNU공개 라이선스(GPL)라는 규약을 제공

GPL 라이선스

  • GPL프로그램은 어떤 목적으로, 어떤 형태로든 사용할 수 있지만, 사용하거나 변경된 프로그램을 다시 배포하는 경우, 동일한 GPL라이선스로 공개를 해야함
    (소스 오픈을 장려하기 위함)

GNU 프로젝트와 리눅스

  • GNU프로젝트 산출물과 리눅스 커널이 통합 개발
  • GNU/Linux라고 부르기를 희망

AWS (Amazon Web Services)

클라우디 컴퓨팅 서비스: 서버 환경을 미리 구축해놓고, 간단한 설정으로 바로 사용할 수 있도록 만든 서비스

리눅스와 파일

  • 모든 것은 파일이라는 철학을 따름
    • 모든 인터렉션은 파일을 읽고, 쓰는 것처럼 이루어져있음
    • 마우스, 키보드와 같은 모든 디바이스 관련된 기술도 파일과 같이 다 이루어짐
  • 파일 네임스페이스
    • A 드라이브 (A:/), C드라이브 (C:/windows)
      ㄴ 리눅스는 이렇게 하지 않고,
    • 전역 네임스페이스 사용한다
      • /media/floofy/kim.jpg (루트 디렉토리로 시작함)
  • 파일은 inode 고유값과 자료구조에 의해 주요 정보 관리

리눅스와 프로세스

  • 리눅스 실행 파일 포멧 - ELF(Executable and Liable Format)
    • 콜스택, 코드(텍스트), 데이터 및 BSS섹션 등
  • 다양한 시스템 리소스와 관련
    • 시스템콜 호출을 통해 리소스 처리 가능토록 구성되어 있다
      • 타이머, 시그널, 파일, 네트워크, 디바이스, IPC기법
  • 가상 메모리 지원
  • 각 프로세스는 pid(프로세스 ID) 고육밧으로 구분
  • init프로세스(첫 번째 프로세스)를 기반으로 fork() 시스템콜을 사용해서, 신규 프로세스가 생성

리눅스와 권한

  • 운영체제는 사용자/리소스 권한을 관리한다
  • 리눅스는 사용자/그룹으로 권한을 관리한다
  • root는 슈퍼관리자
  • 리눅스는 리소스/파일마다 소유자, 소유자 그룹, 모든 사용자에 대해
    • 읽고, 쓰고, 실행하는 권한을 관리한다
    • 접근 권한 정보는inode의 자료구조에 저장되서 관리된다

리눅스 사용자(로그인 사용자/그룹) 권한 관리
리눅스 리소스(소유자, 소유자 그룹

post-custom-banner

0개의 댓글