정보처리기사

운영체제 -1

sejin2 2024. 6. 17. 13:57

기억장치의 종류

1) 레지스터 

  • 중앙처리장치 내부에 존재하는 기억장치로 접근 시간이 중앙처리장치의 처리 속도와 비슷함

2) 캐시 메모리

  • 중앙처리장치가 주기억장치에 접근할 때 속도 차이를 줄이기 위해 사용
  • 실행 중인 프로그램의 명령어와 데이터를 저장

3) 주기억장치

  • 중앙처리장치가 직접 데이터를 읽고 쓸 수 있는 장치
  • 종류
종류 설명
ROM(Read Only Memory) 읽기만 가능한 읽기 전용 메모리
비휘발성 메모리
RAM(Random Access Memory) 기억장소를 임의로 접근할 수 있는 메모리
읽고 쓰기가 가능한 휘발성 메모리

 

4) 보조기억장치

  • 주기억장치에 비해 접근 시간은 느리지만 기억 용량이 크다.
  • 종류 : HDD, SSD, CD, USB, 플로피 디스크 등

 

5) 연관 메모리

  • CPU가 찾고자하는 주기억장치 메모리가 캐시 메모리 어디에 있는지 빠르게 검색할 수 있게 사용하는 메모리
  • 주소에 의해 접근하지 않고, 기억된 내용의 일부를 이용하여 Access 할 수 있는 기억장치 

 

시스템 소프트웨어

응용 소프트웨어를 실행하기 위한  플랫퐁음 제공하고, 컴퓨터 하드웨어를 동작하고 접근한다.

 

종류

  • 로더 : 어떤 프로그램을 실행하기 위해 해당 목적 프로그램을 메모리에 적재하고 배치 주소를 옮기는 프로그램
  • 링커 : 프로그램 구현 시 목적파일을 실행파일로 변환해 주는 프로그램
  • 유틸리티 : 컴퓨터 하드웨어, 운영체제, 응용 소프트웨어를 관리하는 데 도움을 주는 프로그램
  • 번역기 ( 컴파일러, 어셈블러 ) : 특정 프로그래밍 언어로 쓰여 있는 문서를 다른 프로그래밍 언어로 옮기는 프로그램
  • 장치 드라이버 : 특정 하드웨어나 장치를 제어하기 위한 커널의 일부분으로 동작하는 프로그램
  • 운영체제 : CPU 메모리와 하드디스크 등의 하드웨어를 관리하는 등의 많은 일을 해주는 프로그램

구성

1) 제어 프로그램 😎

  • 감시 프로그램 : 각종 프로그램의 실행과 시스템 전체의 작동 상태를 감시/감독하는 프로그램
  • 작업관리 프로그램 : 연속 처리를 위한 스케줄 및 시스템 자원 할당 등 담당
  • 데이터 관리 프로그램 : 주기억/보조기억장치 사이의 자료전송, 파일의 조작 및 처리, 입출력 자료와 프로그램 간의 논리적 연결 등 처리할 수 있도록 관리

2) 처리 프로그램

  • 서비스 프로그램
  • 문제 프로그램
  • 언어 번역 프로그램

 

운영체제

응용프로그램이 실행되는 과정에서 하드웨어들을 제어하여 응용프로그램을 실행시키고 실행 결과를 보일 수 있도록 컴퓨터 내부 동작을 관리하는 소프트웨어

 

특징

  • 여러 프로그램을 같이 실행시키면서 서로 충돌 없이 실행되도록 프로그램 실행을 제어
  • 컴퓨터 하드웨어와 프로그램 사이의 인터페이스
  • 컴퓨터에서 발생할 수 있는 각종 오류나 예외상황을 감지하고 상위 계층에 보고
  • 컴퓨터 자원의 이용 현황에 대한 통계자료를 제공

종류

1) 윈도우

마이크로소프트사에서 개발한 운영체제

 

특징

  • GUI 제공 : 그래픽 사용자 인터페이스 제공
  • 선점형 멀티태스킹 방식 : 동시에 여러 개의 프로그램을 실행, 운영체제가 각 작업의 CPU 이용시간 제어 
  • 자동감지 기능 제공 : 하드웨어 설치 시 필요한 시스템 환경을 운영체제 자동 구성
  • OLE : 개체를 현재 작성 중인 문서에 삽입하여 편집할 수 있게 하는 기능 제공

2) 리눅스

1991년 리누스 토발즈에 의해 오픈소스로 개발된 유닉스 호환 OS

 

특징

  • 다중 사용자 시스템
  • 오픈 소스 
  • 파일 시스템
  • 이식성 / 유연성 / 확장성
  • 다양한 배포판

3) 유닉스 😎

1969년 벨 연구소가 개발한 공개형 오픈소스 운영체제 ( OS )로 대부분의 현대적 컴퓨터 운영 체제의 원형

 

특징

  • 시분할 시스템을 위해 설계된 대화식 운영체제
  • 대부분 C언어로 작성이 되어 있어 이식성이 높고, 장치 및 프로세스 간의 호환성이 높다.
  • 다양한 유틸리티 프로그램 존재
  • 다중 사용자, 다중 작업을 지원

유닉스 시스템의 구성

  • 커널
  • UNIX의 가장 핵심적인 부분
  • 컴퓨터가 부팅될 때, 주기억장치에 적재된 후 상주하면서 실행
  • 하드웨어를 보호하고, 프로그램과 하드웨어 간의 인터페이스 담당 역할
  • 명령어 해석기로 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어
  • 시스템과 사용자 간의 인터페이스 담당

유닉스 파일 시스템의 구조

구조 설명
부트블록 부팅 시 필요한 코드를 저장하고 있는 블록
슈퍼블록 전체 파일 시스템에 대한 정보를 저장하고 있는 블록
I-node 블록 각 파일이나 디렉터리에 대한 모든 정보를 저장하고 있는 블록
데이터 블록 실제 파일에 대한 데이터가 저장된 블록

 

FD ( File Descriptor ) 파일 디스크립터

  • 유닉스 시스템에서 프로세스가 파일들을 접근할 때 이용
  • 파일 제어 블록이라고도 한다. 
  • 파일 관리를 위해 세스템이 필요로 하는 정보를 가지고 있다.
  • 파일마다 독립적으로 존재하며, 시스템에 따라 다른 구조를 가질 수 있다. 
  • 사용자가 직접 참조할 수 없다. 

POSIX

  • 이식 가능한 운영체제 인터페이스 

유닉스의 주요 명령어

명령어 설명
ls 디렉토리의 파일 목록을 표시
cd 디렉토리 변경
mkdir 새 디렉토리 생성
rmdir 빈 디렉토리 삭제
mv 파일 또는 디렉토리 이동 또는 이름 변경
find 파일 및 디렉토리 검색
grep 파일 내에서 특정 문자열 검색
chmod 파일 또는 디렉토리의 권한 변경
chown 파일 또는 디렉토리의 소유자 변경
kill 프로세스 종료
pwd 현재 작업 중인 디렉토리 경로 출력

 

Linux, Unix 파일 접근 권한 관리

-rwxr-xr--
 |  |  |  |
 |  |  |  +--- 다른 사용자(other)의 권한
 |  |  +------ 그룹 소유자(group)의 권한
 |  +--------- 파일 소유자(owner)의 권한
 +------------ 파일 유형
- 파일 유형 (예: -는 일반 파일, d는 디렉토리)
r 읽기 권한 (read)
w 쓰기 권한 (write)
x 실행 권한 (execute)

 

chmod ( 권한 변경 )

  • 파일이나 디렉토리의 접근 권한을 변경하는데 사용
chmod 755 filename

 

umask ( 접근 권한 마스크 ) 

  • 새로 생성되는 파일이나 디렉토리의 기본 권한을 설정하는 데 사용
  • umask 값은 기본 권한에서 제외할 권한을 지정한다.
  • 기본 파일 권한은 666 (rw-rw-rw-)이고, 기본 디렉토리 권한은 777 (rwxrwxrwx)이다.
umask 022

 

chown ( 소유주 변경 ) 

  • 파일이나 디렉토리의 소유자와 그룹을 변경하는 데 사용
  • 소유자는 파일이나 디렉토리 소유권을 가지며, 그룹은 특정 사용자 그룹에 권한을 부여할 수 있다.
chown newowner filename

 

기억 장치 전략

보조기억장치의 프로그램이나 데이터를 주기억장치에 적재시키는 시기, 위치 등을 지정하여 한정된 주기억장치의 공간을 효율적으로 사용한다.

 

관리 전략

1) 반입 ( Fetch ) 전략

보조기억장치에 보관 중인 프로그램이나 데이터를 언제 주기억장치로 적재할 것인지를 결정하는 전략

요구 반입 실행 중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재하는 방법
예상 반입 실행 중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상하여 적재하는 방법

 

2) 배치 ( Placement ) 전략

새로 반입되는 프로그램이나 데이터를 주기억장치의 어디에 위치시킬 것인지를 결정하는 전략

최초 적합 ( Firtst Fit ) 프로그램이나 데이터가 들어갈 수 잇는 크기의 빈 영역 중에서 첫 번째 분할 영역에 배치
최적 적합 ( Best Fit ) 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 단편화가 가장 작은 분할 영역에 배치 
최악 적합 ( Worst Fit ) 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 단편화가 가장 큰분할 영역에 배치 

 

3) 교체 ( Replacement ) 전략

주기억장치의 모든 영역이 이미 사용 중인 상태에서 새로운 프로그램이나 데이터를 주기억장치에 배치하려고 할 때, 이미 사용되고 있는 영역 중에서 어느 영역을 교체하여 사용할 것인지를 결정하는 전략

 

주기억장치 할당 기법

1) 단일 분할 할당 기법

주기억장치의 사용 시 한 순간에는 오직 한 명의 사용자 만이 주기억장치의 사용자 영역을 사용하는 기법

가장 단순한 기법으로 초기의 운영체제에서 많이 사용했던 기법

주기억장치보다 큰 프로그램을 사용하기 위해 오버레이 기법과 스와핑 기법을 사용함

  • 오버레이 기법
    • 보조기억장치에 저장된 프로그램을 여러 개의 조각으로 분할한 후 필요한 조각을 차례로 주기억장치에 적재시켜 프로그램을 실행
  • 스와핑 기법
    • 하나의 프로그램 전체를 주기억장치에 할당하여 사용하다 필요에 따른 프로그램과 교체하는 기법

2) 다중 분할 할당 기법

  •  고정 분할 할당 기법
    • 주기억장치의 사용자 영역을 여러 개의 고정된 크기로 분할하고, 준비 상태 큐에서 준비 중인 프로그램을 각 영역에 할당하여 수행하는 기법
    • 내부 단편화 및 외부 단편화가 발생하여 주기억장치의 낭비가 많다. 
  • 가변 분할 할당 기법
    • 고정 분할 할당 기법의 단편화를 줄이기 위한 기법
    • 프로그램을 주기억장치에 적재하면서 필요한 만큼의 크기로 영역을 분할하는 기법
    • 주기억장치를 효율적으로 사용할 수 있으며, 다중 프로그래밍의 정도를 높일 수 있다.

 

단편화

주기억장치에 프로그램을 할당하고 반납하는 과정에서 발생하는 사용되지 않는 작은 조각 공간

 

종류

1) 내부 단편화

  • 주기억장치 공간이 프로그램보다 커서 프로그램의 사용 공간을 할당 후 사용되지 않고 남아있는 공간

2) 외부 단편화

  • 주기억장치 공간보다 프로그램이 커서 프로그램이 할당될 수 없어 사용되지 않고 남아있는 공간

단편화 계산

영역 분할 크기 작업 크기 단편화 크기
1 20K 10K 내부 : 10K
2 50K 60K 외부 : 50K
3 120K 160K 외부 : 120K
4 200K 100K 내부 : 100K

 

단편화 해결 방법

1) 통합 ( Coalescing ) 기법

  • 인접해 있다면 두 개의 분할 공간을 하나로 통합하여 효율성을 높이는 작업

2) 압축 ( Compaction ) 기법

  • 주기억장치 내 분산되어 있는 단편화 공간들을 통합하여 하나의 커다란 빈 공간을 만드는 작업
  • 가비지 컬렉션 작업이라고도 함

3) 재배치 ( Relocation ) 기법

  • 압축을 실행하여  이 과정에서 프로그램의 주소를 새롭게 지정해주는 기법

 

'정보처리기사' 카테고리의 다른 글

모의고사 -2  (0) 2024.06.18
모의고사 -1  (0) 2024.06.18
데이터베이스 구축-4  (2) 2024.06.14
데이터베이스 구축-3  (1) 2024.06.13
데이터베이스 구축-2  (0) 2024.06.13