운영체제(operating system)

조현근·2023년 4월 30일
0

AI Studty

목록 보기
5/7

⚡ 우분투

  • 리눅스 기반으로 만들어진 운영체제
  • 주로 스마트폰, Home CCTV, Smart TV 등에서 사용됨
  • 캐노니컬 회사가 개발한 운영체제, 가장 인기있는 리눅스 배포판
  • GUI와 CLI 두기자를 기본적으로 배포

⚡ 리눅스란?

  • 운영체제의 종류중 하나
  • 오픈 소스 소프트웨어를 가져다가 내 제품에 최적화 시켜서 사용하기 좋다, 즉 공짜이다.(서버에서 많이 사용되는 운영체제)
  • 네이버도 리눅스를 사용
  • 윈도우와 맥은 자유롭게 수정 및 재배포 불가

    -> 리눅스의 구성
  • Kernel(커널)
    : 현재 제어하는 하드웨어 장치의 지원 여부 정보, 하드웨어 성능, 하드웨어 제어하는 코드들이 있다.

⚡ 운영체제(Operating System)란?

  • 운영체제의 종류 : 윈도우, 유닉스, 리눅스, 맥
  • 컴퓨터 하드웨어를 관리하는 프로그램
  • 하드웨어와 소프트웨어를 효율적으로 운영 관리함으로써 시스템을 이용하는데 편리함을 제공
  • 시스템의 생산성을 높임
  • 응용 프로그램 편리하게 사용, 하드웨어성능 최적화
  • 모든 하드웨어와 소프트웨어를 관리하는 '실행 관리자'의 역할
  • 컴퓨터 하드웨어를 몰라도 컴퓨터를 쉽게 만들 수 있도록 지원해 주는 소프트웨어

🔥 1. 운영체제의 기능

  • 컴퓨터 하드웨어를 관리
  • 입출력 관리 및 파일관리 기능
  • 사용자 편의성 제공

🔥 2. 운영체제의 목적

  • 처리능력의 향상
  • 응답시간 최소화
  • 신뢰도 향상
  • 사용 가능도 향상

🔥 3. 운영체제의 구성

  • 제어프로그램
  1. 감시 프로그램 : 중추적 역할
  2. 작업 관리 프로그램
  3. 데이터 관리 프로그램
  • 처리프로그램
  1. 언어 번역 프로그램
  2. 서비스 프로그램
  3. 문제 처리 프로그램

⚡ 하드웨어란?

  • 컴퓨터를 구성하는 물리적인 부품, 하드웨어에는 여러가지 부품들이 있다.

🔥 1. 중앙 처리장치(CPU)

  • 컴퓨터에서 가장 중요한 부품으로, 모든 계산과 명령을 처리

🔥 2. 메모리

  • 데이터를 저장하는 장소, 컴퓨터가 실행할 프로그램과 데이터를 저장

🔥 3. 저장 장치

  • 파일이나 데이터를 저장하는 공간
  • 하드 디스크 드라이브(HDD) / 솔리드 스테이트 드라이브 등이 있다.(SSD)

🔥 4. 그래픽 카드

  • 영상과 그래픽을 처리하는 장치로, 게임이나 비디오 편집 등에 사용

⚡ 폰 노이만의 '애니악'

  • 최초의 컴퓨터

⚡ 고연봉 프로그래밍 언어 TOP. 5

🔥 Closure

  • 비행기 시스템을 진단하기 위해 쓰임

🔥 F#

  • 마이크로소프트가 만듬
  • 닷넷 생태계에 적합하게 설계

🔥 GO

  • 구글에서 만듬
  • 빠르고 이쁘다

🔥 Scala

  • 함수형 자바같은 느낌
  • 트위터에서 사용

🔥 Elixir

⚡ TensorFlow

  • 머신러닝 / 딥러닝에 특화된 라이브러리
    - 라이브러리란? : 특정 기능을 위한 여러 함수 또는 클래스를 담고 있는 보따리
  • pytorch, keras 등이 더 존재

⚡ 터미널(Terminal)이란?

  • -> 위와 같은 터미널 환경을 CLI(Command Line Interface) 라고 한다. 즉, 명령줄 장치)

  • CLI(Command Line Interface)
    1.폴더나 파일을 관리하거나 실행하고 여러 명령어를 통해 복잡한 작업들을 수행
    2.키보드로 작성하는 명령어를 통해 원하는 동작을 수행

  • GUI(Graphical User Interface)
    1.CLI와 반대로 사용자가 눈으로 확인하며 작업할 수 있는 환경, 그래픽으로 표현된다.

⚡ CLI(Command Line Interface) 명령어

⚡ 패키지(package) 관리 명령어

  • apt get 명령어는 리눅스에서 패키지를 설치하거나 삭제하는데 사용
  • apt-get update : repository에 새로 추가된 패키지, 변경된 패키지 정보를 업데이트
  • apt-get upgrade : 현재 설치된 모든 패키지를 높은 버전으로 업그레이드
  • apt-get upgrade [package name] : 특정 패키지 1개만 업그레이드 하고 싶을때
  • apt-get install [package name] : 필요한 패키지 설치 / 패키지 이름 모를때 tab
  • apt-get remove [package name] : 패키지만 삭제할 때 사용 / 패키지 이름 모를때 tab
  • apt-get purge [package name] : 패키지와 관련 설정 파일 모드 삭제
  • apt-get autoremove : 불필요한 의존성 패키지 모두 삭제
  • which : 프로그램 석치 경로 확인 / 윈도우에서는 where

⚡ 패키지(package)

  • 특정 기능을 위한 여러 함수 또는 클래스를 담고 있는 보따리로서, 라이브러리, 모듈과 비슷한 개념(모듈은 좀더 작은 개념)

⚡ 가상환경(virtual environment)

  • 컴퓨터에 설치된 패키지 간의 충돌 또는 패키지 버전에 의한 이슈 등을 방지하기 위해 가상으로 나누어서 사용하는 환경
    즉, 특정 프로그램을 돌리기 위해 필요한 패키지들을 모아 만든 각각의 독립된 방과 같은 개념
  • pyenv, pip, anaconda 등 다양
  1. 가상환경 생성
conda create -n my_env_name python=3.9.7
  1. 가상환경 리스트 확인
conda env list
  1. 가상환경 active 해주기
conda activate my_env_name
  1. conda init 명령어 실행 후 터미널 재실행
conda init
  1. 가상환경 active 해주기
conda activate my_env_name
  1. 가상환경 리스트 확인
conda env list
  1. 가상환경 종료
conda deactivate
  1. 가상환경 삭제
conda env remove -n my_env_name
  1. 라이브러리 리스트 확인
pip list
  1. 라이브러리 리스트 확인(원하는 키워드로)
pip list | grep tensorflow
  1. 텐서플로우 설치
pip install tensorflow==2.6.0

0개의 댓글