일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- Linux
- 목록
- JAVA11
- codingtest
- gradle
- java
- programmers
- springboot
- css
- 로그인
- 리눅스
- 반복문
- javascript
- 시큐리티 로그인
- 소스트리
- html
- 코딩테스트
- Spring boot
- sql
- 프로그래머스
- 스프링 부트
- StyleSheet
- 2차원배열
- 싱글톤
- 시큐리티로그인
- security
- input태그
- springSecurity
- 시큐리티 로그아웃
- 시큐리티
Archives
- Today
- Total
JAVAIARY
운영체제(Operating System) 본문
1. 운영체제의 개념
1) 운영체제의 개념
- 컴퓨터 시스템의 자원들을 효율적으로 관리하며,
사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임 - 컴퓨터 사용자와 하드웨어간의 인터페이스로 동작하는 시스템 소프트웨어의 일종
- 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경 제공
- 프로세스, 기억장치, 주변장치, 파일 등의 관리 기능
- 종류 : Windows, UNIX, LINUX, MacOS, MS-DOS
2) 운영체제의 목적
처리 능력(Throughput) | 일정 시간 내에 시스템이 처리하는 일의 양 |
반환 시간(Turn Around Time) | 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간 |
사용 가능도(Availabilty) | 시스템을 사용할 필요가 있을 때 즉시 사용한 정도 |
신뢰도(Reliability) | 시스템이 주어진 문제를 정확하게 해결하는 정도 |
3) 운영체제의 기능
- 프로세서(Processor), 기억장치(주기억장치, 보조기억장치), 입출력장치, 파일 및 정보등의 자원 관리
- 자원 스케줄링 기능 : 자원을 효율적으로 관리하기 위해
- 인터페이스 제공
- 시스템의 하드웨어/ 네트워크를 관리.제어함
- 데이터 관리, 데이터 및 자원의 공유 기능 제공
2. 운영체제의 종류
- Windows
- 1990년대 MS 사가 개발한 운영체제
- GUI (Graphic User Interface)
키보드로 명령어를 직접 입력하지 않고, 마우스로 아이콘이나 메뉴를 선택하여 모든 작업을 수행하는 방식 - 선점형 멀티태스킹(Preemptive Multi-Tasking)
동시에 여러 개의 프로그램을 실행하는 멀티 태스킹을 하면서 운영체제가 각 작업의
CPU이용시간을 제어하여 응용 프로그램 실행 중 문제가 발생하면 해당 프로그램을 강제 종료시키고
모든 시스템 자원을 반환하는 방식 - PnP(Plug and Play, 자동 감지 기능)
컴퓨터에 시스템 프린터나 사운드 카드 등의 하드웨어 설치 시
해당 하드웨어를 사용하는데 필요한 시스템 환경을 운영체제가 자동으로 구성해 주는 기능 - OLE(Object Linking and Embedding)
다른 여러 응용프로그램에서 작성된 문자나 그림 등의 개체(Object)를
현재 작성중인 문서에 자유롭게 연결(Linking)하거나 삽입(Embedding)하여 편집할 수 있게 하는 기능 - 파일명 최대 255자
- Single-User 시스템
컴퓨터 한 대를 한 사람이 독점하여 사용
- UNIX
- AT&T 벨 연구소, MIT, General Electric이 공동 개바한 운영체제
- 시분할 시스템(Time Sharing Syste)을 위해 설계된 대화식 운영체제
- 대부분 C언어로 작성되어있어 이식성 ↑, 장치/프로세스 간의 호환성 ↑
- 다중사용자(Multi-User) , 다중 작업(Multi-Tasking) 지원
- 트리(Tree)구조의 파일 시스템
- 커널(Kernel)
유닉스의 핵심부분
하드웨어를 보호하고, 프로그램과 하드웨어간의 인터페이스 역할을 담당
프로세스(CPU 스케줄링)관리, 기억장치 관리, 파일 관리, 입.출력 관리 등 여러가지 기능 수행 - 쉘(Shell)
사용자의 명령어를 인식하여 프로그램을 호출하고 명령하을 수행하는 명령어 해석기
시스템과 사용자간의 인터페이스 담당
종류 : Bourne Shell, C Shell, Korn Shell - 유틸리티 프로그램(Utility Program)
일반사용자가 작성한 응용 프로그램 처리 시 사용
DOS에서의 외부 명령어에 해당
종류: 에디터, 컴파일러, 인터프리터, 디버거
- LINUX
- 리누스 토발즈가 UNIX를 기반으로 개발한 운영체제
- 소스코드가 무료로 공개되어 있기 때문에 프로그래머가 원하는 기능 추가 가능
- UNIX와 완벽하게 호환
- MacOS
- 애플(Apple)사가 UNIX를 기반으로 개발한 운영체제
- iMac과 MacBook 등 애플 사에서 생산하는 제품에서만 사용 가능
- 드라이버 설치 및 install/Uninstall 과정이 단순
- Android
- Google사에서 개발한 리눅스 커널 기반의 개방형 모바일 운영체제
- 모든 코드가 공개된 개방형 소프트웨어
- Java,Kotlin으로 애플리케이션을 작성함
- 스마트폰 등의 휴대용 장치에서 주로 사용
- iOS
- 애플사에서 개발한 유닉스 기반의 모바일 운영체제
- 애플사 고유의 모바일 운영체제로 타사 제품은 iOS를 탑재할 수 없음
'정보처리기사' 카테고리의 다른 글
기억장치 (1) | 2023.07.18 |
---|---|
12장 제품 소프트웨어 패키징 : 버전 관리, 빌드 자동화 도구 (0) | 2023.07.16 |
12장 제품 소프트웨어 패키징 (0) | 2023.07.15 |