정보처리기사

[정보처리기사실기] 기억장치 / 시스템 소프트웨어 / 운영 체제 / 파일 접근 권한

PEAZH 2024. 7. 16. 09:13
반응형

3과목. 운영체제

📒 01. 운영체제 기초


1. 기억장치

(1) 기억장치의 개념

  • 데이터, 프로그램, 연산의 중간 결과 등을 일시적 또는 영구적으로 저장하는 장치

(2) 기억장치의 종류

  • a) 레지스터
    - 중앙처리장치(CPU) 내부에 위치하고 있으며 용량이 매우 적음
    - 접근 시간이 CPU의 처리 속도와 매우 유사하며 가격이 비쌈
  • b) 캐시 메모리
    - CPU와 주기억장치 사이의 속도 격차를 줄이기 위해 사용
    - 실행 중인 프로그램의 자주 사용되는 명령어와 데이터 저장
    - 레지스터보다 조금 더 많은 양의 메모리를 저장
  • c) 주기억장치
    -  CPU가 직접 접근하여 데이터를 읽고 쓸 수 있는 장치
    종류 설명
    ROM
    (Read Only Memory)
    • 읽기만 가능한 읽기 전용 메모리
    • 비 휘발성 메모리
    종류 : mask-ROM, PROM, EPROM, EEPROM
    RAM
    (Random Access Memory)
    • 기억장소를 임의로 접근할 수 있는 메모리
    읽고 쓰기가 가능한 휘발성 메모리
    SRAM : 전원이 공급되는 중에 내용이 사라지지 않음 (캐시 메모리로 사용)
    DRAM : 일반적인 주기억장치로, 일정 시간이 지나면 내용이 사라지는 RAM
  • d) 연관 메모리
    - 주소에 의해 접근하지 않고, 기억된 내용의 일부를 이용하여 Access 할 수 있는 기억장치
  • e) 보조기억장치
    - 주기억장치에 비해 접근 시간은 느리지만, 기억 용량이 큼
    - 종류 : HDD, SSD, CD, USB 등
  • f) SSD(Solid State Drive)
    - 기계적인 움직임이 없는 반도체 기반 저장 장치
    - 하드디스크(HDD)는 움직이면서 읽고 씀
    - 하드디스크에 비해 훨씬 빠른 읽기 및 쓰기 속도 제공으로 빠른 데이터 전송 가능

 

2. 시스템 소프트웨어

(1) 시스템 소프트웨어의 개념

  • 응용 소프트웨어를 실행하기 위한 플랫폼 제공
  • 컴퓨터 하드웨어의 작동과 접근을 관리

(2) 시스템 소프트웨어의 종류

  • a) 로더
    - 프로그램을 메모리에 적재하고 실행을 준비하는 역할
  • b) 링커
    - 목적 파일을 모아서 실행 파일로 변환
  • c) 유틸리티
    - 하드웨어, 운영체제, 응용 소프트웨어 관리를 지원
  • d) 번역기(컴파일러, 어셈블러)
    - 특정 프로그래밍 언어를 다른 언어로 변환
  • e) 장치 드라이버
    - 특정 하드웨어나 장치를 제어
  • f) 운영체제(대표적)
    - 하드웨어 관리와 통신 등 다양한 기능 제공

 

3. 시스템 소프트웨어의 구성

(1) 제어 프로그램 ⭐

  • a) 감시 프로그램(Supervisor Program)
    - 프로그램 실행과 시스템 상태를 감시/감독
  • b) 작업 관리 프로그램(Job Control Program)
    - 스케줄 관리 및 시스템 자원 할당 담당
  • c) 데이터 관리 프로그램(Data Control Program)
    - 데이터 전송 및 파일 조작 관리

(2) 처리 프로그램

  • a) 서비스 프로그램(Service Program)
    - 사용 빈도가 높은 프로그램 포함
  • b) 문제 프로그램(Problem Program)
    - 특정 업무를 해결하기 위해 사용자가 작성한 프로그램
  • c) 언어 번역 프로그램(Language Translator Program)
    - 어셈블러, 컴파일러, 인터프리터 등

 

4. 운영체제

(1) 운영체제의 개념

  • 응용 프로그램이 하드웨어를 제어하여 실행될 수 있도록 관리하는 소프트웨어
  • 자원을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하게 사용할 수 있는 환경 제공

(2) 운영체제의 기능

  • 프로세스 관리, 메모리 관리, 파일 관리, 입출력 관리, 보조기억장치 관리, 네트워킹, 정보 보안 관리, 명령해석 시스템

(3) 운영체제 운용 기법 ⭐

    • a) 일괄 처리 시스템(Batch Processing System)
      - 여러 작업을 묶어서 한꺼번에 처리
    • b) 실시간 처리 시스템(Real-Time Processing System)
      - 요청 실행을 즉시 수행
    • c) 다중 프로그래밍 시스템(Multi-Programming System)
      - 하나의 작업이 입출력 중일 때 다른 작업을 처리
      - 하나의 CPU로 동시에 여러 프로그램이 실행되는 것처럼 보임
    • d) 시분할 시스템(Time Sharing System)
      - 정해진 시간 동안 작업 실행
    • e) 다중 처리 시스템( Multi-Processing System)
      - 여러 CPU를 이용해 동시에 여러 작업 처리
      - 병렬 처리 시스템(Parallel Processing System)이라고도 함
    • f) 다중 모드 시스템(Multi-Mode System)
      - 다양한 운용 기법을 혼합하여 사용
    • g) 분산 처리 시스템(Distribute Processing System)
      - 여러 독립된 시스템이 통신으로 연결되어 상호작용

(4) 운영체제 성능 평가 기준

  • a) 처리량(Throughput)
    - 일정 시간 내 처리하는 작업의 양
  • b) 반환시간(Turnaround Time)
    - 작업 요청부터 결과 반환까지 소요되는 시간
    - 대기시간 + 실행시간 + 응답시간
  • c) 신뢰도(Reliability)
    - 작업 결과의 정확도 및 신뢰성을 나타냄
  • d) 사용 가능도(Availiability)
    - 시스템의 즉시 사용 가능한 정도(가용성)
  • e) 확장성(Scalability)
    - 시스템이 증가하는 부하나 요구사항에 맞춰 적절히 확장되는 능력
  • f) 보안(Security)
    - 시스템이 외부 위협으로부터 보호하는 능력, 데이터의 기밀성, 무결성, 가용성을 유지하는 능력
  • g) 자원 활용도(Resource Utilization)
    - 시스템 자원이 얼마나 효과적으로 사용되는지 나타냄

 

5. 운영체제의 종류

(1) 윈도우(Windows)

  • a) 의미
    - 마이크로소프트사에서 개발한 운영체제
  • b) 특징
    - GUI 환경 제공
    - 선점형 멀티태스킹 방식 : 운영체제가 강력한 제어권을 가짐

(2) 리눅스(Linux)

  • a) 의미
    - 리누스 토발즈에 의해 개발된 오픈소스 유닉스 호환 운영체제
  • b) 특징
    - 다중 사용자 시스템 : 여러 사용자가 동시에 시스템에 접근하고 프로그램을 사용할 수 있음
    - C언어로 개발되어 다른 시스템으로의 이식 가능
    - 유닉스와 완벽하게 호환 가능

(3) 유닉스(Unix)

  • a) 의미
    - 켄 톰슨이 개발한 운영체제로, 어셈블리 언어로 개발되었으나 C언어로 다시 작성
  • b) 특징
    - 시분할 시스템 : 대화식 운영체제로, 시간을 분할하여 많은 프로그램이 동시에 수행
    - 파일 구조 : 트리 구조의 파일 시스템
  • c) 시스템의 구성
    구성 설명
    커널
    (Kernel)
    • UNIX의 가장 핵심적인 부분
    • 컴퓨터가 부팅될 때, 주기억장치에 적재된 후 상주하면서 실행
    다양한 시스템 관리 기능 실행

    (Shell)
    • 명령어 해석기
    사용자 명령어를 해석하여 프로그램을 호출하고 명령을 수행하는 인터페이스
    유틸리티 프로그램
    (Utility Program)
    • 일반 사용자가 작성한 응용 프로그램을 처리하는 데 사용
    • 에디터, 컴파일러, 인터프리터, 디버거 등
  • d) 파일 시스템의 구조
    특징 설명
    부트 블록 • 부팅 시 필요한 코드가 저장되는 블록
    슈퍼 블록 • 전체 파일 시스템에 대한 정보가 저장된 블록
    I-node 블록 • 각 파일이나 디렉터리에 대한 모든 정보가 저장된 블록
    데이터 블록 • 실제 파일 데이터(내용)가 저장된 블록
  • e) 파일 디스크립터(FD, File Descriptor)
    - 유닉스 시스템에서 프로세스가 파일에 접근할 때 사용하는 것으로 파일 제어 블록(File Control Block)이라고도 함
    - 파일에 대한 정보를 관리하는 것
    - 보조기억자치에 저장되어 있으며, 파일이 열리면 주기억장치로 이동
  • f) POSIX(Portable Operating System Interface)
    - 이식 가능한 운영체제 인터페이스

(4) MacOS

  • a) 의미
    - 애플이 개발한 유닉스 기반의 운영체제
  • b) 특징
    - macOS는 애플이 하드웨어에서만 공식적으로 구동될 수 있음

 

6. 운영체제별 파일 시스템

(1) 파일 시스템의 개념

  • 컴퓨터 시스템에서 데이터를 저장하고 검색하는 방법을 정의하는 데 사용되는 구조와 규칙의 집합

(2) 파일 시스템의 역할

  • 데이터 저장 구조화, 데이터 관리, 보안 및 접근 제어, 데이터 무결성 및 복구

(3) 운영체제별 파일 시스템

  • Windows : NTFS, FAT32
  • macOS : APFS, HFS+
  • Linux : Ext4, Btrfs
  • UNIX : UFS

 

7. Linux, Unix 파일 접근 권한 관리

(1) 필드별 의미

파일 접근 권한

(2) 권한별 값

구분 설명
R(Read) 4 읽기 권한
W(Write) 2 쓰기 권한
X(Execute) 1 실행 권한
- 0 권한 없음

(3) umask(접근 권한 마스크)

  • a) 의미
    - 새로 만들어질 파일 및 디렉터리에 대한 기본 권한 설정에서 제거될 권한을 명시
    - 기본적으로 파일은 666, 디렉터리는 777을 가지게 됨
  • b) 예시

    umask 022

    ① 새 파일 : 666(기본 권한) - 022(제거 권한)
         → 644 권한 (소유주 : 읽기, 쓰기 / 그룹 및 나머지 : 읽기)

    ② 새 디렉터리 : 777(기본 권한) - 022(제거 권한)
         → 755 권한 (소유주 : 읽기, 쓰기, 실행 / 그룹 및 나머지 : 읽기, 실행)

(4) 권한 및 소유주 변경

  • chmod 0751 file명 : 권한을 '751'로 변경
  • chown peazh file명 : 해당 파일의 소유주를 'peazh'로 변경

 

더보기

하드디스크에 프로그램을 설치하고 실행하면 ram(주기억장치)에 적재되는데, 이걸 프로세스라고 함

cpu가 프로세스 처리를 해주는데 이걸 프로세서 라고 함

정리하면 프로세스는 실행 중인 프로그램, 프로세서는 프로세스를 처리하는 것

 

자기가 알아서 생성하는 것

- 시스템 카탈로그 : DBMS가 데이터베이스 관리하기 위해 생성

- 파일 디스크립터 : 운영체제가 파일을 관리하기 위해 생성

- PCB(Process Control Block) : 운영체제가 프로세스(실행 중인 프로그램)를 관리하기 위해 생성, 문맥교환을 가능하게 함

* 문맥교환 : 작업을 전환하는 것으로, 카톡 하다 ppt 하는 것

 

참고자료

흥달쌤,  '흥!나게 합격 달성! 2024 정보처리기사 실기 클래스'
 

1억뷰 N잡

[1회 연장 포함] 흥!나게 합격 달성! 2024 정보처리기사 실기 클래스

www.njobler.net

반응형