정보처리기사
[정보처리기사실기] 기억장치 / 시스템 소프트웨어 / 운영 체제 / 파일 접근 권한
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, EEPROMRAM
(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
반응형