YUNA's Programming
DAY 2 운영체제의 기능과 서비스 본문
OS의 기능
1. 자원 관리 기능
; 메모리, 프로세스, 주변장치 및 파일을 관리
1 - 1 메모리 관리
; 메인 메모리(주기억장치) 관리
- 메모리의 어느 부분을 사용하고, 누가 사용하는지 점검
- 메모리에 저장할 프로세스 결정
- 메모리를 할당하고 회수하는 방법 결정
; 보조기억장치 관리
- 빈 여유 공간 관리
- 새로운 파일 작성 시 저장 장소 할당
- 메모리 접근 요청 스케줄링
- 파일 생성하고 삭제
1 - 2 프로세스 관리
; 하나의 프로세스는 프로세서, 메모리, 파일, I/O장치와 같은 자원으로 구성
; 자원은 프로세스 생성할 때 제공하거나 실행 중에도 할당 가능
; 프로세스 관리를 위한 운형체제의 기능
- 프로세스와 스레드 스케쥴링
- 사용자 프로세스와 시스템 프로세스 생성 및 제거
- 프로세스 중지 및 재수행
- 프로세스 동기화 방법 제공
- 프로세스 통신 방법 제공
- 교착 상태(Deadlock)를 방지하는 방법을 제공
1 - 3 입출력 관리
; 특수 프로그램인 장치 드라이브를 사용하여 I/O장치와 상호작용
; 장치 드라이버는 특정 하드웨어장치와 통신할 수 있는 인터페이스를 제공하므로 특정 하드웨어에 종속된 프로그램
; 주변장치(I/O장치) 관리를 위한 운영체제의 기능
- 임시 저장 buffer-caching 시스템 기능 제공
- 일반 장치용 드라이버 인터페이스 제공
- 특정 장치 드라이버 제공
1 - 4 파일 관리
; 입출력 파일의 위치, 저장, 검색 관리 의미
; 컴퓨터 시스템은 물리적으로 다양한 형태로 파일 저장 가능
; 운영체제는 데이터의 효율적 사용을 위해 단일화된 저장 형태 제공
; 운영체제는 파일의 용이한 사용을 위해 보통 디렉터리로 구성, 다수의 사용자가 여기에 접근하려고 할 때는 이 접근을 제어
; 파일 관리를 위한 운영체제의 기능
- 파일 생성, 삭제
- 디텍터리 생성, 삭제
- 보조기억장치의 파일 맵핑
- 안전한(비휘발성) 저장장치에 파일 저장
2. 시스템 보호 기능
; 컴퓨터 자원에서 프로그램, 프로세스, 사용자의 접근 제어 방법
; 운영체제는 파일 사용 권한 부여, 데이터 암호화 등 서비스를 제공하여 데이터와 시스템 보안
3. 네트워크 (통신 기능)
; 프로세서는 다양한 방법으로 구성된 네트워크 이용, 완전 접속과 부분 접속 방법으로 연결
; 연결된 프로세서가 통신을 할 때는 경로 설정, 접속 정책, 충돌, 보안 등을 고려함 (운영체제가 관리)
OS 서비스
;부팅/부트스트래핑, 사용자 서비스, 시스템서비스, 시스템 호출 서비스
1. 부팅(Booting) / 부트스트래핑(Bootstrapping)
; 운영체제를 메인 메모리에 적재하는 과정
; 부트 로더는 부트스트랩 로더 (Bootstrap loader) 줄인 말로, 하드디스크와 같은 보조기억장치에 저장된 운영체제를 메인 메모리에 적재하는 ROM에 고정시킨 소규모 프로그램
2. 사용자 서비스 제공
;사용자 인터페이스, 메뉴 인터페이스, GUI, 프로그램 실행, 입출력 동작 수행, 파일시스템 조작, 통신(네트워크), 오류탐지
2 - 1 사용자 인터페이스
; 사용자와 컴퓨터 간의 상호작용 발생 공간 (CLI, 메뉴, GUI 등 구현)
; CLI (Command Line Interface, 명령 라인 인터페이스)
; 사용자가 키보드 등으로 명령어 입력하여 시스템에서 응답 받은 후, 또 다른 명령어를 입력하여 시스템을 동작하게 하는 텍스트 전용 인터페이스
2 - 2 메뉴 인터페이스
; 메뉴 등을 사용하여 시스템과 상호적용
; 배우거나 기억해야 할 명령 없음
2 - 3 GUI (Graphical User Interface, 그래픽 사용자 인터페이스)
; 윈도우 환경에서 사용자에게 정보와 작업을 표현하는 텍스트, 레이블이나 텍스트 탐색과 함께 그래픽 아이콘과 시각적 표시기, 버튼이나 스크롤바와 같은 위젯(Widget) 그래픽 제어 요소를 사용
2 - 4 프로그램 실행
; 프로그램 실행하려면 먼저 메모리에 적재, 프로세서 시간 할당
; 운영체제는 프로그램을 실행하려고 메모리 할당이나 해제, 스케쥴링 등 중요 작업 처리
2 - 5 입출력 동작 수행
; 운영체제는 입출력 동작 직접 수행할 수 없는 사용자 프로그램의 입출력 동작 방법 제공
2 - 6 파일 시스템 조작
; 사용자는 디스크에서 파일 열고, 저장, 삭제하는 등 다양하게 파일 조작
2 - 7 통신 (네트워크)
; 프로세스가 다른 프로세스와 정보를 교환 하는 방법
; 동일한 컴퓨터에서 수행하는 프로세스 간의 정보 교환
; 두번째는 네트워크로 연결된 컴퓨터 시스템에서 수행하는 프로세스 간의 정보 교환
2 - 8 오류탐지
; 운영체제는 가능한 모든 하드웨어와 소프트웨어 수준에서 오류 탐지, 시스템 모니터링하여 조정함으로써 하드웨어 문제 예방
; I/O장치에 관련된 오류와 메모리 오버 플로, 하드디스크의 불량 섹터 검출, 부적당한 메모리 접근과 데이터 손상 등
; 운영체제는 다음 오류 유형을 감지한 후 유형별로 적절히 조치
3. 시스템 서비스 제공
; 자원할당, 계정, 보호와 보안
3 - 1 자원 할당
; 운영체제는 다수의 사용자나 작업 동시 실행 시 운영체제가 자원을 각각 할당하도록 관리
; 프로레서 사이클, 메인 메모리, 파일 저장장치 등은 특수한 할당코드를 갖지만, I/O장치 등 더 일반적인 요청과 해제 코드 가질 수 있음
3 - 2 계정
; 운영체제는 각 사용자가 어떤 컴퓨터 자원을 얼마나 많이 사용하는지 정보 저장 추적
; 이 정보는 사용자 서비스 개선을 위해 시스템 재구성하는 연구자에게 귀중한 도구가 됨
3 - 3 보호와 보안
; 운영체제는 다중 사용자 컴퓨터 시스템에 저장된 정보 소유자의 사용을 제한
; 서로 관련이 없는 여러 작업을 동시에 수행할 때는 한 작업이 다른 작업이나 운영체제를 방해하지 못하게 해야 함
; 보호 - 시스템 호출 하려고 전달한 모든 매개변수의 타당성을 검사하고, 시스템 자원에 모든 사용자 접근을 제어하도록 보장하는 것
; 보안 - 잘못된 접근 시도에서 외부 I/O장치 방어, 외부에 사용자 인증을 요구하는 것
4. 시스템 호출 서비스
;운영체제가 제공하는 일반적인 시스템 호출 - 프로세스 제어, 파일조작, 장치관리, 정보유지 등
; 실행중인 프로그램과 운영체제 간의 인터페이스, API (Application Programming Interfaces)라고도 함
; 사용자 프로그램은 시스템 호출을 하여 운영체제의 기능 제공 받음
; 핵심 커널 서비스와 통신, 새로운 프로세스의 생성과 실행, 하드웨어 관련 서비스 등이 있음
; 시스템과 상호 작용하는 동작은 대개 사용자 수준 프로세스에서는 사용할 수 없으나, 시스템 호출을 하여 운영체제에 서비스를 요청할 수 있음
;시스템 호출 방법 - 프로그램에서 명령이나 서브루틴의 호출 형태로 호출 / 시스템에서 명령 해석기를 사용하여 대화 형태로 호출
OS의 미래
사람 같은 인공지능 OS, 미래 아닌 현재형
; OS가 기존의 단순 정보전달 차원에서 벗어나, 문제 해결능력을 갖추는 단계까지 이르렀음
ex) 아멜리아는 새로운 인공지는 접근법인 '인지 컴퓨팅 (Cognitive computing)'을 적용한 시스템
- 인지 컴퓨팅의 가장 큰 특징은 학습이 가능한 기계라는 것
구글 OS 푸크시아
; 임베디드 시스템을 위한 OS로 개발 되다가, 태블릿과 스마트폰은 물론, 사물인터넷 및 ATM기, 심지어 신호등을 비롯한 일상의 기기에도 적용이 가능함.
스마트카 OS
; 차가 내비게이션, 전화, 메시지, 오디오, 영상, 게임 등 다양한 IT 서비스가 가능한 공간으로 발전함
; 바퀴 달린 거대한 스마트폰으로 진화함
; 자동차에 탑재되는 OS는 운전자가 길 안내와 음악 감상 등을 편리하게 이용하고 보다 안전하게 운전할 수 있는 환경을 만드는 데 집중하고 있음
; 주요 IT업체의 자동차OS
- Apple 'CarPlay'
- Google 'Android Auto'
- MS 'Window In The Car'
- 현대차는 커넥티드카에 최적화된 독자적인 차량용 운영체제 'ccOS (Connected car Operating System)'을 개발 중
'Computer Engeering > OS' 카테고리의 다른 글
DAY 4 스레드의 개념 (0) | 2023.03.23 |
---|---|
DAY 3 프로세스의 개념 (0) | 2023.03.23 |
DAY 1 운영체제 개요 (0) | 2023.03.18 |