728x90
운영체제
제한된 컴퓨터 하드웨어 자원을 효율적으로 관리하여 사용자나 응용 프로그램에게 컴퓨터 자원의 인터페이스를 제공하는 시스템 소프트웨어, 컴퓨터 자원을 제어하고 사용정책을 구현하여 사용자에게 스케쥴링을 통해 자원 할당
- 추상화
- 가상화
- 관리화
운영체제의 주요 기능
1. 프로세스 관리
- 사용자 프로세스와 시스템 프로세스의 생성과 폐기
- 프로세스의 중지와 재수행
- 프로세스 통신과 동기화를 위한 기법 제공
- 교착상태 방지를 위한 기법 제공
2. 주기억장치 관리
- 기억장치를 사용하고 있는 공간과 사용자를 추적 관리
- 기억공간을 점유할 프로세스 결정
- 기억공간을 할당하고 회수
3. 파일 관리
- 파일의 생성과 폐기
- 디렉토리 생성 및 폐기
- 파일과 디렉토리 관리를 위한 프리미티브 제공
- 보조 기억장치에 있는 파일을 운영체제가 이용할 수 있도록 매핑
- 비휘발성 저장 매체에 파일을 저장
4. 입출력 시스템 관리
- 마우스, 키보드, 프린터, 모니터, 스피커 등 입출력 장치 관리
5. 보조 기억장치 관리
- 비어 있는 공간 관리
- 저장 장소 할당
- 디스크 스케줄링
6. 네트워킹
- 분산되어 있는 컴퓨터 시스템을 하나의 시스템으로 만들어 계산속도 증가, 자료 공유, 신뢰성 강화
7. 명령 해석기 시스템
- Shell에서 사용자가 입력한 명령문 수행
프로세스의 상태
- 생성 : 프로세스가 생성되었으나 아직 운영체제에 의해 실행 가능하게 되지 못한 상태
- 준비 : 프로세스가 실행을 위해 CPU를 할당 받기를 기다리는 상태
- 실행 : 프로세스가 CPU를 차지하고 있는 상태
- 대기 : 프로세스가 CPU를 할당 받아 실행되다가 입/출력 완료 등과 같은 어떤 사건이 발생해 주기를 기다리고 있는 상태
- 종료 : 프로세스의 실행이 끝나고 CPU 할당이 해제된 상태
프로세스 제어 블록(PCB)
운영체제가 프로세스 관리를 위해 필요한 정보를 저장하는 것, 프로세스가 생성될 때마다 고유의 PCB가 생성되고 프로세스가 완료되면 제거됨
프로세스 관리를 위한 기법
1. 프로세스 생성 - fort()
프로세스는 병행 수행될 수 있어야 하며, 동적으로 생성 제거될 수 있음
2. 프로세스 종료 - exit()
운영체제는 삭제되는 프로세스에 할당된 모든 자원을 회수
스레드( Thread)
- 중앙처리장치(CPU)를 사용하는 기본 단위, 경량 프로세스라고도 함
- 코드, 데이터, 파일 같은 기억장치를 공유하고 자신만의 레지스터와 스택을 생성함
- 준비 - 블록 - 수행 - 종료의 상태로 동작
멀티스레드
여러 개의 스레드가 존재하면 멀티 스레드 프로세스라고 함. 중앙처리장치는 한순간에 오직 하나의 스레드만 점유할 수 있음
기억장치 관리기법
1. 기억장치 할당 기법
- 최초 적합
- 최적 적합
- 최악 적합
2. 단편화 문제
- 내부 단편화
- 외부 단편화
3. 단편화 문제 해결 방법
- 압축 기법 - 작은 크기의 사용 메모리 합병하는 방법, 구현이 복잡하고 소요시간이 오래 걸리는 과부하로 잘 사용 안함
- 통합 기법 - 사용되지 않고 빈공간 리스트에서 주소가 인접해 있는 공간을 통합하여 더 큰 공간을 만드는 방법
728x90
'CS' 카테고리의 다른 글
[CS / TOPCIT] 데이터 처리 기술 (0) | 2023.05.09 |
---|---|
[CS / TOPCIT] 컴퓨터의 구조 (0) | 2023.05.09 |
[CS / TOPCIT] 시스템아키텍처와 네트워크 (0) | 2023.05.09 |
[CS / TOPCIT] 인공지능 (0) | 2023.05.08 |
[CS / TOPCIT] 빅데이터, NoSQL (0) | 2023.05.08 |