[정처기 실기] 「3」 | 운영체제 - (3.1) 운영체제(1)

728x90

[정처기 실기] 3」 | 운영체제 - (3.1) 운영체제(1)

「1」 소프트웨어 구축

「2」 데이터베이스 구축

> 「3운영체제

「4 네트워크

「5정보보안

「6」 신기술 용어

 

> 1. 운영체제

1. 운영체제

운영체제 기초

기억장치

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

○ 기억장치의 종류

  - 레지스터 : 중앙처리장치(CPU) 내부에 위치, 메모리 중 가장 빠른 속도

  - 캐시 메모리 : SRAM을 이용하여 CPU와 주기억장치 사이의 속도 격차를 줄이기 위해 사용, 캐시 적중률 ↑ 처리속도 ↑

  - 가상 메모리 : 보조기억장치를 주기억장치처럼 사용, 큰 프로그램 실행 가능, 매핑 방식 필요

  - 플래시 메모리 : MP3, 디지털카메라 등에 사용되는 EEPROM, 비휘발성

  - 버퍼 메모리 : 데이터를 일시적으로 저장해 두 장치 간 데이터 전송 속도 차이 해결

  - 주기억장치 : CPU가 직접 접근하여 데이터 읽고 쓸 수 있는 장치

    : RAM - 휘발성, 실행 중인 프로그램 저장

      . SRAM(정적) : 속도 빠름, 집적도 낮음, 전력소모 많음, 재충전 불필요, 용도 캐시

      . DRAM(동적) : 속도 느림, 집적도 높음, 전력소모 적음, 재충전 필요, 용도 주기억

    : ROM - 비휘발성, CMOS SETUP으로 값 수정, HW / SW 중간의 펌웨어, 업데이트만으로 성능 향상,

                부팅 시 먼저 동작하여 자체진단(POST) 실행, BIOS에 전원관리 / 시스템 암호(Windows 암호 X) / PnP 정보

      . Mask ROM : 제조과정에서 저장된 ROM, 임의 수정 불가

      . PROM : 한 번에 기록 가능, 이후 읽기만 가능

      . EPROM : 자외선 신호를 이용한 ROM

      . EEPROM : 전기 신호를 이용한 ROM(플래시 메모리), BIOS ROM으로 활용 / 업데이트 가능

  - 연관 메모리 : 기억된 내용의 일부를 이용하여 접근할 수 있는 기억장치, 매핑 방식, 주소가 아닌 내용을 참조

  - 보조기억장치 : 주기억장치에 비해 접근 시간은 느리지만, 기억 용량은 큼

  - SSD : 기계적인 움직임이 없는 반도체 기반의 저장 장치

  => 처리 속도 : 레지스터 > 캐시 메모리 > 주기억장치 > 보조기억장치

 

시스템 소프트웨어

○ 응용 소프트웨어를 실행하기 위한 플랫폼 제공

○ 종류

  - 로더 : 프로그램을 메모리에 적재

  - 링커 : 목적 파일을 실행 파일로 변환

  - 유틸리티 : 하드웨어, 운영체제, 응용 소프트웨어 관리를 지원

  - 번역기 : 프로그래밍 언어를 다른 언어로 변환

  - 장치 드라이버 : 특정 하드웨어나 장치를 제어

  - 운영체제 : 하드웨어 관리와 통신 등 다양한 기능을 제공

○ 시스템 소프트웨어의 구성

  - 제어 프로그램

    : 감시 프로그램 - 프로그램 실행과 시스템 상태를 감시 / 감독

    : 작업관리 프로그램 - 스케줄 관리 / 시스템 자원 할당을 담당

    : 데이터 관리 프로그램 - 데이터 전송 / 파일 조작을 관리

  - 처리 프로그램

    : 서비스 프로그램 - 사용 빈도가 높은 프로그램

    : 문제 프로그램 - 특정 업무를 해결하기 위한 프로그램

    : 언어 번역 프로그램 - 어셈블러, 컴파일러, 인터프리터

 

운영체제

응용 프로그램이 하드웨어를 제어하여 실행될 수 있도록 관리하는 소프트웨어

○ 운영체제의 기능

  - 프로세스 관리

  - 메모리 관리

  - 파일 관리

  - 입출력 관리

  - 보조기억장치 관리

  - 네트워킹

  - 정보 보안 관리

  - 명령해석 시스템

○ 운영체제 운용 기법

  - 일괄 처리 시스템(Batch Processing)

  - 실시간 처리 시스템(Real-Time Processing)

  - 다중 프로그래밍 시스템(Multi-Programming)

  - 시분할 시스템(Time Sharing)

  - 다중 처리 시스템(Multi-Processing System)

  - 다중 모드 시스템(Multi-Mode)

  - 분산 처리 시스템(Distribute Processing)

○ 운영체제 성능 평가 기준

  - 처리량(Throughput)

  - 반환시간(Turnaround Time)

  - 신뢰도(Reliability)

  - 사용 가능도(Availability)

  - 확장성(Scalability)

  - 보안(Security)

  - 자원 활용도(Resource Utilization)

 

운영체제의 종류

○ 윈도우(Windows)

  - 마이크로소프트사에서 개발한 운영체제, MS-DOS에 멀티태스킹 기능과 GUI 환경 제공

  - GUI 제공, 선점형 멀티태스킹 방식, 자동감지 기능 제공, OLE

○ 리눅스(Linux)

  - 1991년 리누스 토발즈에 의해 개발된 오픈소스 유닉스 호환 운영체제

  - 다중 사용자 시스템, 오픈 소스, 파일 시스템(EXT), 이식성 / 유연성 / 확장성, 다양한 배포판 존재

유닉스(Unix)

  - 유닉스의 개요

    : 1969년 미국 AT&T 벨연구소에서 켄 톰슨이 개발한 운영체제, 커널 / 쉘로 구성

    : 시분할 시스템, 이식성, 다중 사용자 / 작업 지원, 네트워킹, 파일 시스템, 개발 용이성, 다양한 유틸리티 프로그램

  - Unix 시스템의 구성

    : 커널(Kernel) - Unix의 가장 핵심적인 부분, 하드웨어 보호, 프로그램 / 하드웨어 간 인터페이스 역할

    : 쉘(Shell) - 명령어 해석기, 초기화 파일을 이용하여 사용자 환경 설정, 시스템 / 사용자 간 인터페이스 역할

    : 유틸리티 프로그램 - 에디터, 컴파일러, 인터프리터, 디버거

  - Unix 파일 시스템

    : Unix 파일 시스템의 구조

      . 부트 블록 : 부팅 시 필요한 코드가 저장

      . 슈퍼 블록 : 전체 파일 시스템에 대한 정보가 저장

      . I-node 블록 : 파일이나 디렉터리에 대한 모든 정보가 저장

      . 데이터 블록 : 실제 파일 데이터가 저장

  - 파일 디스크립터(FD, File Descriptor) : 유닉스 시스템에서 프로세스가 파일에 접근할 때 사용

  - POSIX(Portable Operating System Interface) : 이식 가능한 운영체제 인터페이스

○ MacOS / IOS

  - 애플이 개발한 유닉스 기반의 운영체제

○ Android

  - 구글이 리눅스 커널 기반으로 개발한 개방형 모바일 운영체제

 

운영체제별 파일 시스템

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

○ 운영체제별 파일 시스템

  - Windows : NTFS, FAT32

  - MacOS : APFS, HFS+

  - Linux : Ext4, Btrfs

  - Unix : UFS

 

운영체제의 명령어

○ Unix 주요 명령어

  - access : 파일 접근 가능 여부 결정

  - chmod : 접근권한 변경

  - close : FCB 닫기

  - chgrp : 파일의 그룹 변경

  - chown : 파일의 소유자 변경

  - chdir : 디렉터리 변경

  - mkdir : 디렉터리 생성

  - rmdir : 디렉터리 삭제

  - mount : 다른 파일 시스템 연결

  - umount : 파일 시스템 제거

  - exit : 프로세스 종료

  - kill : 프로세스 제거

  - fork : 프로세스 생성

  - getpid : 자신의 프로세스 정보

  - getppid : 부모의 프로세스 ID

  - sleep : 일정시간 중단

  - uname : 운영체제의 버전

  - ps : 프로세스 상태 출력

  - exec : 프로그램 실행

  - vi : 명령 편집기 

  - cat : 파일의 내용을 화면에 출력

  - rm : 파일 삭제 

  - cp : 파일 복사

  - mv : 파일 이동

  - grep : 검색

  - ls : 파일목록 확인

  - du : 파일의 용량 출력

  - finger : 사용자 정보

○ Linux, Unix 파일 접근 권한 관리

  - 필드별 의미 : - rwx rw- r-- | File or Folder or link, Owner, Group, Other

 

메모리 관리

기억장치 관리 전략

○ 보조기억장치에 저장된 프로그램이나 데이터를 주기억장치에 언제, 어디에 적재할지를 결정하는 방법

○ 기억장치 관리 전략

  - 반입(Fetch) 전략 : 언제 주기억장치로 적재할 것인지를 결정하는 전략

    : 요구반입, 예상반입

  - 배치(Placement) 전략 : 주기억장치의 어디에 위치시킬 것인지를 결정하는 전략

    : 최초 적합(First Fit), 최적 적합(Best Fit), 최악 적합(Worst Fit)

  - 교체(Replacement) 전략 : 새로운 프로그램이나 데이터를 위해 어떤 영역을 교체할지 결정하는 전략

    : FIFO, OPT, LRU, LFU, NUR, SCR

 

주기억장치 할당 기법

○ 단일 분할 할당 기법 : 경계 레지스터를 사용해 운영체제 영역과 사용자 영역을 구분

  - 오버레이(Overlay) : 필요한 조각만을 순서대로 주기억장치에 적재

  - 스와핑(Swapping) : 필요에 따라 다른 프로그램과 교체하는 기법

○ 다중 분할 할당 기법 : 주기억장치를 여러 영역으로 나누어 프로그램을 할당

  - 고정 분할 기법, 가변 분할 기법

 

단편화

○ 주기억장치에 프로그램 할당과 반납 과정에서 발생하는 빈 공간

단편화의 종류

  - 내부 단편화

  - 외부 단편화

○ 단편화 해결 방법

  - 통합(Coalescing) 기법 : 인접한 빈 분할 공간을 합침

  - 압축(Compaction) 기법 : 분산된 여러 단편화된 공간들을 합침

  - 재배치 기법(Relocation) : 프로그램의 주소를 새롭게 지정해 주는 기법

 

가상기억장치

가상기억장치

보조기억장치(하드디스크)의 일부를 주기억장치처럼 사용하는 기법

○ 블록 분할 방법

  - 페이징(Paging) 기법 : 같은 크기의 블록(페이지)으로 편성하여 운용하는 기법, 내부 단편화

    : 페이지 크기 ↓ - 맵 테이블 크기 ↑, 매핑 속도 ↓, 입출력 시간 ↑, 단편화 ↓, 이동시간 ↓, 워킹 셋 유지

    : 페이지 크기 ↑ - 맵 테이블 크기 ↓, 매핑 속도 ↑, 입출력 시간 ↓, 단편화 ↑, 이동시간 ↑, 불필요 데이터 적재

  - 세그멘테이션(Segmentation) 기법 : 크기가 다른 세그먼트로 분할하고 메모리를 할당, 외부 단편화

 

가상기억장치 기타 관리사항

○ 페이지 부재 : 프로세스 실행 중 필요한 페이지가 주기억장치에 없는 상황

지역성(Locality) : 프로세스가 실행되는 동안 주기억장치에서 일부 페이지만 집중적으로 참조하는 성질

  - 시간 구역성 : Loop(반복), Stack(스택), 부 프로그램(Sub Routine)

  - 공간 구역성 : 배열 순회, 순차적 코드 실행

○ 워킹 셋(Working Set) : 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합

○ 스래싱(Thrashing) : 프로세스 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상

  - 방지 방법 : 다중 프로그래밍 적정 수준 유지, 일부 프로세스 중단, 페이지 부재 빈도 조절, 워킹 셋 유지

 

페이지 교체 알고리즘

FIFO(First In First Out) : 가장 먼저 적재된 페이지를 교체

OPT(Optimal replacement, 최적 교체) : 미래에 가장 오랫동안 사용되지 않을 페이지를 교체

LRU(Least Recently Used) : 가장 오랫동안 사용되지 않은 페이지를 교체

LFU(Least Frequently Used) : 사용 빈도가 가장 적은 페이지를 교체

NUR(Not Used Recently) : 참조 비트와 변형 비트를 사용하여 최근 사용 여부를 확인

SCR(Second Chance Replacement) : FIFO의 단점을 보완한 기법

 

 

 

 

 

 

 

 

출처 | 흥달쌤

728x90