카테고리 없음

정보처리기사 실기 - 운영체제의 특징 (운영체제의 종류)

비뀨_ 2023. 7. 16. 20:48

운영체제 ( OS :  Operation System )의 개념

  • 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해 주는 소프트웨어
  • 운영체제는 시스템 자원을 효과적으로 사용할 수 있도록 운영해 주어 편의성을 제공해 줌
  • 컴퓨터 시스템과 사용자 간의 인터페이스 기능을 담당

 

운영체제의 특징

 

특징 설명
편리성 제공 한정된 자원을 효과적으로 사용할 수 있도록 관리 및 운영
인터페이스 기능 컴퓨터 시스템과 사용자를 연결
스케줄링 담당 다중 사용자와 다중 응용 프로그램 환경에서 자원의 현재 상태를 파악,
자원 분배를 위한 스케줄링 담당
자원 관리 CPU, 메모리 공간, 기억장치, 입출력 장치의 자원 관리
제어기능 입출력 장치와 사용자 프로그램을 제어

 

운영 체제는 크게 쉘(Shell) + 커널(Kernel)의 구조이다.

 

인터페이스(쉘 : Shell)

  • 사용자가 입력시킨 명령어 라인을 읽어 시스템 기능을 실행시키는 명령어 해석기
  • 여러가지 내장 명령어 제공

 

커널(Kernel)

  • 운영체제의 핵심이 되는 기능이 모여있는 프로그램
  • 부팅될 때 주기억장치에 적재되어 상주하며 실행.

커널의 기능

  • 프로세스 관리
    • 스케줄링 및 동기화 담당
    • 생성 & 제거 , 시작 & 정지, 메시지 전달 등
  • 기억장치 관리
    • 메모리 할당 및 회수
  • 주변장치 관리
    • 입출력 장치 스케줄링 및 관리
  • 파일 관리
    • 파일 관리, 파일 생성 & 삭제, 변경, 유지

 

운영체제의 종류

1. 윈도우즈(Windows)

  • 마이크로소프트사가 개발
  • 멀티태스킹 기능과 GUI 환경 제공 : 그래픽 기반의 인터페이스
  • 자동 감지 기능 제공 : 하드웨어 설치했을 때 필요한 시스템 환경을 운영체제가 자동으로 구성해주는 기능 제공
  • OLE : 개체를 작성 중인 문서에 자유롭게 연결, 삽입해 편집할 수 있게

2. 유닉스(Unix)

  • 벨 연구소를 통해 만든 운영체제
  • 90% 이상 C 언어로 구현되어 있는 운영체제
  • 범용 다중 사용자 방식의 시분할 운영체제

3. 리눅스

  • 유닉스 기반의 오픈 소스 기반의 운영체제이다.
  • 대화식 운영체제, 다중 작업 기능, 이식성, 계층적 트리 구조 파일을 갖는다.
  • 데비안, 레드햇, Fedora, Ubuntu, CentOS 등이 있다.

 

4. 맥 (Mac)

애플 사에서 개발한 유닉스 기반의 GUI 기반의 운영체제

 

5. 안드로이드

  • 리눅스 기반 : 리눅스 커널 위에서 동작
  • 자바, 코틀린 언어 
    • 고수준 언어를 사용해 작성
    • 생산성이 높고 전문 지식이 없어도 개발 가능
  • 런타임 라이브러리
    • 컴파일된  바이트 코드 구동
  • 안드로이드 SDK 
    • 각동 도구와 API 제공

 

운영체제 기본 명령어 활용

운영체제를 제어하기 위한 방법은 CLI, GUI 두가지가 있다.

  • CLI (Command Line Interface)
    • 사용자가 직접 명령어로 컴퓨터에 명령을 내림
  • GUI (Graphic User Interface)
    • 마우스로 화면을 클릭해 컴퓨터를 제어

1. 윈도우 기본 명령어

명령어 설명
ATTRIB 파일 속성을 표시하거나 바꿈
CALL 한 일괄 프로그램에서 다른 일괄 프로그램 호출
CD 현재 디렉터리 이름을 보여주거나 이동
ChkDsk 디스크 검사하고 상태 보고서 표시
CLS 명령 프롬프트의 글씨들을 지움
CMD Window 명령 프롬프트 창을 엶
COMP 두 개 이상의 파일 비교
DiskPart 디스크 파티션 속성을 표시하거나 구성
ECHO 메시지를 표시하거나 ECHO를 사용, 사용하지 않음
ERASE 하나 이상의 파일을 지움
EXIT 명령 프롬프트를 종료

 

2. 리눅스  / 유닉스 계열 명령어 

리눅스 & 유닉스 명령어는 Shell 에서 입력할 수 있다.

 

시스템 관련

  • uname -a
    • 시스템의 모든 정보를 확인
    • 시스템 이름, 사용 중인 운영체제와 버전, 호스트 명 등을 표시
  • uname - r :
    • 운영체제의 배포버전을 출력
  • cat
    • 파일의 내용을 화면에 출력
  • uptime
    • 시스템 가동 시간, 현재 사용자 수, 평균 부하량 등 확인

 

사용자 관련

  • id : 사용자의 로그인명, id, 그룹 id 등 출력
  • last : 시스템의 부팅부터 현재까지 사용자의 로그인, 로그아웃 정보 표시
  • who : 현재 접속 사용자 정보를 표시

파일 처리

  • ls : 현재 디렉토리의 파일 및 폴더 목록 표시
  • pwd (print working directory): 현재 작업중인 디렉토리의 절대경로
  • rm : 파일 삭제 
  • cp : 파일 복사 
  • mv : 파일 이동 명령어

 

프로세스

  • ps : 현재 실행되고 있는 프로세스 목록 출력
  • pmap : 프로세스 ID 기준으로 메모리 맵 정보 출력
  • kill : 특정 PID 프로세스 종료 명령어

 

파일 권한

  • chmod : 특정 파일 또는 디렉토리의 권한(permission) 수정
  • chown : 파일이나 디렉토리 소유자, 소유 그룹 수정 명령어

 

네트워크

  • ifconfig : 네트워크 인터페이스를 설정하거나 확인하는 명령어
  • host : 도메인 명은 알고 있는데 ip 주소를 모르거나 반대의 경우 사용

 

압축

  • tar : 여러개의 파일을 하나의 파일로 묶거나 풀 때 사용하는 명령어 ( 압축 불가)
  • gzip : 파일을 압축하는 명령어

검색

  • grep : 입력으로 전달 된 파일 내용에서 특정 문자열을 찾고자 할 떄 사용
  • find : 특정한 파일을 찾는 명령어
  •  

파일 이동

  • cp : 디렉토리를 복사할 때 사용
  • rsync : 로컬 or 원격에 파일과 디렉토리를 복사하고 동기화

 

디스크 사용

  • df : 하드디스크의 남은 용량을 확인할 때 사용
  • du : 파일 사이즈를 Kb 단위로 보여주는 명령어

 

디렉토리 이동 

  • cd : 디렉토리를 이동하는 명령어

 

리눅스/유닉스 파일 접근 권한 관리

파일 접근제어 개요

  • 사용자 혹은 프로세스가 파일을 읽거나, 실행하면 
    open(), read(), write()와 같은 시스템 호출이 수행되고, 파일 정보가 저장된 i-node 값 읽게 된다.
  • i-node에는 각 파일의 물리적 위치, 생성, 수정, 사용 날짜 등 파일 정보와 파일 소유자 그룹, 접근 권한 등 파일 접근제어와 관련된 정보가 수록, 해당 정보 이용해 DAC 기반 접근 제어 수행

 

접근 권한 유형

  • User (u) : 파일을 소유하고 있는 사용자
  • Group (g): 소유자 제외하고 같은 그룹에 속해있는 모든 사용자 
  • Other (o): 그 밖의 사용자

파일 접근 모드( 설정 명령어 : chmod )

  • R (읽기): 4
  • W (쓰기) : 2
  • X (excute) : 1

파일이 rwx 권한이 있으면 읽고, 쓰고, 실행하는 권한이 있다.

 

접근 권한 기호

  • 그룹 : u (user) , g (group), o (other)
  • 연산자 : +(추가), - (제거), = (지정)
  • 접근 권한 : r (read), w (write), x (excute)

 

예시

chmod o-w test.txt
// test.txt 파일의 other 그룹의 쓰기(w) 권한을 제거
chmod 664 test.txt
// test.txt 파일의 접근 권한은 664 (rw-rw-r--)

 

운영체제 핵심 기능 파악

핵심 기능

위에서 말 했듯이 OS의 기능은 여러개가 있지만 핵심 기능은 메모리 관리, 프로세스 관리이다.

핵심 기능 설명
메모리 관리 중앙처리장치(CPU), 메모리, 스토리지, 주변 기기 등을 적절히 관리
최근의 운영체제에서는 대부분 메모리를 자동으로 관리해 줌
프로세스 관리 일시 중지 및 재실행, 동기화, 통신
, 교착상태 처리, 프로세스 생성 삭제

메모리 관리 기법

  • 반입 기법
    • 주기억장치에 적재할 다음 프로세스의 반입 시기를 결정
    • 메모리로 적재 시기 결정
    • WHEN : 요구 반입 기법, 예상 반입 기법
  • 배치 기법
    • 디스크에 있는 프로세스를 주기억장치의 어느 위치에 저장할 것인지 결정
    • WHERE : 메모리 적재 위치 결정
  • 할당 기법
    • 실행 할 프로세스를 주기억장치에 어떤 방법으로 할당할 것인지
    • HOW : 메모리 적재 방법 결정
  • 교체 기법
    • 재배치 기법으로 어떤 프로세스를 제거할 것인지 결정
    • WHO : 메모리 교체 대상 결정
    • FIFO, Optimal, LRU, LFU, MFU, 시계 알고리즘

 

메모리 배치 기법

 

  • 최초 적합 : 가용 공간 중 첫 번째 분할에 할당하는 방식
  • 최적 적합 : 가용 공간 중 가장 크기가 비슷한 공간을 선택
  • 최악 적합 : 가용 공간 중 가장 큰 공간에 할당