운영체제의 개요 과목: 운영체제 학번: 200412115 이름: 조장호
1.1 개요 운영체제는 사용자와 컴퓨터 하드웨어 사이에서 인터페이스(Interface) 역할을 하는 시스템 프로그램이다 사용자 관점에서는 컴퓨터 시스템을 편리하게 이용할 수 있게 해주고 컴퓨터 하드웨어를 효율적으로 이용하여 사용자가 컴퓨터 시스템을 충분히 활용할 수 있게 해주는 시스템 프로그램이다 시스템 관점에서는 한정된 시스템 자원(Resource)을 효율적으로 사용할 수 있도록 관리하고 운영하게 하여 시스템의 효율성을 높이고자 하는 시스템 프로그램이다
운영체제(OS)의 기능 프로세스 관리, 메모리 관리, 주변자치 관리, 파일 관리, 디스크 관리 응용 프로그램들과의 인터페이스를 정의하는 기능 응용 프로그램 사이에 시스템 자원을 공동으로 사용할 수 있게 하는 기능 (자원관리) 입출력과 네트워크 통신을 보조 하는 기능 시스템의 작동을 모니터링 하여 오류의 발생을 탐지하고 처리하는 기능 응용 소프트웨어를 위한 서비스 제공 및 실행
1.2 다중프로그래밍(Multi – Programming) 입출력 장치의 속도가 처리기에 비해 느리기 때문에 단순 일괄처리 운영체제를 통해 작업 처리 순서가 자동으로 결정되더라도 처리기가 자주 유휴 상태에 있을 수 있다. 이를 해결하기 위해 한 작업이 입출력을 대기해야 할 때, 입출력을 대기할 것 같지 않은 다른 작업으로 처리기의 제어를 넘기는 다중프로그래밍(multiprogramming) 또는 다중태스킹(multitasking) 기법이 사용되었다. 이는 처리기 이용률의 최대화를 목적으로 한다.
1.3 시분할 시스템(Time – Sharing) ☆ 하나의 컴퓨터 시스템을 복수의 사용자가 동시에 대화식으로 사용하는 이용 형태 다중 프로그램 일괄처리 시스템은 사용자의 대화식 작업을 지원하지 않는다. - 긴 작업 반환 시간(Job Turnaround Time) 사용자의 반응 시간이 느리기 때문에 일반적으로 분당 2초 정도만이 실제 처리시간으로 이용한다. 최적의 경우에 분당 30명의 사용자가 시스템을 공유할 수 있다. 시분할 시스템은 다수의 대화식 작업을 지원하기 위하여 다중 프로그래밍 방식을 확장한 시스템이다. 다수의 사용자들이 프로세서 시간을 공유하도록 한다 Time Slice : 하나의 작업이 프로세서를 점유하는 시간 - 짧은 반응 시간(Respone Time) 다수의 사용자가 터미널에서 동시에 시스템을사용할 수 있다(대화식 작업 수행)
1.4 하드웨어(Hardware) 컴퓨터의 본체, 모니터, 키보드,마우스 등 컴퓨터 시스템을 구성하는 모든 기계적인 장치 중앙처리장치(제어, 연산) 주기억장치,보조기억장치,입력장치,출력장치
1.5 소프트웨어(software) 시스템 소프트웨어 컴퓨터를 기본적으로 작동시키는데 필요한 프로그램이나 사용자가 컴퓨터를 효율적으로 사용하는데 필요한 프로그램을 말하는 것으로 운영 체제(Operating System), 언어 프로그램, 유틸리티 등이 포함됨 제어 프로그램과 처리 프로그램 제어 프로그램 : 감시 프로그램, 작업 관리 프로그램, 데이터 관리 프로그램 처리 프로그램 : 문제를 해결프로그램, 언어 번역 프로그램, 서비스 프로그램
1.5 소프트웨어(software) 소프트웨어의 분류 상용 소프트웨어 돈을 주고 구매하여 사용하는 프로그램으로 허가 없이 사용하면 안 됨 공개 소프트웨어 (Freeware) 개발자가 소스를 공개한 프로그램으로 무료로 사용할 수 있음 셰어웨어 (Shareware) 일정 기간이나 일정한 기능을 무료로 사용할 수 있는 프로그램 베타 버전 (Beta Version) 정식 버전이 출시되기 전 프로그램에 대한 일반인의 평가를 받기위해 제작한 프로그램 패치 프로그램 (Patch) 프로그램의 일부분을 수정하여 기능을 향상시켜 주는 프로그램
1.5 소프트웨어(software) 프로그래밍 언어 저급 언어(Low Level Language) 기계어 (Machine Language) 컴퓨터가 직접 이해할 수 있는 코드화 된 언어 0과 1의 2진수 형태 어셈블리어 (Assembly Language) 2진수로 이루어진 기계어에 1:1로 대응하는 기호로 이루어진 언어 어셈블러(Assembler)라는 번역기가 필요 고급 언어(High Level Language) BASIC 대화형 고급 프로그래밍 언어 FORTRAN 과학 계산용 프로그래밍 언어 COBOL 사무 처리용 언어로 영어 문장의 형태로 프로그램을 작성 C 언어 비트 연산이 가능하고 UNIX 운영 체제를 개발하는 데 사용되었음 저급 언어와 고급 언어의 특징을 모두 가지고 있어 중급 언어라고도 함 C++ C 언어에 객체 지향을 적용한 언어 JAVA 객체 지향 언어로 네트워크 환경에서 분산 작업이 가능하도록 설계
1.6 컴퓨터의 종류 개인용 컴퓨터(Personal Computer) 가장 일반적으로 사람들이 자주 쓰는 컴퓨터. 주로 개인용 컴퓨터는 Intel 계열의 마이크로프로세서를 사용하고 Windows 계열을 주로 운영체제로 씀. 모토롤라 계열의 마이크로프로세서를 쓰는 매킨토시 컴퓨터도 있음. 워크스테이션(Workstation) UNIX를 주로 운영체제로 사용하지만 Windows NT를 운영체제로 쓰는 예도 많음. 워크스테이션의 성능은 개인용 컴퓨터와 메인 프레임 컴퓨터 중간 수준. 고속 연산을 요하는 그래픽 분야, 시뮬레이션 분야 등에 사용. 메인프레임 컴퓨터(Mainframe Computer) 초당 명령어를 수백만 번 처리 주기억장치 용량이 수백 mega bytes에서 수 gigabytes 디스크 용량이 수백 기가바이트
1.6 컴퓨터의 종류 슈퍼 컴퓨터(Supercomputer) 고속과학연산, 시뮬레이션 등에 쓰는 컴퓨터 초당 수십억번의 명령을 처리 영화의 특수 효과, 자동차 디자인 등에 사용 데스크탑(Desktop) 책상 위에 놓고 쓰는 컴퓨터 필요한 장치를 쉽게 추가할 수 있음. 노트북(Notebook) 컴퓨터를 필요에 따라 들고 다닐 수 있음 포터블 컴퓨터(Portable Computer)로 분류
1.6 컴퓨터의 종류 팜탑 컴퓨터(Palmtop) 손바닥 위에 올려 놓고 쓸 수 있을 만큼 작은 컴퓨터 키보드가 아니라 펜을 써서, 액정 위에 터치스크린으로 입력 PDA(Personal Digital Assistant) 손에 들어갈 정도의 작은 크기, 가벼움, 무선통신 등의 강점을 보임 문자, 숫자, 그래픽 등의 정보를 무선으로 송수신 가능 언제 어디서나 정보검색, 신용카드결제, 메일이나 팩스의 송수신까지 가능 사용범위가 매우 넓으며 점점 더 노트북에 가까운 성능을 보임