정보과학/운영체제특론14 공개 소프트웨어와 리눅스 산업 전망에 대해서 1. 서론 공개 소프트웨어와 리눅스에 대해서 먼저 리눅스의 GNU프로젝트와 리눅스 개발 정신의 확산, 리눅스와 윈도우 의 관계, 솔라리스의 소스 오픈에 대한 리눅스와 윈도우 진영의 영향, 그리고 공개소프트웨어와 상용 소프트웨 어의 라이센스 문제를 생각해 보고 결론으로 맺어 봅니다. 2. 토론 ■ 리눅스는 절대 공짜가 아니다? GNU(GNU is Not UNIX) 프로젝트 즉, 모든 사람이 자유롭게 소스를 복사, 배포할 수 있고, 수정할 수 있게 하는 OS를 만들자는 프로젝트를 리차드 스톨만이 시작하고, 그 자유정신을 많은 프로그래머들이 높이 평가하고 그 프로젝트에 동참합니다. 리눅스가 공짜가 아니라는 의미는 리눅스를 사용함으로써 그 자유를 공유할 의무를 가진다는 것입니다. 조금은 철학적이고, 하지만 의미.. 2024. 1. 1. 파일 및 입출력 장치 관리 커널 1. 가상 파일시스템 ․가상 파일시스템(VFS : Virtual File System)은 표준 유닉스 파일시스템이 제공하는 모든 시스템 콜을 처리하는 커널 소프트웨어 계층을 말합니다. 1) 가상 파일시스템의 개념 ․가상 파일시스템(VFS : Virtual File System)은 표준 유닉스 파일시스템이 제공하는 모든 시스템 콜을 처리하는 커널 소프트웨어 계층으로, 애플리케이션 프로그램과 파일시스템 구현 사이의 추상 계층입니다. (1) 가상파일시스템의 개념 ․가상 파일시스템(VFS : Virtual File System)은 표준 유닉스 파일시스템이 제공하는 모든 시스템 콜을 처리하는 커널 소프트웨어 계층으로, 애플리케이션 프로그램과 파일시스템 구현 사이의 추상 계층이다. ․VFS의 장점은 여러 종류의 파.. 2023. 12. 16. 메모리 관리 커널 1. 메모리 주소 지정 ․시스템에서는 메모리에 정보를 저장하기 위해서 메모리 주소 지정이라는 방법을 사용합니다. 1) 메모리 주소 변환 ․프로그래머들은 메모리 주소(memory address)를 단순히 메모리 셀(cell) 내용에 접근하는 방법으로 생각합니다. 그러나 80x86 마이크로 프로세서를 다루려면 세 종류의 주소인 논리 주소, 선형 주소, 물리 주소를 구별할 수 있어야 합니다 . (1) 논리 주소(logical address) ․논리 주소(logical address)는 기계어 명령어에서 피연산자나 명령어의 주소를 지정할 때 사용한다. ․논리 주소는 세그먼트와 세그먼트의 시작부터 실제 주소까지의 거리를 나타내는 오프셋(offset)으로 이루어진다. 즉, 세그먼트 식별자(segment identi.. 2023. 12. 16. 프로세서 관리 커널 2 1. 스케줄링 스케줄링 정책(scheduling policy)이란 새로 실행할 프로세스를 언제, 어떻게 선택할지 결정할 때 사용하는 일련의 규칙을 말합니다. 1) 프로세스 (1) 시불할(time-sharing) 기법 ․리눅스의 스케줄링 정책은 시분할(time-sharing) 기법을 토대로 한다. ․CPU 시간을 슬라이스(slice)로 쪼개고, 실행 가능한 각 프로세스마다 슬라이스를 하나씩 할당하여 프로세스 여러 개를 시간 다중화(time multiplexing) 방식으로 실행한다. ․한 프로세서는 어느 순간이든 한 프로세스만 실행할 수 있다. 현재 실행하고 있는 프로세스가 종료하지 않은 채 프로세스에 부여한 타임 슬라이스(time slice) 즉 퀀텀(quantum)이 만료되면 프로세스 전환이 일어날 수.. 2023. 12. 16. 프로세서 관리 커널 1 1. 프로세스 기초 프로세스(process)는 모든 멀티프로그래밍 운영체제의 필수 개념입니다. 이 프로세스는 태스크(task)와 같은 개념으로 사용되기도 합니다. 본 강의에서는 프로세스와 태스크를 구분하지 않고 사용하도록 하겠습니다. 1) 프로세스 ․프로세스(process)는 모든 멀티프로그래밍(multiprogramming) 운영체제의 필수 개념이다. 운영체제 연구자들은 프로세스를 프로그램의 수행 환경, 스케줄링의 단위, 주소 공간과 제어 흐름의 집합, PCB(Process Control Block)가 존재하는 객체 등 여러 가지로 정의하였다. ․일반적으로는 실행 상태에 있는 프로그램의 인스턴스(instance)로 정의한다. -프로그램(program)은 디스크에 실행 가능한 형태로 저장되어 있는 기계어.. 2023. 12. 13. 임베디드 시스템과 리눅스 1. 임베디드 시스템의 개요 ․임베디드 시스템(embedded system)이란 미리 정해진 특정한 기능들을 수행하기 위하여 컴퓨터의 하드웨어와 소프트웨어가 서로 조합된 제어 시스템으로 마이크로프로세서 기반 디지털 시스템을 의미합니다. 1) 임베디드 시스템 개요 일반적으로 보다 큰 시스템의 일부이거나 독립된 시스템으로서 특별한 업무를 수행하거나 사용자가 임의로 정한 업무를 수행하기 위한 하드웨어와 소프트웨어를 포함하는 특정한 응용 시스템으로서 하드웨어와 소프트웨어의 구성 변경이 매우 어려운 시스템을 임베디드 시스템이라고 합니다. (1) 임베디드 시스템의 개념 ․임베디드 시스템(embedded system)이란 미리 정해진 특정한 기능들을 수행하기 위하여 컴퓨터의 하드웨어와 소프트웨어가 서로 조합된 전자 .. 2023. 12. 13. 이전 1 2 3 다음