전공 수업 내용 정리 (문제 발생시 비공개합니다.)
운영 체제 (Operating System)
운영 체제는 컴퓨터 하드웨어와 응용 프로그램을 연결하는 프로그램으로,
시스템 리소스를 동적으로 관리하고, 메모리 및 프로세스 스케줄링과 같은 작업을 수행합니다.
운영 체제의 주요 목표
- 편리성: 사용자가 시스템을 쉽게 사용할 수 있도록 함.
- 효율성: 시스템 자원을 최대한 활용.
- 발전성: 새로운 하드웨어 및 서비스에 적응할 수 있는 능력.
운영 체제의 역할
- 사용자와 컴퓨터 간 인터페이스 제공
- 프로그램 생성, 파일 관리, I/O 장치 제어를 지원.
- 프로그래머로부터 하드웨어 세부 정보를 마스킹.
- 자원 관리자로서의 역할
- 데이터 이동, 저장, 처리 등을 위한 자원을 관리.
- CPU 및 기타 시스템 리소스의 사용 타이밍을 조율.
운영 체제의 진화
운영 체제는 새로운 하드웨어, 서비스 및 수정의 필요성에 따라 발전했습니다.
초기에는 하드웨어 의존적이었지만 점차 모듈화되고 구조화된 형태로 변형되었습니다.
주요 단계
- 순차 처리(Serial Processing)
- 1940~50년대: OS가 없던 시기
- 작업 전환은 수동으로 수행
- 문제점: 높은 준비 시간, 스케줄링 시간의 비효율성.
- 단순 일괄처리 시스템(Simple Batch Systems)
- 1960년대 초반: 유사 작업의 일괄 처리로 설정 시간 단축
- 주요 기능: 작업 제어 언어(JCL), 메모리/I/O 보호, 듀얼 모드 시스템.
- 문제점: 느린 I/O 장치 속도와 CPU 유휴 시간.
- 멀티 배치 시스템(Multiprogrammed Batch Systems)
- 1960년대 중반: 멀티프로그래밍 개념 도입으로 CPU 활용도 향상.
- 주요 하드웨어 요구사항: 재배치, 메모리 보호, MMU(Memory Management Unit).
- 시분할 시스템(Time Sharing Systems)
- 1960년대 후반: 여러 사용자가 동시에 컴퓨터를 사용 가능.
- 주요 특징: 대화형 환경, 시간 조각(Time Slice) 할당, 선점형 스케줄링.
- 주요 예: CTSS, MULTICS, UNIX
프로세스 (Process)
- 실행 중인 프로그램.
- OS가 프로세스를 관리하며, 각 프로세스는 다음 세 가지 구성 요소로 이루어짐:
- 수행 중인 프로그램.
- 관련 데이터.
- 실행 문맥(Execution Context).
스케줄링과 자원 관리의 주요 요소
- 공정성: 모든 프로세스가 공정하게 리소스를 사용
- 효율성: 시스템 자원을 최대한 활용
- 반응성: 사용자 요청에 빠르게 응답
동기화 (Synchronization)
- 프로그램 간 간섭을 방지하고 교착 상태를 해결하기 위한 메커니즘.
메모리 관리와 보호
- 프로세스 간 자원을 안전하게 공유하기 위한 메커니즘
- 시스템 콜(System Call)을 통해 사용자 모드에서 커널 모드로 전환
시스템 콜 (System Call)
- 프로세스가 커널 서비스를 요청하는 메커니즘
- 주요 이유: 시스템 자원 보호 및 안정성
파라미터 전달 방법
- 레지스터를 통한 전달
- 메모리 블록에 저장 후 해당 주소를 전달
- 스택을 이용한 전달
System Call과 관련된 메서드들
파라미터 전달 방식
- 레지스터: 레지스터를 통해 파라미터를 넘겨주는 방식.
- 메모리 블록: 파라미터를 메모리 블록에 저장하고, 해당 블록의 주소를 레지스터로 전달.
- 스택: 파라미터를 스택에
push
하거나pop
하여 전달. - 메모리 블록과 스택 메서드는 전달되는 파라미터의 길이와 개수에 제약이 없음.
프로세스
스케줄링
- 공정성과 효율성을 극대화하기 위한 다양한 알고리즘 적용.
인터프로세스 커뮤니케이션(IPC)
- 프로세스 간 데이터 교환 및 동기화 메커니즘 제공
파일 시스템
- 데이터를 효율적으로 저장, 관리하기 위한 구조적 방식
소켓
- 네트워크를 통해 프로세스 간 통신을 지원하는 인터페이스
'CS > OS' 카테고리의 다른 글
[운영체제] 프로세스 관리 (0) | 2025.01.28 |
---|---|
[운영체제] 프로세스 (0) | 2025.01.28 |
[운영체제] 메모리 (0) | 2025.01.28 |
[운영체제] virtual box에서 ubuntu 설치 및 터미널 명령어 실행하기 (0) | 2023.07.09 |
운영체제 - 생산자 소비자 문제 semaphore을 활용하여 해결하기 (0) | 2023.05.31 |